Jump to content

Integrating SPx.CAB files into DRIVER.CAB?


Recommended Posts

Howdy y'all!

I've been reading through all the great unattended / slipstreamed / slimmed down installation info at unattended.msfn.org, plus a bunch of stuff on gosh's and RyanVM's sites. Goodness gracious great balls of fire there's a lot of info on unattended / universal XP installs!

My problem comes from a bit of info I've seen, but haven't seen any details about. Some sites mentioned that nlite (and maybe some other programs?) will integrate a service pack cab into the main DRIVER.CAB, but i'm trying to figure out how to do such a thing manually. Is it as easy as I think?

1. Unpack DRIVER.CAB (cabarc x driver.cab driver\)

2. Unpack SP1.CAB on top, replace any duplicates (cabarc -o x sp1.cab driver\)

3. Re-pack DRIVER.CAB (cabarc -m lzx:21 n driver.cab driver\*.*)

I'm a little leery of trying that straight-away since I also see SP1.CAT and win51is.SP1, I think it'd be a good idea to check with the experts (that'd be you) to see how you do it properly.

Link to comment
Share on other sites


Leave the sp*.cat and win51*.SP* files alone. Those are needed for much more than the CAB files. Attached is a batch file code to merge driver.cab and sp2.cab. You should be easily able to change references to sp2.cab to sp1.cab if you need to.

It should be noted for those who've integrated SP2 onto a CD which already had SP1 on it previously that sp1.cab is safe to delete. There are no references to sp1.cab in dosnet.inf, drvindex.inf, or txtsetup.sif. Also, there are no files in sp1.cab which aren't also in sp2.cab, so extracting it is a waste of time.

mergecabs.cmd

Edited by RyanVM
Link to comment
Share on other sites

lol, missed a line. Guess where I "borrowed" the code from :P

Anyway, here you go. If you're curious what it does, it changes

DriverCabName=driver.cab,sp2.cab

to

DriverCabName=driver.cab

in txtsetup.sif.

I don't think it actually makes a difference in functionality, but it's more complete :)

drivercabfix.exe

Edited by RyanVM
Link to comment
Share on other sites

@boooggy:

Already did that part, that's where I end up with the SP1.CAB et al. It's slipstreamed into the build, but it's still taking up more space than it needs to. :D

@RyanVM:

Thanks for the pointer, that's exactly what I'm looking for. I'm going to try the same sequence with CABARC instead of EXTRACT/MAKECAB, hopefully it won't mess up the CAB structure that MAKECAB has in the .DDF you create. The bonus is that I can specify LZX with 21-bit something-or-other to get a couple extra MB of compression.

I'm trying to integrate the Server 2003 SP and patches, that's why i'm working with SP1 instead of the usual XP SP2. I have to document my build 100%, so I can't use nLite since its functionality could, at some point in the future, possibly change. Yes it's ridiculous, but it's how I have to do it.

If drivercabfix doesn't already do it, there's also another bit that should be removed from the TXTSETUP.SIF under the SourceDiskFiles section:

sp1.cab      = 1,,,,,,_x,39,0,0

Along the same lines, would it work to add all of the *.??_ files to the DRIVER.CAB or a separate CAB with a pointer in DRVINDEX.INF (or something similar) to consolidate about 5000 individual files into one? I'm looking through the disc now to see where the pointers for SHELL32.DL_ are, that should give me a start to see where setup is getting its file listings from.

Edited by meostro
Link to comment
Share on other sites

@RyanVM:

Thanks for the pointer, that's exactly what I'm looking for.  I'm going to try the same sequence with CABARC instead of EXTRACT/MAKECAB, hopefully it won't mess up the CAB structure that MAKECAB has in the .DDF you create.  The bonus is that I can specify LZX with 21-bit something-or-other to get a couple extra MB of compression.

I think I'm misunderstanding what you mean. The makecab sequence in the batch file I posted does use LZX:21.
I'm trying to integrate the Server 2003 SP and patches, that's why i'm working with SP1 instead of the usual XP SP2.  I have to document my build 100%, so I can't use nLite since its functionality could, at some point in the future, possibly change.  Yes it's ridiculous, but it's how I have to do it.
Have fun :)
If drivercabfix doesn't already do it, there's also another bit that should be removed from the TXTSETUP.SIF under the SourceDiskFiles section:

sp1.cab      = 1,,,,,,_x,39,0,0

drivercabfix doesn't, but there's a comment in the batch file where it does ;)
Along the same lines, would it work to add all of the *.??_ files to the DRIVER.CAB or a separate CAB with a pointer in DRVINDEX.INF (or something similar) to consolidate about 5000 individual files into one?  I'm looking through the disc now to see where the pointers for SHELL32.DL_ are, that should give me a start to see where setup is getting its file listings from.

No clue.
Link to comment
Share on other sites

I'm trying to integrate the Server 2003 SP and patches, that's why i'm working with SP1 instead of the usual XP SP2.  I have to document my build 100%, so I can't use nLite since its functionality could, at some point in the future, possibly change. 

Myself user of 2K3 Server SP1 Web Edition as OS (turned to workstation :P ).

If you can share your method after figured / solved possible issues, please post in this thread.

Currently, i have already build my install source with all updates integrated (using a little modified method based on RyanVM pack). Will post a new topic when i have full documented process.

Link to comment
Share on other sites

  • 4 weeks later...
I'm trying to integrate the Server 2003 SP and patches, that's why i'm working with SP1 instead of the usual XP SP2.  I have to document my build 100%, so I can't use nLite since its functionality could, at some point in the future, possibly change. 

Myself user of 2K3 Server SP1 Web Edition as OS (turned to workstation :P ).

If you can share your method after figured / solved possible issues, please post in this thread.

Currently, i have already build my install source with all updates integrated (using a little modified method based on RyanVM pack). Will post a new topic when i have full documented process.

I managed it with RyanVMs batch file with a few changes to intergrate some updates.

I don't know if your talking about my Win2k3 Sp1 Update thats a moded version of RyanVMs or weither youve done your own.

I don't know what the diffrence between Standard and Web or any of the others, I imagine its just the sysoc.inf file on the install disk

http://www.ryanvm.net/forum/viewtopic.php?t=339

Link to comment
Share on other sites

@codejunkie

Since you have switched from a lite version to a full pack version, i no longer use your pack for a single reason. I want to keep my UA install clean and generic. i add more customizations and non MSFT branded binary files from cmdlines.txt.

EDIT:

mergecabs.cmd works as expected and TXTSETUP.SIF is edited if we don't forget to add RyanVM drivercabfix.exe in the same folder.

Edited by Bilou_Gateux
Link to comment
Share on other sites

  • 3 weeks later...
@codejunkie

Since you have switched from a lite version to a full pack version, i no longer use your pack for a single reason. I want to keep my UA install clean and generic. i add more customizations and non MSFT branded binary files from cmdlines.txt.

Hi Bilou_Gateux, i want to know about ur pack please, i used codejunkie's pack, no problems, and its up to date in wu and mu.

Edited by mrnxdmx
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...