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:
CODE
[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
CODE
[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:
CODE
[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:
CODE
[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
CODE
[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:
CODE
[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:
CODE
[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=513853Petr