MSFN Forum: SED, INF, DDF file format description - MSFN Forum

Jump to content


  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

SED, INF, DDF file format description Rate Topic: -----

#41 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 11 October 2006 - 04:41 PM

View PostMDGx, on Jul 7 2005, 03:03 AM, said:

Petr, Gape, Tihiy + other developers, you might find this useful:

somebody made a small GUI tool [works with all Win9x/ME editions, even if it is meant for NTx] which converts REG files into INF files [GNU GPL open source]:
http://www.paraglidernc.com/12142.html
ConvRegToInf is designed specifically for Bart's PEBuilder tool [works only with NTx OSes]:
http://www.nu2.nu/pebuilder/
Download ConvRegToInf [11 KB]:
http://www.paraglide...vRegToInf02.zip
ConvRegToInf requires NFR 1.0 or newer already installed:
http://msdn.microsoft.com/netframework/dow...s/framework1_1/


The INF-Tool found at the following site can also convert REG files into INF files AND does NOT require .NET Framework and can work under Win9xME and WinNTx OSes.
http://www.inner-smile.com/dl_inf.htm
the "lite" version of INF-Tool is free for personal use


#42 User is offline   MDGx 

  • 98SE2ME + 98MP10
  • Group: Super Moderator
  • Posts: 2,678
  • Joined: 22-November 04
  • OS:none specified
  • Country: Country Flag

Posted 12 October 2006 - 09:59 AM

erpdude8, on Oct 11 2006, 10:54 AM, said:

MDGx, I have noticed recently that some of the unofficial patches for Win9xME have been created or revised from version 6.00.2800.1168 of wextract.exe. where can this specific version be found?
Petr posted it here:
http://www.msfn.org/board/?s=&showtopi...st&p=560359

Thanks for the INF-tool.

This post has been edited by MDGx: 12 October 2006 - 10:00 AM


#43 User is offline   Petr 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 981
  • Joined: 15-April 05
  • OS:98SE
  • Country: Country Flag

Posted 20 October 2006 - 04:43 PM

I'm trying to understand how combined updates work, i.e. one packege for 98 Gold + 98 SE, or one package for 95 Gold, 95 OSR2 and 95 OSR 2.x but I'm lost a bit.

An example for Windows 95. The controlling 175086up.inf executed by the WEXTRACT contains:
[DefaultInstall]
RunPreSetupCommands	= Win95.Ver.Check, OSR2.Ver.Check, OSR21.Ver.Check

[Win95.Ver.Check]
"rundll32 advpack.dll,LaunchINFSection 95G_chk.inf,DefaultInstall,2,N"

[OSR2.Ver.Check]
"rundll32 advpack.dll,LaunchINFSection OSR2_chk.inf,DefaultInstall,2,N"

[OSR21.Ver.Check]
"rundll32 advpack.dll,LaunchINFSection OSR21chk.inf,DefaultInstall,2,N"


What mean "2,N" flags here? http://msdn.microsoft.com/workshop/deliver...hinfsection.asp seems not to describe them.

But OK, in general it means that all three infs (95G_chk.inf, OSR2_chk.inf, OSR21chk.inf) are executed.

What they contain interesting: 95G_chk.inf
[DefaultInstall]
CustomDestination	= 95GonlyDestination

[95GonlyDestination]
49000 = W95GonlyReg, 54

[W95GonlyReg]
"HKLM",%Osr2Key%,%Osr2Val%,"",""
"","","","",""

[Strings]
Osr2Key 		= "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
Osr2Val 		= "DeskMgmt"

Osr2_chk.inf contains:
[DefaultInstall]
CustomDestination	= OSR2onlyDestination

[OSR2onlyDestination]
49001 = OSR2XonlyReg, 22
49002 = OSR2onlyReg, 54

[OSR2XonlyReg]
"HKLM",%Osr2Key%,%Osr2Val%,"",""
"","","","",""

[OSR2onlyReg]
"HKLM",%Osr21Key%,%Osr21Val%,"",""
"","","","",""

[Strings]
Osr2Key 		= "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
Osr2Val 		= "DeskMgmt"
OSR21Key 		= "System\CurrentControlSet\Services\VxD\NTKern"
OSR21Val 		= "StaticVxD"

and Osr21chk.inf contains:
[DefaultInstall]
CustomDestination	= OSR21onlyDestination

[OSR21onlyDestination]
49001 = OSR2XonlyReg, 22
49003 = OSR21onlyReg, 22

[OSR2XonlyReg]
"HKLM",%Osr2Key%,%Osr2Val%,"",""
"","","","",""

[OSR21onlyReg]
"HKLM",%Osr21Key%,%Osr21Val%,"",""
"","","","",""

[Strings]
Osr2Key 		= "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
Osr2Val 		= "DeskMgmt"
OSR21Key 		= "System\CurrentControlSet\Services\VxD\NTKern"
OSR21Val 		= "StaticVxD"


And for Windows 98 (256015 as an example): 256015up.inf contains
[DefaultInstall]
RunPreSetupCommands	= G.Ver.Check
RunPostSetupCommands	= SE.Ver.Check

[G.Ver.Check]
"rundll32 advpack.dll,LaunchINFSection 98G_chk.inf,DefaultInstall,2,N"

[SE.Ver.Check]
"rundll32 advpack.dll,LaunchINFSection 98SE_chk.inf,DefaultInstall,2,N"
so again both INFs are executed.
98G_chk.inf contains:
[DefaultInstall]
CustomDestination	= 98SEonlyDestination

[98SEonlyDestination]
49000 = W98SEonlyReg, 50

[W98SEonlyReg]
"HKLM",%98SEKey%,%98SEVal1%,"",""
"","","","",""

[Strings]
98SEKey			= "Software\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
98SEVal1		= "ICS"


98SE_chk.inf contains:
[DefaultInstall]
CustomDestination	= 98SEonlyDestination

[98SEonlyDestination]
49000 = W98SEonlyReg, 22 

[W98SEonlyReg]
"HKLM",%98SEKey%,%98SEVal1%,"",""
"","","","",""

[Strings]
98SEKey			= "Software\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
98SEVal1		= "ICS"


Apparently the logic is:
For Windows 95, if value DeskMgmt does not exist, it is Windows 95 Gold (4.00.950), if it exists, but StaticVxD does not exist, it is OSR2 (4.00.1111) and if StaticVxD exists, it is OSR2 with USB supplement, i.e. OSR2.1 or OSR2.5 (4.00.1212 or 4.03.1214).
For Windows 98, if value ICS does not exist, it is Windows 98 Gold (4.10.1998), if it exists, it is Second Edition (4.10.2222).

The only information I was able to find for meaning of the number at the end of the lines in Destionation sections is here: http://www.mdgx.com/...eb/custdest.htm but there is just
1=prompt user
5=no prompt
but what means 22, 50 and 54?

And how this exactly works?

BTW, is there any way how to force (ADVPACK?) to create the installation log? Something like is visible here for wmp11: http://forums.techar...ad.php?t=513853

Petr

#44 User is offline   ale5000 

  • Divoratore di anime
  • Group: Members
  • Posts: 48
  • Joined: 13-December 06
  • OS:none specified
  • Country: Country Flag

Posted 16 December 2006 - 08:58 AM

Is it possible check when the program is already installed (to prevent double installation) for example to stop setup if a file already exist or if registry key already exist?

#45 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 22 December 2006 - 10:38 AM

View PostPetr, on Oct 20 2006, 05:43 PM, said:

BTW, is there any way how to force (ADVPACK?) to create the installation log? Something like is visible here for wmp11: http://forums.techar...ad.php?t=513853

Petr


not sure. I know under my WinME computer, it creates or appends the AdvpackExt.log and setupapi.log files in the WINDOWS folder when running or using the ADVPACK.DLL file. I'm not sure how "advpack logging" is enabled under ME.

This post has been edited by erpdude8: 22 December 2006 - 10:43 AM


#46 User is offline   ale5000 

  • Divoratore di anime
  • Group: Members
  • Posts: 48
  • Joined: 13-December 06
  • OS:none specified
  • Country: Country Flag

Posted 22 December 2006 - 08:59 PM

There is a way to check from the setup or from the inf file if a registry key already exist?

#47 User is offline   ShadeTreeLee 

  • Junior
  • Pip
  • Group: Members
  • Posts: 81
  • Joined: 19-February 07

Posted 19 February 2007 - 05:55 AM

View PostPetr, on Oct 20 2006, 03:43 PM, said:

BTW, is there any way how to force (ADVPACK?) to create the installation log? Something like is visible here for wmp11: http://forums.techar...ad.php?t=513853

Petr


I don't know where I picked this up at but if you will merge the following reg file it will turn on Advpack logging in Win98se. The log file itself will land in the Windows folder the next time advpack.dll is used. The file gets appended to each time, so eventually can grow quite big.

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Advanced INF Setup]
"AdvpackLogFile"="AdvPack.log"

The same type of thing gets done with SetupAPI.log file if one substitutes ME's setupapi.dll for win98's. I didn't notice that any registry entries had any effect, but they may well as per NT5's verbosity settings. I really need to see what the ME registry shows in the following location or thereabouts:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup]
"LogLevel"=dword:2000ffff
The above value was suggested by an MS document on the verbosity settings for setupAPI.log, if the key/value doesn't exist in ME then I guess I really don't need it after all with my 98se?

---------------------
Question on Custom Destination flags is somewhat answered in WillPad's help file with a 34 flag example where a Path key is set and then if the installation package has run again the second attempt is aborted which answers in a round about manner another question in this very thread. Trouble is WillyPad help file is not very clear at times like this one, nor is this section complete as to all possible flag uses.
WillyPad

---------------------
2,N flags for invoked advpack.dll are obscure at best. So I loaded advpack.dll using Dependency walker, then highlighted LaunchINFSectionEx, then right clicked something IIRC and a web search at msdm occured which got some of this text: NOTE that the 2 flag is still not described by MS at this detailed level!!!

LaunchINFSectionEx Function Internet Development Index


Launches a section of an information (INF) file.

Syntax

HRESULT WINAPI LaunchINFSectionEx( HWND hwnd,
HINSTANCE hInst,
PSTR pszParams,
INT nShow
);
Parameters

hwnd
HWND that specifies the owner window on which to display error messages. This parameter is typically NULL, which causes the Desktop to be the owner window.

hInst
Handle to the instance of the program. This parameter is typically NULL.

pszParams
Comma-delimited string that specifies the INF file, the section of the INF file to launch, the fully qualified path of the cabinet file (CAB) that contains the INF file, and the flags that specify the installation mode, in that order. If you do not specify the fully qualified path of the INF file, the INF file is extracted from the specified CAB file. If you do not specify a section, that is, if the section portion of the pszParams string is an empty string or is set to NULL, then the DefaultInstall section of the INF file is launched. The following flags are used to specify the installation mode.
4 Quiet mode, no UI
8 Don't run GrpConv
16 Force self-updating on user's system
32 Backup data before install
64 Rollback to previous state
128 Validate the backup data
256 Complete rollback to previous state
512 Force delay of OCX registration

nShow
Variable of type INT that specifies whether to reboot the user's machine upon completion. Can be one of the following values.
A
Always reboot.
I
Default. Reboot if needed.
N
No reboot.

Return Value
Returns one of the following values.

S_OK The section launched successfully.
E_FAIL The section failed to launch.


Remarks

You can call this function using Rundll32.exe from the command line.

Note Using an entry point function with Rundll32.exe does not resemble a normal function call. The function name and the name of the .dll file where it is stored are used only as command line parameters. The function definition shown in the Syntax section of this topic is only a standard prototype for all functions that you can call using Rundll32. The specific values for hwnd and hInst are not provided by the user, but are handled behind the scenes by Rundll32.
Examples

The following examples demonstrate how to call the LaunchINFSectionEx function using Rundll32.
This example demonstrates how to extract the myinf.inf INF file from the c:\temp\mydata.cab CAB file in Quiet|Backup mode, and reboot if needed.

rundll32.exe advpack.dll,LaunchINFSectionEx myinf.inf,,c:\temp\mydata.cab,36
This example demonstrates how to roll back to the state before the myinf.inf INF file was installed.

rundll32.exe advpack.dll,LaunchINFSectionEx c:\windows\inf\myinf.inf,,,256,a
Function Information

Stock Implementation advpack.dll
Custom Implementation No
Import library None
Minimum availability Internet Explorer 5.01
Minimum operating systems Windows 2000

See Also

About INF File Architecture, Using INF Files

----------------------
As to how combined updates work - your guess is much better than mine and even sounds plausible. But for most of them, I seem to recall there being also custom executables in the package(s) which might do just about what ever they want as far as OS testing and running of named inf files go, so I never bothered to put much brain time onto the problem.

#48 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 26 February 2007 - 09:54 AM

View Postale5000, on Dec 22 2006, 09:59 PM, said:

There is a way to check from the setup or from the inf file if a registry key already exist?


I think there is, ale5000. but nobody has figured that out yet.

i know the Q329048 security update [329048usa8.exe] for Win98/Plus 98 has to check for a certain Plus 98 registry entry for it to install files from the Q329048 update.

anyone care to look at the coding of the Win98 Q329048 patch?

#49 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 05 May 2007 - 01:18 AM

View Postale5000, on Dec 17 2006, 12:58 AM, said:

Is it possible check when the program is already installed (to prevent double installation) for example to stop setup if a file already exist or if registry key already exist?

I was searching this thread for the answer to this *exact* question ... any clues, ideas, links, complete answers handed on a platter?

#50 User is offline   eidenk 

  • MSFN Addict
  • PipPipPipPipPipPipPip
  • Group: Members
  • Posts: 1,527
  • Joined: 28-March 05

Posted 06 May 2007 - 07:49 AM

It's certainly possible to do registry checks from batch files. Maybe the following code will give you some idea. A batch file I had made (using Tfind.com) for toggling view extensions in explorer. (Superceded since a long time by Spiritpyre's toggle extension executable)

@echo off
regedit /e Get.txt "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
TFIND /e "HideFileExt" "dword:00000001" GET.txt > RESULT.TXT
IF ERRORLEVEL   1 GOTO :ERROR1
IF ERRORLEVEL   0 GOTO :ERROR0
:ERROR1
Regedit /s Show.reg
GOTO :END
:ERROR0
Regedit /s Hide.reg
GOTO :END
:END
Del *.txt
cls


For file version check, I guess it is certainly possible to use a command line tool for extracting file versions and use it along a similar line.

Maybe Verinfo : ftp://ftp.sac.sk/pub...og/vrinf100.zip

Edit : Oops I just see that I have been off-topic as this is the thread about inf files.

This post has been edited by eidenk: 06 May 2007 - 08:02 AM


#51 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 06 May 2007 - 08:03 AM

View Posteidenk, on May 6 2007, 11:49 PM, said:

It's certainly possible to do registry checks from batch files. Maybe the following code will give you some idea. A batch file I had made (using Tfind.com) for toggling view extensions in explorer. (Superceded since a long time by Spiritpyre's toggle extension executable)

i was looking for a way to tell the Windows installer to check to see if the INF file i'm just about to install has already been installed. I know how to use a REG file to check to see if something is installed, AP uses that quite a bit, i want to know how to do the exact same thing with an INF file only. We have to be able to back out of the entire installation if the check isn't satisfied, so i can't think how to use a reg file in that way. all i know is how to call it, but the INF still does the rest of the installation regardless of the result of the reg file.

#52 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 24 September 2007 - 08:14 PM

i'm posting this question here as this thread contains lots of INF information ... thanks for any help!

i need some help with INF files ... how can i make sure that the drivers installation is unattended ... in my test system, i have a video card that is not supported by Win98 and setup finds the INF file OK, but then setup asks for all the files the INF file refers to

i know the location that the files will be in, but how do i include this info in the INF file so it can all be unattended?

Thanks in advance ...

i have the "How to Write an INF" guide and its not helping me with this ...

i'm also only modifying an existing driver INF install file so i need to understand how it all works so i can properly modify all the INF files i come across..

This post has been edited by soporific: 25 September 2007 - 02:07 AM


#53 User is offline   ShadeTreeLee 

  • Junior
  • Pip
  • Group: Members
  • Posts: 81
  • Joined: 19-February 07

Posted 25 September 2007 - 04:01 AM

What I would do is to make a cab file containing all the files called for in the driver inf. I would then include the custom "MyVideo.cab" file containing all the driver files in the same folder with all the other Windows installation cab files.

And then add these two sections into the driver.inf file that names the needed files in the Source file list and names the cab file that they are inside of in the Disk name section.
[SourceDisksNames]
55="All in Wonder 128 Driver Disk","MyVideo.cab",0

[SourceDisksFiles]
vspdx.dll=55
vspp2.dll=55
vspp7.dll=55
vspp97.dll=55

55 is a totally arbitrary number often used commonly in inf files - you must use the same number in both sections however. If Windows needs these files it will always ask for the All in Wonder 128 Driver Disk to get those files from. This is how some very confusing prompts get foisted onto the system at times, it's also ripe for the application of humor but that's really going a long way to get a laugh.

Can I take a look at your "how to write an INF" guide and the driver installation package just to be sure the above mod will work out for you? My limited inf knowledge is available via PM if you need but sometimes I don't log on for a week or so. See the CAB SDK for in-depth makecab documentation. I'm thinking the 98 DDK had some info on INF files but I can't find it right now to verify that part at all.

#54 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 25 September 2007 - 04:32 AM

View PostShadeTreeLee, on Sep 25 2007, 08:01 PM, said:

What I would do is to make a cab file containing all the files called for in the driver inf. I would then include the custom "MyVideo.cab" file containing all the driver files in the same folder with all the other Windows installation cab files.

And then add these two sections into the driver.inf file that names the needed files in the Source file list and names the cab file that they are inside of in the Disk name section.
[SourceDisksNames]
55="All in Wonder 128 Driver Disk","MyVideo.cab",0

[SourceDisksFiles]
vspdx.dll=55
vspp2.dll=55
vspp7.dll=55
vspp97.dll=55

55 is a totally arbitrary number often used commonly in inf files - you must use the same number in both sections however. If Windows needs these files it will always ask for the All in Wonder 128 Driver Disk to get those files from. This is how some very confusing prompts get foisted onto the system at times, it's also ripe for the application of humor but that's really going a long way to get a laugh.

Can I take a look at your "how to write an INF" guide and the driver installation package just to be sure the above mod will work out for you? My limited inf knowledge is available via PM if you need but sometimes I don't log on for a week or so. See the CAB SDK for in-depth makecab documentation. I'm thinking the 98 DDK had some info on INF files but I can't find it right now to verify that part at all.


thanks for this ... however, the only thing wrong with your method is that i will want to be deleting all these .cab files after the hardware installation part has finished. I suppose i could use a naming method and then bulk delete on the pattern i choose, but this is still a work-around my ignorance of INF files. i will resort to it if i must, but my preference is to understand the INF file so i can make it do what i want, rather than the otherway round.

Thanks for the help though. See if you can gleen anything from the link ...

how to write an INF

the closet i could find was this:

Quote

SourceDisksFiles

[SourceDisksFiles]
filename=disk-number(,subdir)(,file-size)

Names the source files used during installation and identifies the source disks that contain the files.


so assuming you had the drivers sitting in:
c:\drivers\video
in your example this would be :
[SourceDisksNames]
55="All in Wonder 128 Driver Disk","MyVideo.cab",0

[SourceDisksFiles]
vspdx.dll=55,c:\drivers\video
vspp2.dll=55,c:\drivers\video
vspp7.dll=55,c:\drivers\video
vspp97.dll=55,c:\drivers\video


but i have no idea about syntax and i've just about run out of blank CDs and i'm not getting any more soon due to extreme poverty. :( (i'll survive ;) )

This post has been edited by soporific: 25 September 2007 - 04:35 AM


#55 User is offline   MDGx 

  • 98SE2ME + 98MP10
  • Group: Super Moderator
  • Posts: 2,678
  • Joined: 22-November 04
  • OS:none specified
  • Country: Country Flag

Posted 25 September 2007 - 09:34 AM

soporific, on Sep 25 2007, 04:32 AM, said:

[SourceDisksFiles]
vspdx.dll=55,c:\drivers\video
vspp2.dll=55,c:\drivers\video
vspp7.dll=55,c:\drivers\video
vspp97.dll=55,c:\drivers\video
Syntax:

[SourceDisksFiles]
vspdx.dll=55,30,drivers\video
vspp2.dll=55,30,drivers\video
vspp7.dll=55,30,drivers\video
vspp97.dll=55,30,drivers\video

This should also work [ok under Win98 + 98 SE but not under WinME (?)]:

[SourceDisksFiles]
vspdx.dll=55,31,drivers\video
vspp2.dll=55,31,drivers\video
vspp7.dll=55,31,drivers\video
vspp97.dll=55,31,drivers\video

FYI:
Valid LDIDs for use in INF files:
http://www.mdgx.com/...eb/destdirs.htm

HTH

#56 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 25 September 2007 - 07:11 PM

View PostMDGx, on Sep 26 2007, 01:34 AM, said:

Syntax:

[SourceDisksFiles]
vspdx.dll=55,30,drivers\video
vspp2.dll=55,30,drivers\video
vspp7.dll=55,30,drivers\video
vspp97.dll=55,30,drivers\video

This should also work [ok under Win98 + 98 SE but not under WinME (?)]:

[SourceDisksFiles]
vspdx.dll=55,31,drivers\video
vspp2.dll=55,31,drivers\video
vspp7.dll=55,31,drivers\video
vspp97.dll=55,31,drivers\video

It's not working ...

This is the INF file i'm trying to adjust:

 
; INF file for SiS530 VGA display driver.
; Copyright 1998, Silicon Integrated Systems Corporation

[version]
Class=DISPLAY
signature="$CHICAGO$"
Provider=%Mfg%
CatalogFile=sis530.cat
DriverVer=06/22/1999, 4.11.01.1050

[DestinationDirs]
DefaultDestDir=11
Driver.Copy = 11
Inf.Copy=17
Inf.Delete=17
Setuplib.Copy=11
OEMROM.Copy=30
ICD.Delete=11

[SourceDisksNames]
1=,,0

[SourceDisksFiles]
sis530v.drv=1
sis530v.vxd=1
dd530.dll=1
dd530_32.dll=1
sis530v.inf=1
setuplib.dll=1
oemrom.bin=1
sis530.cat=0,,920

[Manufacturer]
%Mfg%=Mfg

[Mfg]
%PCI\VEN_1039&DEV_6306.DeviceDesc%=Driver.Install, PCI\VEN_1039&DEV_6306&SUBSYS_63061039
%PCI\VEN_1039&DEV_6306.DeviceDesc%=Driver.Install, PCI\VEN_1039&DEV_6306

;----------------------------------------
; for .inf setup
[Driver.Install]
DelFiles=ICD.Delete
CopyFiles=Driver.Copy, Inf.Copy, OEMROM.Copy
DelReg=Prev.DelReg1, Prev.DelReg2
AddReg=Driver.AddReg1, Driver.AddReg2
UpdateInis=MMPower.UpdateInis

[SystemIni.Update]
%10%\System.ini,boot,,"display.drv=sis530v.drv",0

[SystemIni.Restore]
%10%\System.ini,boot,,"display.drv=pnpdrvr.drv",0

[MMPower.UpdateInis]
%10%\System.ini,386Enh,,"EMMExclude=C000-CFFF",0

; for setup.exe
[Setup.DriverCopy]
DelFiles=ICD.Delete
CopyFiles=Driver.Copy, Inf.Copy, Setuplib.Copy, OEMROM.Copy

; for setup.exe
[Setup.Registry]
DelReg=Prev.DelReg1, Prev.DelReg2
AddReg=Driver.AddReg1, Driver.AddReg2
UpdateInis=MMPower.UpdateInis

; for package uninstall
; don't rename this section
[P.U]
UpdateInis=SystemIni.Restore
DelReg=Prev.DelReg1, Prev.DelReg2, Uninstall.DelReg
AddReg=Driver.Standard
DelFiles=Driver.Copy, Inf.Copy, OEMROM.Copy

; for driver uninstall
[Driver.Uninst]
UpdateInis=SystemIni.Restore
DelReg=Uninst.DelReg, Prev.DelReg1, Prev.DelReg2
AddReg=Driver.Standard
DelFiles=Driver.Copy, Inf.Copy, OEMROM.Copy
;----------------------------------------

[Driver.Copy]
sis530v.drv
sis530v.vxd
sis530v.inf
dd530.dll
dd530_32.dll

; for setup.exe
[Setuplib.Copy]
setuplib.dll

[OEMROM.Copy]
oemrom.bin

[Prev.DelReg1]
HKR,"Customer Modes"
HKCU,"Software\Silicon Integrated System Corp."

[Prev.DelReg2]
HKR,,Ver
HKR,,DrvVer
HKR,,ProviderName
HKR,,DevLoader
HKR,,DriverVersion
HKR,DEFAULT
HKR,MODES
HKR,INFO
HKR,2D
HKR,3D

[Inf.Copy]
sis530v.inf

[Inf.Delete]
sis530v.inf

[ICD.Delete]
glsis326.dll

; for standard VGA recovery
[Driver.Standard]
HKR,,Ver,,4.0
HKR,,DriverDesc,,"Standard PCI Graphics Adapter [VGA]"
HKR,,ProviderName,,"Microsoft"
HKR,,DevLoader,,*vdd
HKR,,DriverDate,,"12-8-1997"
HKR,,InfPath,,"MSDISP.INF"
HKR,,InfSection,,"VGA"
HKR,,MatchingDeviceId,,"PCI\CC_0300"

HKR,DEFAULT,Mode,,"4,640,480"
HKR,DEFAULT,drv,,vga.drv
HKR,DEFAULT,vdd,,"*vdd"

HKR,"MODES\1\640,480",drv,,framebuf.drv
HKR,"MODES\1\640,480",vdd,,"*vdd,*vflatd"
HKR,"MODES\4\640,480",drv,,vga.drv

[Driver.AddReg1]
HKR,2D,Driving,,1
HKR,2D,CheckDDC,,1
HKR,3D,AGP,1,1
HKR,3D,3DP,1,1
HKR,PanelLink,ModuleName,,"sis53dfp.dll"

HKR,2D,OEMSetup,,"0"
HKR,2D,BI0,,"1"
HKR,2D,BI1,,"2"
HKR,2D,BI2,,"2"
HKR,2D,BI3,,"2"
HKR,2D,BI4,,"1"

HKR,2D,BI01,,"60,72,75,85,100,120,160,200"
HKR,2D,BI03,,"60,72,75,85,100,120,160,200"
HKR,2D,BI05,,"60,72,75,85,100,120,160,200"

HKR,2D,BI11,,"56,60,72,75,85,100,120,160"
HKR,2D,BI13,,"56,60,72,75,85,100,120,160"
HKR,2D,BI15,,"56,60,72,75,85,100,120,160"

HKR,2D,BI21,,"43,60,70,75,85,100,120"
HKR,2D,BI23,,"43,60,70,75,85,100,120"
HKR,2D,BI25,,"43,60,70,75,85,100,120"

HKR,2D,BI31,,"43,60,75,85"
HKR,2D,BI33,,"43,60,75,85"
HKR,2D,BI35,,"43,60,75,85"

HKR,2D,BI41,,"60,65,70,75,85"
HKR,2D,BI43,,"60,65,70,75,85"
HKR,2D,BI45,,"60,65,70,75,85"

[Driver.AddReg2]
HKR,,Ver,,4.0
HKR,,DrvVer,,"1.05.50"
HKR,,ProviderName,,"Silicon Integrated Systems Corporation"
HKR,,DevLoader,,*vdd
HKR,DEFAULT,Mode,,%DefaultMode%
HKR,DEFAULT,drv,,sis530v.drv
HKR,DEFAULT,drv2,,sis530v.drv
HKR,DEFAULT,vdd,,"*vdd"
HKR,DEFAULT,minivdd,,sis530v.vxd
HKR,DEFAULT,minivdd2,,sis530v.vxd
HKR,DEFAULT,RefreshRate,,-1
HKR,DEFAULT,DDC,,1
HKR,DEFAULT,repost,,1
HKR,INFO

HKR,"MODES\4\640,480",drv,,vga.drv
HKR,"MODES\4\640,480",vdd,,*vdd

HKR,"MODES\8\640,480",,,"60,72,75,85"
HKR,"MODES\8\800,600",,,"56,60,72,75,85"
HKR,"MODES\8\1024,768",,,"60,70,75,85"
HKR,"MODES\8\1280,1024",,,"43,75,60,85"
HKR,"MODES\8\1600,1200",,,"60,65,70,75"

HKR,"MODES\16\640,480"
HKR,"MODES\16\800,600"
HKR,"MODES\16\1024,768"
HKR,"MODES\16\1280,1024"
HKR,"MODES\16\1600,1200"

HKR,"MODES\32\640,480"
HKR,"MODES\32\800,600"
HKR,"MODES\32\1024,768"
HKR,"MODES\32\1280,1024"
HKR,"MODES\32\1600,1200"

; remove driver uninstall entry
[Uninst.DelReg]

; Don't remove or rename this section, used by setup.exe
; command will be generated by setup.rul automatically
[Uninstall.DelReg]

[Strings]
Mfg="SiS"
PCI\VEN_1039&DEV_6306.DeviceDesc="SiS 530"
Desktop="Desktop"
DefaultMode="16,800,600"
 


I have tried adjusting it to:

[SourceDisksNames]
55="Sis Video Drivers",,0

[SourceDisksFiles]
sis530v.drv=55,30,drivers\video
sis530v.vxd=55,30,drivers\video
dd530.dll=55,30,drivers\video
dd530_32.dll=55,30,drivers\video
sis530v.inf=55,30,drivers\video
setuplib.dll=55,30,drivers\video
oemrom.bin=55,30,drivers\video
sis530.cat=0,,920

and i've also tried

sis530v.drv=55,31,drivers\video
etc

and it doesn't work. Setup still wants to know where the files are !! Grrrrr.... INF files give me grey hairs !!! Actually they are albino white.

#57 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 26 September 2007 - 05:04 AM

Eureka !!!!

I've cracked this wide open.

Ok, we still had to work out how to tell SETUP where the files listed in the INF were located. The way to do it is this ...

1) we are launching setup from the hard drive, so we create a folder under the setup folder called "drivers" (or whatever)

and then in each INF file, we change the following

[SourceDisksFiles]
sis530v.drv=55
sis530v.vxd=55
sis530v.inf=55


to

[SourceDisksFiles]
sis530v.drv=55,drivers
sis530v.vxd=55,drivers
sis530v.inf=55,drivers


and we dump all the drivers into <setup folder>\drivers

This method also uses the addition to MSBATCH.INF of

[OEMDrivers]
; Add additional driver paths for OEM specific drivers
; Ensure each entry is separated by a semi-colon
;
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","OtherDevicePath",,"<drivers path>"

That's it.

I will post a full set of instructions at a later stage, but the above should give you the gist of it.

Thanks to everyone who posted but especially SubMix8c and MDGx who provided the crucial elements!

#58 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 01 December 2007 - 05:39 PM

drat! "TargetFileVersion=@FileSectionList" doesn't work anymore. Anytime I try to create a package with this in the SED file with IEXPRESS it either crashes or generates an error message "SED Syntax Error in TargetFileVersion= Line" when I click the Next button and I can't continue on with creating a self extracting package. what gives?

This post has been edited by erpdude8: 01 December 2007 - 05:45 PM


#59 User is offline   the_guy 

  • Creator of the Windows ME Service Pack
  • PipPipPipPipPip
  • Group: Members
  • Posts: 914
  • Joined: 15-July 05
  • OS:ME
  • Country: Country Flag

Posted 01 December 2007 - 05:42 PM

It works for me.

Can you upload the sed file that's causing trouble and what version of iexpress.exe are you using?

the_guy

#60 User is offline   gerislamico 

  • The Trident: Chori ,Treze and CaveGol
  • Pip
  • Group: Members
  • Posts: 85
  • Joined: 09-November 10
  • OS:98SE
  • Country: Country Flag

  Posted 07 February 2012 - 07:35 PM

I share with you a personal batch to generate SLAYOUT1.INF and SLAYOUT2.INF for Win98SE SP3
Is a modding to Petr http://www.msfn.org/...post__p__522974

1º Creating work folder
2º Unzip in the working folder SP3.CAB WIN95.CAB, IEX.CAB and SUPP.CAB to identicaly name "SP3 WIN95, IEX, and SUPP"
2º Make changes
4º Creating with notepad or similar batch file into work folder
5º Execute batch
6º Copy new generated SLAYOUT1.INF, SLAYOUT2.INF, SP3.CAB, IEX.CAB, WIN95.CAB and SUPP.CAB

Note1: Find new files in a "New" folder within the working
Note2: Build Complementary Soon the CAB, with the Build U98SESP3, all in one

:: Builder for U98SESP3
:: 1.00 Created base for Petr
:: 1.01 Add SUPP/CAB Legend by Gerislamico
:: 1.02 Add Detect Windows by Gerislamico
:: 1.03 Add IEX.CAB Automatized by Gerislamico
:: 1.04 Add WIN95.CAB Automatized by Gerislamico
:: http://www.msfn.org/board/topic/49202-sed-inf-ddf-file-format--description/page__view__findpost__p__522974 
::
@echo off
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º Automatic Builder files for Windows 98SE Service Pack 3 º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
:: Detect Windows
VER > %TEMP%.\T1.DAT
FIND "MS-DOS" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto BadOs
FIND "Windows 95" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto W9X
FIND "Windows 98" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto W9X
FIND "Windows ME" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto W9X
FIND "Windows 2000" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto WNT
FIND "Windows XP" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto WNT
FIND "Windows Vista" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto BadOs
FIND "Windows 7" < %TEMP%.\T1.DAT > nul
if not errorlevel=1 goto BadOs
:W9X
SET MAC=%windir%\system
goto PROCESS
:WNT
SET MAC=%windir%\system32
goto PROCESS
:BadOs
echo  Os incompatible
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
goto EXIT
:PROCESS
echo  Listing files [SP3 Critical Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo .Set CabinetNameTemplate=New\SP3.CAB >SP3.ddf
echo .Set Compress=on >>SP3.ddf
echo .Set CompressionType=LZX >>SP3.ddf
echo .Set CompressionLevel=7 >>SP3.ddf
echo .Set CompressionMemory=21 >>SP3.ddf
echo .Set RptFileName=SP3.RPT >>SP3.ddf
echo .Set MaxDiskSize=CDROM >>SP3.ddf
echo .Set ReservePerCabinetSize=0 >>SP3.ddf
echo .Set DiskDirectoryTemplate= >>SP3.ddf
echo .Set Cabinet=ON >>SP3.ddf
echo .Set MaxCabinetSize=999999999 >>SP3.ddf
echo .Set InfFileName=New\SLAYOUT1.INF >>SP3.ddf
echo .Set InfHeader= >>SP3.ddf
echo .Set InfDiskHeader=";Auto generated file - do not edit!" >>SP3.ddf
echo .Set InfDiskHeader1=[Version] >>SP3.ddf
echo .Set InfDiskHeader2=Signature="$CHICAGO$" >>SP3.ddf
echo .Set InfDiskHeader3=SetupClass=BASE >>SP3.ddf
echo .Set InfDiskLineFormat= >>SP3.ddf
echo .Set InfCabinetHeader=[SourceDisksNames] >>SP3.ddf
echo .Set InfCabinetLineFormat=*cab#*="Unnoficial Windows 98 SE Service Pack 3.0","SP3.CAB",0 >>SP3.ddf
echo .Set InfFileHeader= >>SP3.ddf
echo .Set InfFileHeader1=[SourceDisksFiles] >>SP3.ddf
echo .Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum* >>SP3.ddf
echo .Set InfFooter= >>SP3.ddf
echo .Set SourceDir=SP3 >>SP3.ddf
echo. >>SP3.ddf
dir /b /on SP3\*.*  >>SP3.ddf
echo  Processing: OK
echo.
echo  Listing files [Supplemental Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo .Set CabinetNameTemplate=New\SUPP.CAB >SUPP.ddf
echo .Set Compress=on >>SUPP.ddf
echo .Set CompressionType=LZX >>SUPP.ddf
echo .Set CompressionLevel=7 >>SUPP.ddf
echo .Set CompressionMemory=21 >>SUPP.ddf
echo .Set RptFileName=SUPP.RPT >>SUPP.ddf
echo .Set MaxDiskSize=CDROM >>SUPP.ddf
echo .Set ReservePerCabinetSize=0 >>SUPP.ddf
echo .Set DiskDirectoryTemplate= >>SUPP.ddf
echo .Set Cabinet=ON >>SUPP.ddf
echo .Set MaxCabinetSize=999999999 >>SUPP.ddf
echo .Set InfFileName=New\SLAYOUT2.INF >>SUPP.ddf
echo .Set InfHeader= >>SUPP.ddf
echo .Set InfDiskHeader=";Auto generated file - do not edit!" >>SUPP.ddf
echo .Set InfDiskHeader1=[Version] >>SUPP.ddf
echo .Set InfDiskHeader2=Signature="$CHICAGO$" >>SUPP.ddf
echo .Set InfDiskHeader3=SetupClass=BASE >>SUPP.ddf
echo .Set InfDiskLineFormat= >>SUPP.ddf
echo .Set InfCabinetHeader=[SourceDisksNames] >>SUPP.ddf
echo .Set InfCabinetLineFormat=*cab#*="Unnoficial Windows 98 SE Service Pack 3.0","SUPP.CAB",0 >>SUPP.ddf
echo .Set InfFileHeader= >>SUPP.ddf
echo .Set InfFileHeader1=[SourceDisksFiles] >>SUPP.ddf
echo .Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum* >>SUPP.ddf
echo .Set InfFooter= >>SUPP.ddf
echo .Set SourceDir=SUPP >>SUPP.ddf
echo. >>SUPP.ddf
dir /b /on SUPP\*.*  >>SUPP.ddf
echo  Processing: OK
echo.
echo  Listing files [IE 5~6 Core  Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo .Set CabinetNameTemplate=New\IEX.CAB >IEX.ddf
echo .Set Compress=on >>IEX.ddf
echo .Set CompressionType=LZX >>IEX.ddf
echo .Set CompressionLevel=7 >>IEX.ddf
echo .Set CompressionMemory=21 >>IEX.ddf
echo .Set RptFileName=IEX.RPT >>IEX.ddf
echo .Set MaxDiskSize=CDROM >>IEX.ddf
echo .Set ReservePerCabinetSize=0 >>IEX.ddf
echo .Set DiskDirectoryTemplate= >>IEX.ddf
echo .Set Cabinet=ON >>IEX.ddf
echo .Set MaxCabinetSize=999999999 >>IEX.ddf
echo .Set InfFileName=New\SLAYOUT3.INF >>IEX.ddf
echo .Set InfHeader= >>IEX.ddf
echo .Set InfDiskHeader=";Auto generated file - do not edit!" >>IEX.ddf
echo .Set InfDiskHeader1=[Version] >>IEX.ddf
echo .Set InfDiskHeader2=Signature="$CHICAGO$" >>IEX.ddf
echo .Set InfDiskHeader3=SetupClass=BASE >>IEX.ddf
echo .Set InfDiskLineFormat= >>IEX.ddf
echo .Set InfCabinetHeader=[SourceDisksNames] >>IEX.ddf
echo .Set InfCabinetLineFormat=*cab#*="Unnoficial Windows 98 SE Service Pack 3.0","IEX.CAB",0 >>IEX.ddf
echo .Set InfFileHeader= >>IEX.ddf
echo .Set InfFileHeader1=[SourceDisksFiles] >>IEX.ddf
echo .Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum* >>IEX.ddf
echo .Set InfFooter= >>IEX.ddf
echo .Set SourceDir=IEX >>IEX.ddf
echo. >>IEX.ddf
dir /b /on IEX\*.*  >>IEX.ddf
echo  Processing: OK
echo.
echo  Listing files [Win95 Core Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo .Set CabinetNameTemplate=New\WIN95.CAB >WIN95.ddf
echo .Set Compress=on >>WIN95.ddf
echo .Set CompressionType=LZX >>WIN95.ddf
echo .Set CompressionLevel=7 >>WIN95.ddf
echo .Set CompressionMemory=21 >>WIN95.ddf
echo .Set RptFileName=WIN95.RPT >>WIN95.ddf
echo .Set MaxDiskSize=CDROM >>WIN95.ddf
echo .Set ReservePerCabinetSize=0 >>WIN95.ddf
echo .Set DiskDirectoryTemplate= >>WIN95.ddf
echo .Set Cabinet=ON >>WIN95.ddf
echo .Set MaxCabinetSize=999999999 >>WIN95.ddf
echo .Set InfFileName=New\SLAYOUT3.INF >>WIN95.ddf
echo .Set InfHeader= >>WIN95.ddf
echo .Set InfDiskHeader=";Auto generated file - do not edit!" >>WIN95.ddf
echo .Set InfDiskHeader1=[Version] >>WIN95.ddf
echo .Set InfDiskHeader2=Signature="$CHICAGO$" >>WIN95.ddf
echo .Set InfDiskHeader3=SetupClass=BASE >>WIN95.ddf
echo .Set InfDiskLineFormat= >>WIN95.ddf
echo .Set InfCabinetHeader=[SourceDisksNames] >>WIN95.ddf
echo .Set InfCabinetLineFormat=*cab#*="Unnoficial Windows 98 SE Service Pack 3.0","WIN95.CAB",0 >>WIN95.ddf
echo .Set InfFileHeader= >>WIN95.ddf
echo .Set InfFileHeader1=[SourceDisksFiles] >>WIN95.ddf
echo .Set InfFileLineFormat=*file*=*cab#*,,*size*,*csum* >>WIN95.ddf
echo .Set InfFooter= >>WIN95.ddf
echo .Set SourceDir=WIN95 >>WIN95.ddf
echo. >>WIN95.ddf
dir /b /on WIN95\*.*  >>WIN95.ddf
echo  Processing: OK
echo.
echo  Creating SP3 [SP3 Critical Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
"%MAC%\makecab.exe"  /f SP3.ddf
echo.
echo  Creating SUPP [Supplemental Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
"%MAC%\makecab.exe"  /f supp.ddf
echo.
echo  Creating IEX [ IE 5~6 Core Files ]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
"%MAC%\makecab.exe"  /f iex.ddf
echo.
echo  Creating WIN95  [Win95 Core Files]
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
echo.
"%MAC%\makecab.exe"  /f WIN95.ddf
echo.
del SP3.rpt
del supp.rpt
del iex.rpt
del win95.rpt
del SP3.ddf
del supp.ddf
del iex.ddf
del win95.ddf
echo.
echo  Finish. Press key to exit batch
echo  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
pause
:EXIT
CLS
EXIT

Attached File(s)


This post has been edited by gerislamico: 23 February 2012 - 07:01 PM


Share this topic:


  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy