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  
RyanVM

Repacking driver.cab

Recommended Posts

Good info to have - thanks! That definitely explains why 5000000 helped so much. I suppose if I were really bored, I'd see how 10000000 worked, but not now. I've got some other stuff on my plate to keep my busy ;):P

Share this post


Link to post
Share on other sites

****, missed my chance. I don't seem to make it over here much. Glad you found it RyanVM, I suffered very, very much till I changed that.

The default value is infinity (or at least way too high), thus everything is compressed into one "folder". Problem is, setup access a few "random" files, at different times. Thus the "hang" when getting a file from the end of the folder. Another good trick, once you get the other stuff off your plate, would be to move the few files that ARE used during setup to the front of the file, possibly uncompressed, and then you could pack the rest tighter. Another Microsoft recommendation is to group similar files together. When creating the list of files to add to DRIVERS.CAB, I use the DIR command, with a qualifier (/O-E) to list files by extension, in reverse order. Thus the sys files come before the exe and dll files.

Share this post


Link to post
Share on other sites

Does Windows setup actually extract them in that order, though?

Share this post


Link to post
Share on other sites

From what I see, there are some files that are always extracted (us* for example), and others that are extracted if needed, e.g. if the hardware needing the drivers is found. I think there are more .sys files used then .dll or .exe files, which is why I put them in that order.

I played with it a bit, way back when, and it seemed the order tweaks did not make nearly the impact the folder size did. I still believe the best would be to study DOSNET.INF and TXTSETUP.SIF, and see which files are actually (always) extracted from DRIVERS.CAB, and put them uncompressed in the begining. On the other hand, I was assured that Microsoft did not do anything fancy like this, and I, like you, lost motivation to tweak every byte and second out of it.

So ... in answer to your question, I don't really know which order they are extracted in, but I am sure it is not sequentially.

Share this post


Link to post
Share on other sites

Thanks!

I took a look at jdeboeck's batch, should I add or remove the lines in there?

rem Compressing driver.cab

echo .Set Cabinet=on>> driver.ddf

echo .Set Compress=on>> driver.ddf

echo .Set CompressionType=LZX>> driver.ddf

echo .Set CompressionMemory=21>> driver.ddf

echo .Set CabinetNameTemplate=driver.cab>> driver.ddf

echo .Set MaxDiskSize=CDROM>> driver.ddf

echo .Set DiskDirectory1=i386>> driver.ddf

According to RyanVM, he doesnt want CompressionType=LZX and CompressionMemory=21, I guess I'll take those out and add FolderSizeThreshold=5000000. Correct me if I'm wrong.

Share this post


Link to post
Share on other sites

No, you can leave those settings in. Just add the FolderSizeThreshold key and you're good to go.

I actually combined his decompress/compress batches into one and updated them for sp2. Send me an IM and I'll send it to you (I don't want to post it on here out of respect for his work).

Share this post


Link to post
Share on other sites

You didn't remove the entries in txtsetup.sif, dosnet.inf, or drvindex.inf, did you? ;)

IM me :P

Share this post


Link to post
Share on other sites

I have a question about using these figures, will they work when compressing with 7Zip? If so how would I represent them in it?

Share this post


Link to post
Share on other sites

7zip has nothing to do with, sorry. The closest thing in 7zip would be the dictionary size, which influences decompression speed. (but only indirectly, lower compression ratio -> better decompression speed)

--

Pyron

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.

×
×
  • Create New...