Camarade_Tux
May 2 2006, 11:32 AM
Hi,
Since I've managed to create a small, really up-to-date, stable iso, I'm trying things nLite doesn't (yet) offers.
I disable sfc but I noticed I had to keep ntprint.cat and spX.cat in I386.
As they are useless, couldn't it be emptied ?
On vorck.com, I found an empty sfcfiles.dll; it saves 1.3MB on my HD and a few KB on my disc.
Something similar would be nice IMHO.
If it's not possible, maybe it can be cabbed.
It would save 1MB.
Also, couldn't ntprint.inf also be cabbed.
Thanks.
nuhi
May 2 2006, 12:48 PM
ntprint.cat is removed with Printer Support, spx.cat shoudln't be removed if you want clean setuperr.log...or even installation...can't comment on that, haven't tried it in a long time.
If you want you can make CAT list of unneeded files after SFC has been disabled and I'll be happy to automatically remove them (if one uses components page).
But what about people who enable SFC after install ... hmm maybe to forget this idea?
Camarade_Tux
May 2 2006, 01:03 PM
Yes but if I want to keep Printer support ?
I removed their drivers but I still need them. :/
Why do you mean exactly by this ?
QUOTE
If you want you can make CAT list of unneeded files after SFC has been disabled and I'll be happy to automatically remove them (if one uses components page).
And how could I do it ?
There's something I don't really understand : spx.cat only contains signatures for files updated with this special SP. Am I wrong ?
So spx.cat is needed for files which have been updated, but not others. Then we can think there's a way to make XP not check updated files' signature by telling it files are RTM (does it implies a version equal to 5.1.2600 ?, is there a file to hack so it bypass this check ?).
:?
People who enable SFC after install are bad people.
Seriously ?
I don't know.
nuhi
May 2 2006, 02:06 PM
Why don't you try first.
I think that nlite Remove box will do nicely.
Use virtual machines of course.
Camarade_Tux
May 2 2006, 11:32 PM
[mode w4RRi0r=ON]
zedox
May 3 2006, 03:07 AM
What Nuhi is saying is that you should test weather your system still operates substantially after removing the files you've mentioned...
If they do then let him know what files you removed, and he may implement it into the next release of nlite.
Don't just delete the files, use nlite to remove them.
tommyp
May 3 2006, 03:55 AM
Camarade_Tux - If you are running NLITE on an HFSLIP'd source, make sure you select the driver merge option (A, B or C) in HFSLIP. This will reduce your filecount and i386 folder size when running NLITE.
Camarade_Tux
May 3 2006, 04:57 AM
antonio king, "[mode w4RRi0r=ON]" stood for "I am Rambo, I can do what I want and I'll dig once more into that XP :sound-of-a-weapon-being-reloaded"
tommyp, I once said cab merging created problems with nLite. Forget about it, there's absolutely no problem and now I use it in all my isos (C because nLite will have to decompress/recompress it)
Now, I just need VMWare.
Camarade_Tux
May 3 2006, 08:28 AM
Just to say I'd be happy if I could do tests : VMWare Workstation does not want to install.
Camarade_Tux
May 3 2006, 09:20 AM
1- ntprint.cat and sp1.cat can be cabbed without problem, at least when sfc is disabled. This saves 1.2MB.
Next : see if ntprint.inf and intl.inf can be cabbed (would save 1.7MB)
edit: vmware installed correctly once I change %TEMP% and %TMP% to a path with no space in it.
minigun
May 3 2006, 12:52 PM
Camarade where on that site is the empth sfcfiles.dll??
minigun
May 3 2006, 01:19 PM
on XP pro SP2 ntrpint.cat and sp2.cat cant be cabbed... it gives me a BSOD right at the end of install...
the dummy sfcfiles.dll worked though
wstest
May 3 2006, 07:25 PM
after SFC disable ,i had remove SP2.CAT and working profect..
ntprint.cat and ntprint.inf also can cabbed.but i am not test remove ntprint.cat and cabed intl.inf
Camarade_Tux
May 3 2006, 11:49 PM
minigun, did you only used empty sfcfiles.dll ?
If so, could you try with patched sfc_os.dll ?
Thanks.
@wstest, thanks for your input.
minigun
May 4 2006, 05:45 AM
what sfc_os.dll patch?? the one in nlite?? i had that selected
also tested some more... its the cabbed SP2.cat that causes the blue screen giving the error inacessible boot device
tested more... ntprint.inf and intl.inf can be cabbed
another test and another edit... DBGHELP.DLL can be cabbed saving 333KB on disk

ntdll.dll in i386 folder can be cabbed but the one in i386\system32\ must remain uncabbed
autochk.exe and autofmt.exe must remain un cabbed
regedit.exe, exts.dll, imagehlp.dll can be cabbed
Camarade_Tux
May 4 2006, 11:48 AM
Thanks for your test. I'll do some others asap.
btw, nuhi, nlite calls makecab that way, right ?
CODE
makecab /D CompressionMemory=21 /D CompressionType=LZX ntprint.inf
Another idea I recently got was to upx some files. (got the idea when using a BartPE CD)
I wonder if it will lower memory usage (cache and memory footprint) and how it will impact on CPU usage.
Some files can be upxed for sure (winmine.exe, dxdiag.exe, sol.exe...), some others may not (shell32.dll, explorer.exe)
UPX made shell32.dll switch from 8.01MB to 2.69MB with -9 switch when shell32.dl_ is 2.50MB. (btw, don't use "upx file --best --all-filters --all-methods" instead of "upx file -9", it is MUCH slower [20 times at least] and doesn't bring better compression)
Camarade_Tux
May 6 2006, 09:23 AM
Just cabbed the files minigun told but now my XP is in english !
I used a different version of HFSlip and an updated hotfix so it may be unrelated.
Start button it still named "Démarrer" and most programs are still in French. Maybe something in winnt.sif. :?
See next post.
I'll check that.
Also, (still using only nLite's sfc_os.dll patching), I was able to install XP with ntprint.cat and sp1.cat cabbed.
I removed ntprint.cat and two warnings popped up, but installation did not stop. I only got a complain in Event Viewer.
I was maybe able to delete sp1.cat because I don't have any "sp1.cab" as it got merged into driver.cab thanks to hfslip.
I'll try without cab merging in a second.
Camarade_Tux
May 6 2006, 10:00 AM
The english part is because of the updated hotfix which is in english. :/
minigun
May 7 2006, 04:48 AM
here is a nice update... you can replace SP2.CAT with a blank version saving 0.99MB

also works for ntprint.cat (210KB)
but doesnt work with NT5.cat or nt5inf.cat (setup complains)
Camarade_Tux
May 7 2006, 05:28 AM
Really nice. :woot:
Thanks. ^^
zedox
May 8 2006, 07:11 AM
Once you are finished finding what files can be removed and cabbed, could you please post a small guide for users please!?
minigun
May 8 2006, 08:50 AM
heres a quick batch to compress the files and delte the old
change the directory you have the files in...
CODE
@echo off
cd\location_of_nlited_windows_files\i386
makecab intl.inf intl.in_
makecab ntprint.inf ntprint.in_
makecab DBGHELP.DLL DBGHELP.DL_
makecab ntdll.dll ntdll.dl_
makecab imagehlp.dll imagehlp.dl_
makecab exts.dll exts.dl_
makecab regedit.exe regedit.ex_
del /Q /F intl.inf
del /Q /F ntprint.inf
del /Q /F DBGHELP.DLL
del /Q /F ntdll.dll
del /Q /F regedit.exe
del /Q /F exts.dll
del /Q /F imagehlp.dll
del /Q /F SP2.CAT
del /Q /F ntprint.cat
exit
all you need to do is make 2 blank files one called SP2.CAT (thats if you integrate SP2) and one called ntprint.cat
Camarade_Tux
May 8 2006, 01:04 PM
Use
CODE
makecab /D CompressionMemory=21 /D CompressionType=LZX ntprint.inf
instead of simple makecab, compression will be higher and not much longer.
Also, don't forget you need SFC/WFP to be disabled.
Right now, I'm searching which files present in i386 and in driver.cab can be deleted from i386.
Also, I'm wondering if some files we would like to cab are not needed for recovery console or such things.
(afaik, regedit CANNOT run while windows is in textmode)
zedox
May 9 2006, 04:05 AM
Nice work you guys doing.
What about SP1.CAT ?
Kelsenellenelvian
May 9 2006, 04:19 AM
You can delete SP1.cat. It is no longer even used or looked for once you have SP2 integrated.
zedox
May 11 2006, 04:54 AM
Hey guys, any more files that can be removed or cabbed?
Camarade_Tux
May 20 2006, 06:38 AM
Bump, somebody may be interested in this.

I did not gave up but I'm busy so I can't test right now.
minigun
May 20 2006, 07:12 AM
i dont know what else to do
Camarade_Tux
May 20 2006, 07:26 AM
I was thinking compressing some dll files may cause problems with recovery console.
It's possible but not sure at all since many .exe files simply don't run in PE environnement.
So it should be check imho.
Btw, there's a ntdll.dll file in I386\System32 and it seems it never gets updated. The one in I386 should overwrite that one. That would moreover save some space if -o switch is used to create the iso.
And I think it should not be cabbed it the one in I386\System32 can not be cabbed as well : cabbing it saves 400KB and if the other one is not cabbed you won't take advantage of -o and then it will cost 665KB; 665-400 = 265KB that are not saved.
I probably look weird with all my maths to get an iso smaller by 250KB.
I also wonder why is YAHOO.BMP not removed with nLite : 4KB.
Delprat
May 20 2006, 12:34 PM
You don't look weird with your 250KB saved when you're adding tons of KBxxxxxx...
Why nLite keeps YAHOO.BMP : turn the "H" 90° right (or left), it becomes an "=", put it in place of the point, that transforms in a coma, that moves after the "A", then scramble a bit the extension to make it "PBM", which is the short for "problem".
Now, write what you have, and you'll get toto's head when he tweaks his OS...
++
Camarade_Tux
May 20 2006, 01:10 PM
Nice one.
And good to know I don't look like an ultra-geek.
Camarade_Tux
Jun 24 2006, 11:21 AM
CODE
REM language-dependant
del LISEZMOI.HTM
cd i386
REM only if you disabled sfc (special one)
del /y SVCPACK\*.cat
REM creates an empty SP1.cat
@_ > SP1.cat
REM optimisation only if you use the -o switch when creating the iso
copy ntdll.dll SYSTEM32\ntdll.dll
REM cab as many files as possible
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX NTPRINT.CAT
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX intl.inf
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX dbghelp.dll
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX imagehelp.dll
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX exts.dll
MAKECAB /D CompressionMemory=21 /D CompressionType=LZX regedit.exe
del NTPRINT.CAT
del intl.inf
del dbghelp.dll
del imagehelp.dll
del exts.dll
del regedit.exe
It is to be put in i386, ran, and then removed.
Warning : this is EXPERIMENTAL
PS : reduced my iso by about 4MB.
andregcasal
Oct 28 2006, 04:55 AM
Hum, very nice

For the aim of this post and as i understand:
If you disable Simple File Checker, SP1.CAT can be deleted and a dummy file created in it's place. One question, this file is present in SP1? Because if it is, removing all components with nLite deletes the SVCPACK folder.
QUOTE
REM optimisation only if you use the -o switch when creating the iso
copy ntdll.dll SYSTEM32\ntdll.dll
Didn't quite understood this line. What is the -o switch?
NTPRINT.CAT
intl.inf
dbghelp.dll
imagehelp.dll
exts.dll
regedit.exe
Just curious, these files can be compressed to save how much space?
Camarade_Tux
Oct 28 2006, 05:04 AM
Imagine you have 10 times the *same* file in different folders of your CD.
The -o switch will only write this file once and will redirect to it the other times. It will save space.
As far as I remember, ntdll is required in i386\SYSTEM32 and the files in i386\SYSTEM32 and i386 are not the same (maybe because of one hotfix). So instead of having 716KB (uncompressed) + 400KB (compressed), -o you will give you 716KB only.
NTPRINT and intl.inf are mainly text : they can be highly compressed. On these two files, you can easily save 1MB or more.
regedit.exe is already pretty small.
For the other ones, I can't remember.
I just know my script reduces my source folder by 4 to 5MB after heavy nlitement.
edit : if you disable system file checker, you still need the sp1.cat OR sp2.cat (according to your SP level, not both) but they can be 0-bit.
There's no need fo ra SVCPACK folder : it is directly in i386.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.