Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

SED, INF, DDF file format description

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
59 replies to this topic

#51
soporific

soporific

    Senior Member

  • Member
  • PipPipPipPip
  • 698 posts
  • Joined 12-June 05

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.


How to remove advertisement from MSFN

#52
soporific

soporific

    Senior Member

  • Member
  • PipPipPipPip
  • 698 posts
  • Joined 12-June 05
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..

Edited by soporific, 25 September 2007 - 02:07 AM.


#53
ShadeTreeLee

ShadeTreeLee

    Junior

  • Member
  • Pip
  • 88 posts
  • Joined 19-February 07
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
soporific

soporific

    Senior Member

  • Member
  • PipPipPipPip
  • 698 posts
  • Joined 12-June 05

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:

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 ;) )

Edited by soporific, 25 September 2007 - 04:35 AM.


#55
MDGx

MDGx

    98SE2ME + 98MP10

  • Patrons
  • 2,365 posts
  • Joined 22-November 04

[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
soporific

soporific

    Senior Member

  • Member
  • PipPipPipPip
  • 698 posts
  • Joined 12-June 05

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:


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
soporific

soporific

    Senior Member

  • Member
  • PipPipPipPip
  • 698 posts
  • Joined 12-June 05
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
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,074 posts
  • Joined 24-November 04
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?

Edited by erpdude8, 01 December 2007 - 05:45 PM.


#59
the_guy

the_guy

    Creator of the Windows ME Service Pack

  • Member
  • PipPipPipPipPip
  • 893 posts
  • Joined 15-July 05
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
Creator of the Windows ME Service Pack.

#60
gerislamico

gerislamico

    River Plate Four-Champion International

  • Member
  • Pip
  • 87 posts
  • Joined 09-November 10
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 Files


Edited by gerislamico, 23 February 2012 - 07:01 PM.

In hard times we have to support much more Come on! River Plate

My Proyects
U98SESP3 in Spanish bassed PROBLEMCHYLD version
WinStyle 98 Mod Win7 for WIn98SE Spanish