Jump to content

HFSLIP cannot slipstream KB971276. (WinXP x86)


Explorer09

Recommended Posts

In Mimo's list of Windows XP updates, Lilla reported that when slipstreaming 3 printer updates (KB971276, KB971314 and KB961118), the XPS Printer will not be installed during .NET 3.0 setup.

Now I've continued Lilla's experiment and found where the actual problem is.

Here are the experiments I've done:

All of these experiments use HFSlip 1.7.10 beta J v8 (hfslip_beta_Apr29_v8.zip) for slipstreaming.

The systems are installed on VirtualBox.

Experiment A: Use a Windows XP SP3 without anything slipstreamed. Then install the specific update X, then install .NET 3.5 SP1.

When X = KB961118,

(KB961118 refused to be installed without installing .NET Framework 3.0 SP2 first. So for this test I hacked the registry before installing the update.)

XPS Document Writer showed up after installing .NET 3.5. (expected result)

When X = KB971314,

XPS Document Writer showed up after installing .NET 3.5. (expected result)

When X = KB971276,

XPS Document Writer showed up right after installing the hotfix, before installing .NET 3.5.

Experiment B: Slipstream only the update X into Windows XP SP3, and on the slipstreamed Windows install .NET 3.5 SP1.

When X = KB961118,

XPS Document Writer showed up after installing .NET 3.5. (expected result)

When X = KB971314,

XPS Document Writer showed up after installing .NET 3.5. (expected result)

When X = KB971276,

XPS Document Writer didn't show up before or after installing .NET 3.5.

I reinstalled KB971276 update for this case, and XPS Document Writer showed up finally.

Experiment C: Use a Windows with slipstreamed KB971276 only. Then do the following commands: (as specified in the "update_SP3QFE.inf" file of KB971276)

"regsvr32 /s %windir%\system32\prntvpt.dll"
"regsvr32 /s %windir%\system32\spool\prtprocs\w32x86\FilterPipelinePrintProc.dll"
"%windir%\system32\spool\prtprocs\w32x86\printfilterpipelinesvc.exe /RegServer %windir%\system32\spool\XPSEP\i386"

(remark: Dirid %51% expand to the spool directory, i.e. "%windir%\system32\spool"

Dirid %55% expand to the print processors directory, in this case, "%windir%\system32\spool\prtprocs\w32x86")

I expected that XPS Document Writer shows up, but no. Only the first command succeeded.

  • The file "FilterPipelinePrintProc.dll" and something like that existed in "system32" folder instead of "system32\spool\prtprocs\w32x86".
  • The file "printfilterpipelinesvc.exe" too existed in "system32" folder instead of "system32\spool\prtprocs\w32x86".
  • The folder "system32\spool\XPSEP" does not exist.

Conclusion

The results means that HFSLIP did not slipstream the KB971276 correctly. And the incorrectly slipstreamed KB971276 has caused .NET Framework setup to not install the XPS printer.

Also KB961118 won't be installed on the system without .NET 3.0 SP2 or later. So don't slipstream KB961118 onto the disc without slipstream .NET.

I will tell Mimo to note this on his list.

Edited by Explorer09
Link to comment
Share on other sites

  • 10 months later...

For integrating KB971276 you can try integrating Ricktendo and YumeYao Printer UpdatePack Addon.

I have no problem integrating KB961118 directly, but the 1 MB ntprint.cat file gets placed into the SVCPACK directory instead of replacing the one in the I386 directory.

To fix this you need to update HFSLIP.cmd

Find the following lines in :HF1COMMON_B

IF EXIST TEMP\UPDATE\*.CAT XCOPY/DY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
IF EXIST TEMP\UPDATE RD/Q/S TEMP\UPDATE

Replace with the following:

IF EXIST TEMP\NTPRINT.CAT MOVE /Y TEMP\NTPRINT.CAT WORK\I386E
IF EXIST TEMP\UPDATE\*.CAT XCOPY/DY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
IF EXIST TEMP\UPDATE RD/Q/S TEMP\UPDATE

This will also speed up installation as ntprint.cat only gets added to the catroot db once.

Edited by Acheron
Link to comment
Share on other sites

You should be sure to tell Mimo about this and offer to help update the version of HFSLIP he has available for download on his site accordingly.

Cheers and Regards

Link to comment
Share on other sites

You should be sure to tell Mimo about this and offer to help update the version of HFSLIP he has available for download on his site accordingly.

Cheers and Regards

I have contacted Mimo about these changes and he is willing to add them after some testing.

Link to comment
Share on other sites

For integrating KB971276 you can try integrating Ricktendo and YumeYao Printer UpdatePack Addon.

I have no problem integrating KB961118 directly, but the 1 MB ntprint.cat file gets placed into the SVCPACK directory instead of replacing the one in the I386 directory.

To fix this you need to update HFSLIP.cmd

Find the following lines in :HF1COMMON_B

IF EXIST TEMP\UPDATE\*.CAT XCOPY/DY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
IF EXIST TEMP\UPDATE RD/Q/S TEMP\UPDATE

Replace with the following:

IF EXIST TEMP\NTPRINT.CAT MOVE /Y TEMP\NTPRINT.CAT WORK\I386E
IF EXIST TEMP\UPDATE\*.CAT XCOPY/DY TEMP\UPDATE\*.CAT WORK\SVCPACK >NUL
IF EXIST TEMP\*.CAT XCOPY/DY TEMP\*.CAT WORK\SVCPACK >NUL&DEL/Q/F TEMP\*.CAT
IF EXIST TEMP\UPDATE RD/Q/S TEMP\UPDATE

This will also speed up installation as ntprint.cat only gets added to the catroot db once.

Hi Acheron.

In my first post, I was not saying that I have problems integrating KB961118. I was saying that KB961118 shouldn't be integrated without .NET 3.5.

Of course you can fix HFSLIP to support integrating ntprint.cat, but I think you shouldn't.

HFSLIP does not integrate .NET 3.5, and without .NET, integrating KB961118 will be meaningless and might bring you problems.

I would rather suggest installing KB961118 manually.

Link to comment
Share on other sites

Hi Acheron.

In my first post, I was not saying that I have problems integrating KB961118. I was saying that KB961118 shouldn't be integrated without .NET 3.5.

Of course you can fix HFSLIP to support integrating ntprint.cat, but I think you shouldn't.

HFSLIP does not integrate .NET 3.5, and without .NET, integrating KB961118 will be meaningless and might bring you problems.

I would rather suggest installing KB961118 manually.

Of course it is up to the person using HFSLIP to decide which updates to integrate. It is not actually the .NET 3.5 which can cause problems, but the common printer drivers added to support XPS printing.

KB961118 adds signature information for the updated unidrv.dll file. I will do some tests if the new ntprint.cat has also the signature information for the original unidrv.dll file which comes with Windows XP SP3. In that case integrating the new ntprint.cat file should not cause any problems.

Edited by Acheron
Link to comment
Share on other sites

As promised I tested the replaced ntprint.cat from KB961118 against the original universal printer drivers included with Windows XP SP3 on a fresh install and sigverif shows these files signed properly:

Door de gebruiker gespecificeerd zoekpad:  *.*
Door de gebruiker gespecificeerd zoekpatroon: C:\WINDOWS\system32\spool\drivers\w32x86

Bestand Gewijzigd Versie Status Catalogus Getekend door
------------------ ------------ ----------- ------------ ----------- -------------------
[c:\windows\system32\spool\drivers\w32x86\3]
mxdwdrv.dll 26-4-2012 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
mxdwdui.bud 10-5-2013 Geen Niet-ondertekend n.v.t.
mxdwdui.dll 20-11-2010 2:5.1,2:5.2,2:6.0,2:Ondertekend mxdwdui.cat Microsoft Windows
mxdwdui.gpd 19-6-2008 2:5.1 Ondertekend KB971276.CAT Microsoft Windows Component Publisher
mxdwdui.ini 19-6-2008 2:5.1 Ondertekend KB971276.CAT Microsoft Windows Component Publisher
ps5ui.dll 14-4-2008 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
pscript.hlp 24-1-2007 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
pscript.ntf 15-5-2007 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
pscript5.dll 14-4-2008 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
stddtype.gdl 15-5-2007 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
stdnames.gpd 15-5-2007 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
stdschem.gdl 15-5-2007 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
stdschmx.gdl 15-5-2007 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows
unidrv.dll 14-4-2008 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
unidrv.hlp 24-1-2007 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
unidrvui.dll 14-4-2008 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
unires.dll 15-5-2007 2:5.1 Ondertekend NT5.CAT Microsoft Windows Component Publisher
xpssvcs.dll 3-5-2013 2:5.1,2:5.2,2:6.0,2:Ondertekend KB2701894.CAT Microsoft Windows

So you can now all move the ntprint.cat file from the svcpack directory to the i386 directory to save 1 MB. To save another 800 KB you can compress the ntprint.cat file (remember to also update txtsetup.sif to remove the _x reference) :yes:

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