Jump to content

Slipstreaming some recent Windows 2000 hotfixes


Inki

Recommended Posts

These are some things I came up with and thought I'd share for the heck of it, even though interest for Windows 2000 seems to be rapidly dwindling.

Currently there are three security updates for Windows 2000, that can not be properly slipstreamed by merely placing then into the HF folder, and the recommendation is to place them into HFSVCPACK_SW1. However, there may be some workarounds that allow full slipstreaming, or so it seems to me with my limited understanding. (These things seem to work for me.)

1. KB958470 (MS09-044) Remote Desktop Connection thingy

If RDC is not installed, and I guess there seldom is good reason why it should, the hotfix essentially only sets a few ActiveX killbits in the registry, and it is much "lighter" to slipstream those separately rather than to have the whole hotfix in HFSVCPACK_SW1.

So, assuming that you don't actually have RDC installed, copy the following lines into a new text file called KB958470.reg (or whatever.reg), and place it into HFSVCPACK, then remove the actual hotfix file from your setup.

------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{9059f30f-4eb1-4bd2-9fdc-36f43a218f4a}]

"Compatibility Flags"=dword:00000400

"AlternateCLSID"="{971127BB-259F-48c2-BD75-5F97A3331551}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{7584c670-2274-4efb-b00b-d6aaba6d3850}]

"Compatibility Flags"=dword:00000400

"AlternateCLSID"="{6A6F4B83-45C5-4ca9-BDD9-0D81C12295E4}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{4EDCB26C-D24C-4e72-AF07-B576699AC0DE}]

"Compatibility Flags"=dword:00000400

"AlternateCLSID"="{54CE37E0-9834-41ae-9896-4DAB69DC022B}"

-----------------------------------------

2. KB973904 (MS09-073) Text converters for Wordpad

The update wants to add completely new files alongside Wordpad.exe, and there is apparently no standard method for doing that with HFSLIP.

However, you can extract wordpad.in_ into wordpad.inf and edit it so that where it used to merely say:

--------------------------------

[WordPadCopyFiles]

wordpad.exe

--------------------------------

you add new lines before and after, resulting in:

--------------------------------

[sourceDisksNames]

3 = "Windows CD",\CDROM_IP.5,,\I386

[sourceDisksFiles]

mswrd6.wpc = 3

mswrd8.wpc = 3

write.wpc = 3

[WordPadCopyFiles]

wordpad.exe

mswrd6.wpc

mswrd8.wpc

write.wpc

------------------------------

This instructs the system to copy the missing files from the CD to the correct location while it is doing the same to wordpad.exe.

Rename the modified file into wordpad.in_ (or compress it into a cabinet) and place it into REPLACE\I386. Place the hotfix file into HF. (Note: \CDROM_IP.5 is merely the name of a tag file to identify the CD. I am not sure if it is needed, and if it does not match your CD, you can try changing or removing it from the line.)

3. KB975560 (MS10-013) Update for DirextX 9

Apparently msyuv.dll contained in this hotfix has a poorly configured header, which causes the system to choke during text-mode file copying.

To correct it, get hold of modifype.exe, extract msyuv.dll from the hotfix, place them together in some directory, and run 'modifype msyuv.dll -c'. Then you can rename the modified file into msyuv.dl_ (or compress it into a cabinet) and place it into REPLACE\I386, while you place the hotfix file into HF. I guess it would not do any harm to also cross one's fingers and hope, that nothing else is at fault with the file.

P.S. Those code snippet boxes really seem quite awkward. Well, I don't know any better, and I have a hard time dealing with this new system anyway. - Ended up replacing them with a lot of hyphens.

Edited by Inki
Link to comment
Share on other sites

  • 9 months later...

  • 1 month later...
  • 4 weeks later...
  • 3 months later...

you add new lines before and after, resulting in:

--------------------------------

[sourceDisksNames]

3 = "Windows CD",\CDROM_IP.5,,\I386

[sourceDisksFiles]

mswrd6.wpc = 3

mswrd8.wpc = 3

write.wpc = 3

[WordPadCopyFiles]

wordpad.exe

mswrd6.wpc

mswrd8.wpc

write.wpc

------------------------------

This instructs the system to copy the missing files from the CD to the correct location while it is doing the same to wordpad.exe.

Rename the modified file into wordpad.in_ (or compress it into a cabinet) and place it into REPLACE\I386. Place the hotfix file into HF. (Note: \CDROM_IP.5 is merely the name of a tag file to identify the CD. I am not sure if it is needed, and if it does not match your CD, you can try changing or removing it from the line.)

Yes, CDROM_XX.5 is needed but you shouldn't use CDROM_IP.5 because it's only for Windows 2000 Professional. Server versions are different - CDROM_IS.5, CDROM_IA.5, etc.

It's better to change it to CDROM_NT.5 in order to have it work with all editions of Windows 2000.

[SourceDisksNames]
3 = "Windows CD",\CDROM_NT.5,,\I386

1. KB958470 (MS09-044) Remote Desktop Connection thingy

If RDC is not installed,

Mmhh, what if I actually want it to be installed?

What is going to happen?

If you want to have it installed then you should use HFSVCPACK_SW1 ;) The update has different structure and cannot be directly slipstreamed from HF. Well, actually probably can but a lot of unnecessary files will be copied to i386 folder.

Edited by tomasz86
Link to comment
Share on other sites

There is another problem with this:

[SourceDisksNames]
3 = "Windows CD",\CDROM_NT.5,,\I386

"Windows CD" means that the label MUST be "Windows CD" in order to copy these files. So what's the problem? For example, if you use nLite to make a bootable CD, it'll automatically change it to "Winlite" which will break the above string.

I think I found the ultimate solution ;)

You should change this

[SourceDisksNames]
3 = "Windows CD",\CDROM_IP.5,,\I386

[SourceDisksFiles]
mswrd6.wpc = 3
mswrd8.wpc = 3
write.wpc = 3

[WordPadCopyFiles]
wordpad.exe
mswrd6.wpc
mswrd8.wpc
write.wpc

to this

 [SourceDisksFiles]
mswrd6.wpc = 1
mswrd8.wpc = 1
write.wpc = 1

[WordPadCopyFiles]
wordpad.exe
mswrd6.wpc
mswrd8.wpc
write.wpc

You should remove [sourceDisksNames]. What does "1" mean? Windows 2000 installer by default understands "1" as


1 = %wkscd%,\cdrom_ip.5,,\i386 <- Professional
1 = %srvcd%,\cdrom_is.5,,\i386 <- Server
1 = %entcd%,\cdrom_ia.5,,\i386 <- Advanced Server
1 = %dtccd%,\cdrom_id.5,,\i386 <- Datacenter Server

which means that the files will be copied correctly regardless of the edition of Windows 2000 you're using. And CD label also won't matter at all :)

Anyway, I prepared a corrected version of this update which includes the corrected wordpad.inf. It can be slipstreamed from HF folder and no changes have to be made further.

Windows2000-KB973904-v2-x86-ENU.EXE

Also check this post for a corrected version of KB975560 :)

Edited by tomasz86
Link to comment
Share on other sites

  • 1 year later...

After testing I've found out that the above method works only for a CD based installation. It doesn't work for a HDD based installation, and actually HFSLIP doesn't slipstream these files properly.

The files:


mswrd6.wpc
mswrd8.wpc
write.wpc

should be installed to:


%ProgramFiles%\Windows NT\Accessories

but HFSLIP makes them be copied to:


%SystemRoot%\system32

If you're using a CD based installation then they are copied once again to the former path in the later part of GUI setup when wordpad.inf is executed. You end up with having the files in two places. In case of a HDD based installation it's different - the files are copied to the latter path and removed from the source at the same time so the setup can't find them later when wordpad.inf is being executed.

The solution to this problem is pretty simple. You should still edit wordpad.inf as above but you should also edit TXTSETUP.SIF like this:

  1. Remove all lines where either mswrd6.wpc, mswrd8.wpc or write.wpc is present.
  2. Add:

    [SourceDisksFiles]
    mswrd6.wpc = 1,,,,,,,,3,3
    mswrd8.wpc = 1,,,,,,,,3,3
    write.wpc = 1,,,,,,,,3,3


This will make the setup not copy the files at all in the beginning. They will be copied only when wordpad.inf is executed.

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...