Jump to content

XP SP2 slimming batchfiles


Recommended Posts

My batchfiles will optionally create the bootfolder. Any files that are not in dosnet.inf will be removed from the source. This should slim down nearly as much as gosh's reduced source, but still give you the option to install from windows, and decide on removing optional languages manually...

Link to comment
Share on other sites

I wrote a simple INF parser in perl, which reads through INF files and parses CopyFiles statements. For stuff that is not copied by an INF file I look up the target directory (filename=1,,,,,,%TARGETDIR%,0,0) in txtsetup.sif.

Link to comment
Share on other sites

nice method.

maybe if you plan to work on xp, then i can help you with 2k3.

i'm interested in slimming both of these OS's.

even in server family there are unneccessary components.

and why i started interesting in slimming - no component - no security issue.

like this. i don't use IE. and there are some critical vulnerabilities in it.

remove IE, and you're protected and don't need to install hotfixes.. or do? :)

Link to comment
Share on other sites

one more thing.

even if i remove components from source, their directories still keep being created. where is it controlled? i'm crazy with having empty internet explorer folder in my %programfilesdir%..

Link to comment
Share on other sites

When for instance IE is removed the directory is not created as usual. I believe Windows File Protection (SFC) is (re)creating the directories, when it is run at some point during setup. I have no idea where SFC gets the list of directories to recreate

Link to comment
Share on other sites

jdeboeck, ive created an sp2 rc1 slipstreamed cd, if i create an unattended cd and tell it not to install msn explorer and windows messenger can i delete these installation files, ifso where about are they ? i also would like to remove wm8 and movie maker 1.

im pref looking for help to do this by changing the .sif files and the other ones and deleting the installation files like msn explorer and windows messenger.

i would be grateful for any help !!!

Link to comment
Share on other sites

they have their own inf. so alter the inf so it doesn't do anything

than u may delete those files but first remove them from dosnet.inf and txtsetup.sif so u don't get any errors.

movie maker = moviemk.inf or moviemk.in_

messenger = msmsgs.inf or msmsgs.in_

msn explorer = msnmsn.inf or msnmsn.in_

look at msnetmtg.inf i seem to have changed it but i forgot what it is..

media player i don't know

grab the current remove.zip for sp1 and check out the wmp8 remove batch and try to play with it for sp2 if u want. (i'm sure jdeboeck will make sure its there for sp2 remove)

Link to comment
Share on other sites

@hajj: if you set messenger and msnexplr off in winnt.sif, the files won't be needed. However just removing them will cause errors when copying files.

moviemaker 1 and media player 8 are not installed by XP SP2 RC1, I mentioned that the files were not removed from the source. This means they take up space on the cd, but are not in dosnet.inf or txtsetup.sif... It is possible the slipstream process will be cleaned up, but SP1 had similar issues (ati drivers in i386 among others, which carried over to SP2)...

Link to comment
Share on other sites

yeah, thats what i meant, setting them as off in winnt.sif. bit confused on whether your saying i can remove the mm1, messenger and msneplorer files from the cd or not.

do you know where these files are, i want to make the cd smaller as i want to make it unattended and put some more programs on that i want like java 1,.4.2 sdk

Link to comment
Share on other sites


XtremeMaC already told you to grab REMOVE.ZIP.

look at jdeboeck's signature seriously and you'll find how to get rid of those files.


is xpsp2rc1 limited to 180 days? what if i use it with corporate version?

Link to comment
Share on other sites

jdeboeck, below is your code for the msn explorer batch file, please can you explain it, not sure exactly which files i have to delete and which references from each file.

do i put this .cmd file in a directory and execute it and it automatically removes all the files it dosent need or do i have to manually delete all of the files listed below?


p.s do you know how many mb this takes off the sp2 rc1 integrated cd ?

"@echo off

if not exist optional mkdir optional

if not exist optional\msnmsn mkdir optional\msnmsn

rem Moving files

move i386\msnmsn.in_ optional\msnmsn

move i386\ocmsn.dl_ optional\msnmsn

move i386\msn.in_ optional\msnmsn

move i386\msnupgrd.in_ optional\msnmsn

move i386\msnmigr.in_ optional\msnmsn

move i386\auupdate.ex_ optional\msnmsn

move i386\copymar.ex_ optional\msnmsn

move i386\dw.ex_ optional\msnmsn

move i386\msn6.ex_ optional\msnmsn

move i386\msnunin.ex_ optional\msnmsn

move i386\csapi3t1.dl_ optional\msnmsn

move i386\custdial.dl_ optional\msnmsn

move i386\logonmgr.dl_ optional\msnmsn

move i386\msdbx.dl_ optional\msnmsn

move i386\msdwintl.dl_ optional\msnmsn

move i386\msmom.dl_ optional\msnmsn

move i386\msn9xmig.dl_ optional\msnmsn

move i386\msncsapi.dl_ optional\msnmsn

move i386\msnntmig.dl_ optional\msnmsn

move i386\msnmetal.dl_ optional\msnmsn

move i386\msnmetal.jc_ optional\msnmsn

move i386\msnmetal.we_ optional\msnmsn

move i386\msnmigr.dl_ optional\msnmsn

move i386\msnmtllc.dl_ optional\msnmsn

move i386\msnspell.dl_ optional\msnmsn

move i386\sqdll.dl_ optional\msnmsn

move i386\popc.dl_ optional\msnmsn

move i386\msnlicen.tx_ optional\msnmsn

move i386\manifest.xm_ optional\msnmsn

move i386\msnemail.ic_ optional\msnmsn

move i386\msncpq.ic_ optional\msnmsn

move i386\msndell.ic_ optional\msnmsn

move i386\msnms.ic_ optional\msnmsn

move i386\msnread.ht_ optional\msnmsn

move i386\privacy.ht_ optional\msnmsn

move i386\highcont.ma_ optional\msnmsn

move i386\mail.ma_ optional\msnmsn

move i386\market.ma_ optional\msnmsn

move i386\market.in_ optional\msnmsn

move i386\signup.ma_ optional\msnmsn

move i386\themedef.ma_ optional\msnmsn

move i386\ui.ma_ optional\msnmsn

move i386\msn14.ma_ optional\msnmsn

move i386\msn14.in_ optional\msnmsn

move i386\msn36.ma_ optional\msnmsn

move i386\msn36.in_ optional\msnmsn

move i386\msn100.ma_ optional\msnmsn

move i386\msn100.in_ optional\msnmsn

move i386\msn150.ma_ optional\msnmsn

move i386\msn150.in_ optional\msnmsn

move i386\msn163.ma_ optional\msnmsn

move i386\msn163.in_ optional\msnmsn

move i386\msn188.ma_ optional\msnmsn

move i386\msn188.in_ optional\msnmsn

move i386\msn220.ma_ optional\msnmsn

move i386\msn220.in_ optional\msnmsn

move i386\msn222.ma_ optional\msnmsn

move i386\msn222.in_ optional\msnmsn

move i386\msn238.ma_ optional\msnmsn

move i386\msn238.in_ optional\msnmsn

rem Updating txtsetup.sif

echo msnmsn.inf>> txtsetup.log

echo ocmsn.dll>> txtsetup.log

echo msn.inf>> txtsetup.log

echo msnupgrd.inf>> txtsetup.log

echo auupdate.exe>> txtsetup.log

echo copymar.exe>> txtsetup.log

echo dw.exe>> txtsetup.log

echo msn6.exe>> txtsetup.log

echo msnunin.exe>> txtsetup.log

echo csapi3t1.dll>> txtsetup.log

echo custdial.dll>> txtsetup.log

echo logonmgr.dll>> txtsetup.log

echo msdbx.dll>> txtsetup.log

echo msdwintl.dll>> txtsetup.log

echo msmom.dll>> txtsetup.log

echo msn9xmig.dll>> txtsetup.log

echo msncsapi.dll>> txtsetup.log

echo msnntmig.dll>> txtsetup.log

echo msnmetal.dll>> txtsetup.log

echo msnmetal.jcf>> txtsetup.log

echo msnmetal.we>> txtsetup.log

echo msnmigr.dll>> txtsetup.log

echo msnmigr.ini>> txtsetup.log

echo msnmtllc.dll>> txtsetup.log

echo msnspell.dll>> txtsetup.log

echo sqdll.dll>> txtsetup.log

echo popc.dll>> txtsetup.log

echo msnlicen.txt>> txtsetup.log

echo manifest.xml>> txtsetup.log

echo msnemail.ico>> txtsetup.log

echo msncpq.ico>> txtsetup.log

echo msndell.ico>> txtsetup.log

echo msnms.ico>> txtsetup.log

echo msnread.htm>> txtsetup.log

echo privacy.htm>> txtsetup.log

echo highcont.mar>> txtsetup.log

echo mail.mar>> txtsetup.log

echo market.mar>> txtsetup.log

echo market.ini>> txtsetup.log

echo signup.mar>> txtsetup.log

echo themedef.mar>> txtsetup.log

echo ui.mar>> txtsetup.log

echo msn14.mar>> txtsetup.log

echo msn14.ini>> txtsetup.log

echo msn36.mar>> txtsetup.log

echo msn36.ini>> txtsetup.log

echo msn100.mar>> txtsetup.log

echo msn100.ini>> txtsetup.log

echo msn150.mar>> txtsetup.log

echo msn150.ini>> txtsetup.log

echo msn163.mar>> txtsetup.log

echo msn163.ini>> txtsetup.log

echo msn188.mar>> txtsetup.log

echo msn188.ini>> txtsetup.log

echo msn220.mar>> txtsetup.log

echo msn220.ini>> txtsetup.log

echo msn222.mar>> txtsetup.log

echo msn222.ini>> txtsetup.log

echo msn238.mar>> txtsetup.log

echo msn238.ini>> txtsetup.log

findstr /v /b /i /g:txtsetup.log i386\txtsetup.sif > txtsetup.sif

move txtsetup.sif i386\txtsetup.sif

del txtsetup.log

rem Updating dosnet.inf

echo d1,msnmsn.inf>> dosnet.log

echo d1,ocmsn.dll>> dosnet.log

echo d1,msn.inf>> dosnet.log

echo d1,msnupgrd.inf>> dosnet.log

echo d1,auupdate.exe>> dosnet.log

echo d1,copymar.exe>> dosnet.log

echo d1,dw.exe>> dosnet.log

echo d1,msn6.exe>> dosnet.log

echo d1,msnunin.exe>> dosnet.log

echo d1,csapi3t1.dll>> dosnet.log

echo d1,custdial.dll>> dosnet.log

echo d1,logonmgr.dll>> dosnet.log

echo d1,msdbx.dll>> dosnet.log

echo d1,msdwintl.dll>> dosnet.log

echo d1,msmom.dll>> dosnet.log

echo d1,msn9xmig.dll>> dosnet.log

echo d1,msncsapi.dll>> dosnet.log

echo d1,msnntmig.dll>> dosnet.log

echo d1,msnmetal.dll>> dosnet.log

echo d1,msnmetal.jcf>> dosnet.log

echo d1,msnmetal.we>> dosnet.log

echo d1,msnmigr.dll>> dosnet.log

echo d1,msnmigr.ini>> dosnet.log

echo d1,msnmtllc.dll>> dosnet.log

echo d1,msnspell.dll>> dosnet.log

echo d1,sqdll.dll>> dosnet.log

echo d1,popc.dll>> dosnet.log

echo d1,msnlicen.txt>> dosnet.log

echo d1,manifest.xml>> dosnet.log

echo d1,msnemail.ico>> dosnet.log

echo d1,msncpq.ico>> dosnet.log

echo d1,msndell.ico>> dosnet.log

echo d1,msnms.ico>> dosnet.log

echo d1,msnread.htm>> dosnet.log

echo d1,privacy.htm>> dosnet.log

echo d1,highcont.mar>> dosnet.log

echo d1,mail.mar>> dosnet.log

echo d1,market.mar>> dosnet.log

echo d1,market.ini>> dosnet.log

echo d1,signup.mar>> dosnet.log

echo d1,themedef.mar>> dosnet.log

echo d1,ui.mar>> dosnet.log

echo d1,msn14.mar>> dosnet.log

echo d1,msn14.ini>> dosnet.log

echo d1,msn36.mar>> dosnet.log

echo d1,msn36.ini>> dosnet.log

echo d1,msn100.mar>> dosnet.log

echo d1,msn100.ini>> dosnet.log

echo d1,msn150.mar>> dosnet.log

echo d1,msn150.ini>> dosnet.log

echo d1,msn163.mar>> dosnet.log

echo d1,msn163.ini>> dosnet.log

echo d1,msn188.mar>> dosnet.log

echo d1,msn188.ini>> dosnet.log

echo d1,msn220.mar>> dosnet.log

echo d1,msn220.ini>> dosnet.log

echo d1,msn222.mar>> dosnet.log

echo d1,msn222.ini>> dosnet.log

echo d1,msn238.mar>> dosnet.log

echo d1,msn238.ini>> dosnet.log

findstr /v /b /i /g:dosnet.log i386\dosnet.inf > dosnet.inf

move dosnet.inf i386\dosnet.inf

del dosnet.log

rem Updating optional components

expand -r i386\sysoc.in_

findstr /v /i /c:msnmsn.inf i386\sysoc.inf > sysoc.inf

move sysoc.inf i386\sysoc.inf

makecab i386\sysoc.inf i386\sysoc.in_

del i386\sysoc.inf"

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