Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Repacking driver.cab

- - - - -

  • Please log in to reply
32 replies to this topic

#1
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
OK, I tried searching for the answer, but IBB is pretty much useless in its search functionality. What are the settings used for makecab when recompressing driver.cab (after combining it with the other driver cabs) that allows for faster decompression? Is it just lowering CompressionMemory?
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)


How to remove advertisement from MSFN

#2
big poppa pump

big poppa pump

    Damn Newbies!!

  • Member
  • PipPipPip
  • 406 posts
I pretty much used the default settings in powerarchiver when I recompressed driver.cab and sp2.cab

DFI LP UT NF4 SLI-DR Expert || Opty 165 CCBBE 0610DPMW @ 3.01Ghz (335*9) - 1.52V, TT Big Typhoon w/120mm Panaflo
2 x G.SKILL F1-4000USU2-2GBHZ || BBA Radeon 1900XTX || X-Mystique DD 5.1 with/ Pioneer THX 1015TX
2*74GB Raptors - Raid 0 || 2*300GB Seagate 7200.9 NCQ SATA-II || 4*Hitachi 500GB 7K500 || Mad Dog Triple Format DL DVD+/-RW/DVD-Ram
OCZ GameXstream 700W || CM Stacker STC-01 || 2 * Dell 2405FPW


#3
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
This is driving me nuts, because I think it was GreenMachine who posted on this before, but I can't find his post.
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#4
Bâshrat the Sneaky

Bâshrat the Sneaky

    aka Wim Leers

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,214 posts
  • OS:none specified
  • Country: Country Flag

This is driving me nuts, because I think it was GreenMachine who posted on this before, but I can't find his post.

Why don't you take a look at Jdeboeck's batch files? They are able to remove drivers and other stuff and then recompress everything!

http://jdeboeck.msfnhosting.com

#5
knight_dkn

knight_dkn

    Uber Nerd

  • Member
  • Pip
  • 70 posts
Here's the link to a specific thread about CABARC.EXE (CabARC) It's part of a discution on longhorn but it's the correct tool to use for making CAB's for XP install discs.

Here's the command line for it:
cabarc -r -p -m LZX:21 N mmssetup.cab *.*

I've used it several times when I was building both unattended XP install discs and testing MCE 2005. It's part of an offical Microsoft SDK that you can download free from their site (sorry cant remember where). It's offical name is "Cabinet Software Development Kit" the commands I've put in are very well documented but I've found I can shave a few meg off any standard MS cab by using this higher compression optimisation.
Abandon All Hope.

#6
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts

This is driving me nuts, because I think it was GreenMachine who posted on this before, but I can't find his post.

Why don't you take a look at Jdeboeck's batch files? They are able to remove drivers and other stuff and then recompress everything!

http://jdeboeck.msfnhosting.com

That's what I use :P. It suffers from the slow decompression time that I'm referring to. IIRC, you can adjust the settings so that the cab ends up at around 100MB (instead of ~80MB), but decompresses way faster. Heck, nLite even has the option to do the one or the other.

I think I'm gonna PM nuhi to get him in this thread :P
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#7
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts

Here's the link to a specific thread about CABARC.EXE (CabARC) It's part of a discution on longhorn but it's the correct tool to use for making CAB's for XP install discs.

Here's the command line for it:

cabarc -r -p -m LZX:21 N mmssetup.cab *.*

I've used it several times when I was building both unattended XP install discs and testing MCE 2005. It's part of an offical Microsoft SDK that you can download free from their site (sorry cant remember where). It's offical name is "Cabinet Software Development Kit" the commands I've put in are very well documented but I've found I can shave a few meg off any standard MS cab by using this higher compression optimisation.

LZX:21 is what's giving you the higher compression. Those options are available with makecab as well, using the command switches /D CompressionType=LZX and /D CompressionMemory=21.
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#8
nuhi

nuhi

    nLite & vLite human.dll

  • Developer
  • 4,343 posts
  • OS:none specified
  • Country: Country Flag
In your cab ddf file enter
.Set FolderSizeThreshold=5000000
or
.Set FolderSizeThreshold=2500000

Thx to mr. GreenMachine
http://www.nliteos.com | http://www.vlite.net
Remove components and customize Windows

#9
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
THAT'S IT!!!

Thanks :D

(And I KNEW it was GreenMachine who posted it first :P)
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#10
prathapml

prathapml

    Follow the rules please :-)

  • Patrons
  • 6,791 posts
  • OS:Windows 8 x64
  • Country: Country Flag
either that, or you're looking for this:
makecab /D CompressionType=LZX /D CompressionMemory=21
This is for individual files, I suppose.
Posted ImageCheers !!!   Donate to MSFN and Help Keep This Site Running
||Please Read the Forum Rules||  Etiquette   || Welcome to MSFN - Forum Basics || Before posting
prathapml :: MSFN Supermod :: Private Message me if you ever have a problem while at MSFN

#11
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts

either that, or you're looking for this:

makecab /D CompressionType=LZX /D CompressionMemory=21
This is for individual files, I suppose.

And it's completely irrelevant. In fact, I already said those settings weren't what I needed.

LZX:21 is what's giving you the higher compression. Those options are available with makecab as well, using the command switches /D CompressionType=LZX and /D CompressionMemory=21.

nuhi gave me exactly what I was looking for.
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#12
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
OMG, that made a HUGE difference! And driver.cab was still only 78MB (no drivers removed).

Thanks a million! :thumbsup
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#13
Bâshrat the Sneaky

Bâshrat the Sneaky

    aka Wim Leers

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,214 posts
  • OS:none specified
  • Country: Country Flag

OMG, that made a HUGE difference!  And driver.cab was still only 78MB (no drivers removed).

Thanks a million! :thumbsup

Could you maybe higher that value to get an even smaller driver.cab?

#14
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
The point of that number isn't to increase compression, but to speedup decompression. Using the default value, it can take a long time to decompress files from there (setup will just "hang" from time to time).

FolderSizeThreshold=5000000 made a HUGE difference.
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#15
Pyron

Pyron

    Junior

  • Member
  • Pip
  • 84 posts
I just found this document :http://home.hiwaay.n...ive/makecab.doc, which explains makecab/ddf files in detail.
This is what it says about FolderSizeThreshold:

Folders are compression/encryption boundaries.  The state of the compressor and cryptosystem are reset at folder boundaries.  To access a file in a folder, the folder must be decrypted and decompressed starting from the front of the folder and continuing through to the desired file.  Thus, smaller folder thresholds are appropriate for a layout where a small number of files needs to be randomly accessed quickly from a cabinet.  On the other hand, larger folder thresholds permit the compressor to examine more data, and so generally yield better compression results.  For a layout where the files will be accessed sequentially and most of the files will be accessed, a larger folder threshold is best.

--
Pyron

#16
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 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
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#17
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
****, 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.

#18
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
Does Windows setup actually extract them in that order, though?
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#19
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
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.

#20
Diabolical82

Diabolical82

    Member

  • Member
  • PipPip
  • 145 posts
Maybe it's stupid question, how do i edit ddf?
Free LCD Screen I need 5 mores refers!!!

#21
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
Spend a week with the Cabinet SDK, and you will learn more than you want to know ... that's what I did.

http://msdn.microsof.../html/cabdl.asp

It is fairly complex, so perhaps not recommended reading for the faint of heart.

#22
Diabolical82

Diabolical82

    Member

  • Member
  • PipPip
  • 145 posts
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.
Free LCD Screen I need 5 mores refers!!!

#23
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
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).
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)

#24
Diabolical82

Diabolical82

    Member

  • Member
  • PipPip
  • 145 posts
thanks, and my output is 77mb
Free LCD Screen I need 5 mores refers!!!

#25
RyanVM

RyanVM

    Like a big surly teddy bear.

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,661 posts
That's roughly what mine is too.
RyanVM MSFN Files | RyanVM Forums
Please do not link directly to files on my site or modify/redistribute them without getting my permission first. Link to the above URL instead.
Current Update Pack Release: 2.2.2
(Released April 28, 2008)

BTW, 90% of what I say is kidding around. Don't take things so personally ;)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN