Jump to content

SED, INF, DDF file format description


Recommended Posts

  • 1 month later...

BTW, is there any way how to force (ADVPACK?) to create the installation log? Something like is visible here for wmp11: http://forums.techarena.in/showthread.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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

  • 2 months later...
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?

Link to comment
Share on other sites

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/sac/utilprog/vrinf100.zip

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

Edited by eidenk
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 4 months later...

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

[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/INF_web/destdirs.htm

HTH

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

  • 2 months later...

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
Link to comment
Share on other sites

  • 4 years later...

I share with you a personal batch to generate SLAYOUT1.INF and SLAYOUT2.INF for Win98SE SP3

Is a modding to Petr

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

BUILDSP3_1.04.ZIP

Edited by gerislamico
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...