Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 



Sign in to follow this  
Petr

SED, INF, DDF file format description

Recommended Posts

Petr    0
that sucks doesnt it Petr for MS not to include updated makecab.exe and wextract.exe files? I think Win2003 SP2 may come out either late this year or early next year. There will be an XP SP3 sometime in 2007. MS definitely needs to address the date problems when creating CAB or self-extracting CAB files with the Windows Server 2003 version of makecab.exe.

BTW, makecab.exe 6.0.5384.4 (from Windows Vista beta 2) works correctly on Windows XP and uses correctly the "modified" date, not "created" as version 5.1.2600.2180.

Petr

Share this post


Link to post
Share on other sites

erpdude8    2
BTW, makecab.exe 6.0.5384.4 (from Windows Vista beta 2) works correctly on Windows XP and uses correctly the "modified" date, not "created" as version 5.1.2600.2180.

Petr

is wextract.exe also included in Windows Vista?

Share this post


Link to post
Share on other sites
Petr    0
what version of wextract.exe is included in the latest beta of Windows Vista?

Vista pre-rc1 build 5552 contains version 6.0.5552.16384

Petr

Share this post


Link to post
Share on other sites
Petr    0

Commonly used version ranges by Microsoft:

TargetWin9xVersion=4.0.950-4.0.1212 - Windows 95

TargetWin9xVersion=4.10.1998-4.10.2222 - Windows 98

TargetWin9xVersion=4.90.3000 - Windows ME

I wouldnt use that kind of TargetWin9xVersion setting for Windows 95. That may not work for Win95 B/C systems with the USB Supplement Update installed which updates Win95 OSR2 to either version 4.03.1212 or 4.03.1214.

personally I prefer 'TargetWin9xVersion=4.00.950-4.03.1214' when making patches for Win95

see MS KB article 158238 on the 9x versions of Windows being used:

http://support.microsoft.com/kb/158238

Versions reported to iexpress package (wextract stub):

Windows 95 retail, OEM and OSR1: 4.00.950

Windows 95 OSR2, OSR2.1 and OSR2.5 without USB supplement: 4.00.1111

Windows 95 OSR2.1 and OSR2.5 with USB supplement: 4.00.1212

So TargetWin9xVersion=4.0.950-4.0.1212 is sufficient to cover all Windows 95 versions and old Microsoft packages contain this range. Newer packages from Microsoft contain wider range 4.00.950-4.03.1214 but this seems to be unnecessary.

MSKB article 158238 does not provide correct information. For example, the version displayed on the System Properties General tab is different:

Windows 95 retail and OEM: 4.00.950

Windows 95 retail with SP1 and OSR1: 4.00.950a (not 4.00.950A)

Windows 95 OSR2 and OSR2.1: 4.00.950 B (not 4.00.950B)

Windows 95 OSR2.5: 4.00.950 C (not 4.00.950C) (after uninstalling USB supplement is changed to 4.00.950 b)

Version stored in registry in HKLM\Software\Microsoft\Windows\CurrentVersion, keys VersionNumber and SubVersionNumber:

Windows 95 retail and OEM: 4.00.950

Windows 95 retail with SP1 and OSR1: 4.00.950a

Windows 95 OSR2 and OSR2.1 without USB supplement: 4.00.1111 B

Windows 95 OSR2.1 with USB supplement: 4.03.1212 B or 4.03.1214 B

Windows 95 OSR2.5 without USB supplement: 4.00.1111 C

Windows 95 OSR2.5 with USB supplement: 4.03.1214 C

Windows 95 OSR2.5 after uninstalling USB supplement: 4.00.1111 b

Note: There are two versions of USB supplement USBSUPP.EXE, 4.03.1212 and 4.03.1214. In all versions of OSR 2.1 and OSR 2.5 seems to be USBSUPP.EXE 4.03.1214 only, KB181661 lists 4.03.1214 version too, USBSUPP.EXE 4.03.1212 I have found here only: http://www.usbman.com/WebDrivers/Win95USB%...ate/usbsupp.zip

DOS command VER reports 4.00.950 for retail/SP1/OEM/OSR1 and 4.00.1111 for OSR2.x.

Windows command WINVER reports just "Windows 95" for all sub-versions.

Edited by Petr

Share this post


Link to post
Share on other sites
sepehrst    0

Hi EveryOne

I have discovered many hidden SED file directives several years ago

I think this is a good place to share it

I suggest you to complete it or provide more descriptions about directives if you know something.

Here it is...

Template.sed

[Version]

;Class=IEXPRESS

;SEDVersion=3

;CDFVersion=3

[Options]

;AppErrorCheck=

;AlwaysPropogateCmdExitCode=

;PropogateCmdExitCode=

;PlatformDir=

;PackagePurpose=InstallApp CreateCab ExtractOnly

;ShowInstallProgramWindow=0

;Quantum=

;CompressionType=NONE QUANTUM MSZIP LZX

;CompressionMemory=15-21

;CompressionLevel=1-7

;MultiInstanceCheck=P or B,"Cookie String" P = Prompt , B = Block

;HideExtractAnimation=0

;UseLongFileName=0

;UpdateAdvDlls=1

;PackageInstallSpace(KB)=

;Compress=OFF

;KeepCabinet=1

;RebootMode=I

;InstallPrompt=%InstallPrompt%

;DisplayLicense=%DisplayLicense%

;FinishMessage=%FinishMessage%

;TargetName=%TargetName%

;FriendlyName=%FriendlyName%

;AppLaunched=%AppLaunched%

;PostInstallCmd=%PostInstallCmd%

;AdminQuietInstCmd=%AdminQuietInstCmd%

;UserQuietInstCmd=%UserQuietInstCmd%

;SourceMediaLabel=

;IEXP_LayoutINF=

;SourceFiles=SourceFiles

;CheckAdminRights=1

;TargetNTVersion=%VersionRange%:%Prompt%:ok OkCancel YesNo

;TargetWin9xVersion=4.10.1998-4.10.2222:%Prompt%:ok OkCancel YesNo

;TargetFileVersion=@FileVersionSection

;InsideCompressed=0

;CAB_FixedSize=0

;CAB_ResvCodeSigning=0,2048,4096,6144

;PackageForX86=

;VersionInfo=VersionSection

;ExtractorStub=

[FileVersionSection]

;1=#S\%File%:%VersionRange%:%Prompt%:ok OkCancel YesNo

;2=#W\

;3=#A\

; #S System Directory

; #W Windows Directory

; #A I guess Application Directory (not sure)

[VersionSection]

;FileDescription=

;CompanyName=

;FileVersion=

;ProductVersion=

;OriginalFilename=

;LegalCopyright=

;ProductName=

;InternalName=

;FromFile= Reads Version info Resouce from Specified PE file

[strings]

;AdminQuietInstCmd=

;UserQuietInstCmd=

;FILE0=

[sourceFiles]

;SourceFiles0=%Path%

;SourceFiles1=

[sourceFiles0]

;%FILE0%=

;%FILE1%=

;Notes:

;Passing #e and #d parameters to the install command,

;will be converted to <full path> and <directory path>

;of the extractor package respectively.

; It is safer to pass "#e" or "#d" instead of #e or #d

Edited by sepehrst

Share this post


Link to post
Share on other sites
erpdude8    2

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?

Share this post


Link to post
Share on other sites
erpdude8    2
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.paraglidernc.com/plugins/ConvRegToInf02.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

Share this post


Link to post
Share on other sites
MDGx    0
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.

Edited by MDGx

Share this post


Link to post
Share on other sites
Petr    0

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/INF_web/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.techarena.in/showthread.php?t=513853

Petr

Share this post


Link to post
Share on other sites
ale5000    0

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?

Share this post


Link to post
Share on other sites
erpdude8    2
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

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.

Edited by erpdude8

Share this post


Link to post
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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×