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

XP minimal install

- - - - -

  • Please log in to reply
310 replies to this topic

#1
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
after messing around with a whole lot of inf files I'm well on my way to building a light version of XP.

The I386 directory of the install cd is only 296MB and still includes all drivers and language files (but not the LANG directory) The WINDIR directory is 800MB after install and 520 after cleaning DLLCACHE. PROGRAMFILESDIR is completely empty (apart some directories).

Windows setup has a few complaints because some inf files are missing, I will fix the inf files later. Windows boots with only six services running. It feels faster inside VMware than outside...

First I checked out all the inf files in "syssetup.inf" under the [Infs.Always] section and removed the inf files for everything concerning WMP, OOBE, MESSENGER, SR, AU, MSMQ, SHL_IMG, PCHEALTH and some others. Next I checked "sysoc.inf" and removed all the optional components inf files we never need, such as MSNEXPLR, GAMES, ZONEGAMES, DESKPAPER,WBEM, WMI some others, not Netoptional components or IIS (they may be of use to someone)

I removed all the files referenced from these inf responsible for installing all this crap (approx 80MB, not sure) and modded "sysoc.inf" so that the add/remove components wizard does not list them anymore. I did not mod any other inf files, but removed them. this is why setup complains about them, will fix it.

Because I removed OOBE, first boot goes straight to WINLOGON. I also removed the "tour windows xp" feature, it still pops up on first boot, but immediately goes away. Only sideaffect is that my Internet Explorer and outlook express are missing. So I may have accidently deleted an inf to many. Good news is Media player is not installed, nor MSN Explorer, nor Messenger, Automatic updates and system restore are gone in the Control Panel -> System

I am now building a script that will move all the components one by one from your i386 directory, and will also make the changed inf files available if anyone is interested in trying. Would like IE and OE enabled first.

BTW i did not use unattended setup as this would hide some errors. Now working on removing printer drivers from driver.cab which will also save 35 MB.

Let me know if you are ineterested in filemover script and inf files, should have them ready in a few days


How to remove advertisement from MSFN

#2
DaveXP

DaveXP

    The One

  • Member
  • PipPipPipPipPipPip
  • 1,295 posts
sounds good i would be interested in this let me know how it goes. :)

#3
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
Here is a complete list of al the components i removed from xp
it saves about 70MB from your I386 directory

tourw ; windows tour
intl ; some exotic keyboard layouts
sysoc\accessor ; accessories, deskpaper, cursors, templates, ...
sysoc\au ; automatic updates
sysoc\communic ; commapps, dialer, chat hypertrm
sysoc\fp40ext ; frontpage extensions for iis
sysoc\fxsocm ; fax (setup complains about one file)
sysoc\games ; hearts, freecell, ...
sysoc\ieaccess ; internet explorer, shouldnt have done this
sysoc\igames ; zonegames
sysoc\msmsgs ; messenger
sysoc\msnexplr ; msn explorer
sysoc\oeaccess ; outlook express, shouldnt have done this either
sysoc\optional ; accessibility
sysoc\pinball ; pinball game
sysoc\rootau ; autoupdate root certificates
sysoc\wbemoc ; i think this was windows management instrumentation
sysoc\wmaccess ; messenger link
sysoc\wmpocm ; media player stuff
sysoc\wordpad ; wordpad
syssetup\icwnt5 ; internet connection wizard, maybe i should leave this in
syssetup\moviemk ; movie maker
syssetup\mplayer2 ; classic media player
syssetup\msnetmtg ; netmeeting, may be needed for newer messenger
syssetup\mymusic ; media player stuff
syssetup\oobe ; may only work on corporate version
syssetup\pchealth ; help center
syssetup\qmgr ; background intelligent transfers
syssetup\sapi5 ; speech api
syssetup\shl_img ; images for users and some more desktops
syssetup\skins ; media player skins
syssetup\sr ; system restore (also removes the tab in system)
syssetup\srchasst ; search assistants rover and merlin
syssetup\tshoot ; troubleshooter (setup complains here)
syssetup\wmp ; more media player stuff
syssetup\wmtour ; media player tour

#4
Tbone2

Tbone2

    Member

  • Member
  • PipPip
  • 268 posts
WOW

go dude.

smaller possible faster install too.

let us know
Posted Image

#5
Bachus

Bachus

    Advanced Member

  • Member
  • PipPipPip
  • 408 posts
You've been busy! :) Well done. What's the ETA on a script for all this? I may not need to bother with finishing my WMP-removal batch...

#6
rexhsu

rexhsu

    Newbie

  • Member
  • 29 posts
I am very interested in,looking forward to your masterpiece

#7
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
I can probably finish the script (or batch) in the next couple of days. but I would like to make sure IE and OE are installed if you want them to be. Another side effect I have found is that Visual Styles are not installed. I didn't notice at first because I used to disable them from winnt.sif.

Bachus: WMP is not installed. This means none of the files responsible for the install do anything. The files that would have been copied by them are removed from the XPCD and wont be on your SYSTEMDRIVE. Some components however may be copied by another part of Windows Setup and I havent figured out which files they are.

Meanwhile I am also working on Windows Server 2003 to see if it is possible to 'slipstream' .NET(1.1) and WMP9 using the inf files in server and make them show up as optional components in add/remove windows components. But it may be tricky because I read that "syssetup.inf" is signed and cannot be modified.

#8
Datalore

Datalore

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 852 posts
Just curious, did you use Gosh's method first? I can't wait for a guide, I've always wanted to put a full XP install on a mini-cd. :)

#9
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
If anyone is interested, you can use setuplog.txt to make a list of files copied by syssetup.inf. It shows the files copied in order. if anyone is interested i could probably throw up another batch file to remove all that junk.

-gosh

#10
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
Well i made a batch file to remove EVERYTHING that is used by syssetup.inf under [infs.always]. I made the batch file from setuplog.txt. Using excel it only took 5 mins. I didn't however make the infs. So if you want to use this batch file, you will need to make a dummy inf for everything under infs.always. My website has some modified infs under the modified folder.

The batch file is totally harmless, it just copies the files from i386 to a backup folder. To undo my batch file just copy everything from the backup folder to the i386 folder. Run the batch file in the i386 folder. It'll free up exactly 31 megs of compressed files.

Of course, use the batch file with care.

Oh, and i should point out this batch file will probably not remove netmeeting, sh_img.inf or something else, i took the setuplog.txt from a previous install.

http://gosh.msfnhost...oveSyssetup.bat

-gosh

#11
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
While i was at it, i made a batch file to remove all the optional componants (OC) files. Examples of OC files are sysoc.inf, tsoc.inf, just look at all the oc.inf's and youll see what i mean. I don't know what infs are responsible for these files but i'll find out.

Using this file you'll say 8.75 megs. So if you use this batch file and the other one, you'll save almost 40 megs of compressed files.

If anyone is curious how i made both batch files just ask, it just takes 5 mins and excel to do it.

http://gosh.msfnhost...up/RemoveOC.bat

-gosh

#12
joe.avelar

joe.avelar
  • Member
  • 4 posts
@jdeboeck

Nice work! Didn't notice, but are you also planning on removing 16bit support?

#13
Pure Krome

Pure Krome

    Junior

  • Member
  • Pip
  • 73 posts
gosh - can u please explain more about those bat's u have made?

for example, what they are for, where and how they are used, etc.

i tried your website, but it's only info on Longhorn installer.

#14
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
This is going to be a long post but i have to be very detailed for it to make sense.

After the file copy phase setup starts at the 33 min mark. It first installs the .cat files so it can verify drivers are digitally signed. Then it does the hardware detection.

After hardware detection, it seems setup builds a list of things to install. It makes this list from sysoc.inf. What setup does is look at sysoc.inf and look at each inf it references. It then looks at each inf for the section called [Optional Components]. Under this header it looks for what section to look at. For fax for example it has Fax under this header. Then setup looks at that header (this this case Fax), and looks for a modes key. If the modes key doesn't exist, setup ignores the inf and goes to the next inf. If the modes key exists and is structured properly, it adds the inf to a list of inf's to process.

For example in fxsocm.inf under Fax it says this:

;Modes = 0,1,2,3 ;; install fax in all install scenarios

Fax is not installed by default, so to me this tells me if the semicolon was removed, fax would be installed by default.

During setup you can see the list of inf's made by pressing shift + F10, regedit and looking at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponents\

This list is referenced in mk:@MSITStore:D:\Documents%20and%20Settings\Administrator\Desktop\xpsp1deploytools_en\ref.chm::/u_components.htm

After sysoc.inf is parsed and used, setup moves on to syssetup infs.always.

I originally made a batch file to remove the sysoc.inf files, but after studying how setup works i found this is wrong. Like i mentioned, things like fax aren't installed by default. Therefore fax won't be in the list xp setup makes to install. Since it's not being installed, the fax files won't be in setuplog.txt which i made the batch file from.

So what this means is my original batch file that saved 8 megs, only removed the files installed by default, it didn't remove all the files used by sysoc.inf. What i need to do is edit all the infs referenced by sysoc.inf and add a Modes= line to each of them so setup processes and installs everything. That way i can remove every file sysoc.inf installs.

As far as Modes=, i didn't find ANY documentation on this switch anywhere. If anyone can enlighten me about what Modes= does i would appreciate it.



-gosh

#15
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
did you notice the names of components in sysoc.inf are the same as those in [components] in winnt.sif? i've tried it for some and it works...

but wait! I've just completed a set of batch files to remove ALL unwanted drivers. if you do this it can save you up to 80mb of space on your xpcd.

1) Unpack driver.cab and sp1.cab into i386\driver and i386\sp1 and put these batch files in your root folder (next to i386).

2) Run the appropriate file for whatever you dont need (modems, graphics adapters, nics, junk, ...) and the unwanted drivers are moved into subdirectories. Pack your driver and sp1 directories back together (i used powerarchiver) and you have driver.cab (~15mb) and sp1.cab (~5mb)

3) Remove the subdirectories created by the batch files (or expand *.*_ files in them and then you can put what you need with your $OEM$ drivers)

NOTE 1) I have only removed specific device drivers, not microsoft generic or virtual drivers, I was careful not to move remove common/shared files if a driver requires them, but i'm not sure i got them all right (there are over 5000 files in driver.cab and i'm left with only 500)
NOTE 2) I do not have batch files for printer drivers and audio drivers yet
NOTE 3) I do not have a script for cleaning up dosnet.inf yet, so textmode setup does complain about missing files

Try out batch files for removing graphics drivers, modems, nics, multiport drivers, cameras, mp3 players, game controllers, scanners (printers and soundcards coming soon)

#16
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
and i have just tested windows without drivers on a real pc (not vmware) and it works perfectly. Only my display adapter is not recognized, but that driver wasnt included in windows.

when i figure out all the files that can be removed I will write one script to patch dosnet.inf from the removed file list.

my xp cd must go under 200mb...

#17
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
@gosh

putting ; in your sysoc.inf will hide it from the "optional components wizard" in add/remove software. if you do it you can no longer install it afterwards.
what is installed by default is done like we do it in [components] of winnt.sif. (just put componentname = Off in there) I think there is a file that contains defaults for this section in winnt.sif

#18
Bachus

Bachus

    Advanced Member

  • Member
  • PipPipPip
  • 408 posts
Oddly enough, my driver.cab is only 47mb now--far from ~15mb. :) I ran all the batches but two (game controllers). There were still ~4,100 files in the directory, too.

#19
jdeboeck

jdeboeck

    Advanced Member

  • Member
  • PipPipPip
  • 376 posts
as i said the batch file to remove printers is not yet finished... this removes will remove most of the files (ppd and gpd files), i did take them out of my cd and will make the batch file available as soon as its done. There are 3000 or so files in the list and i want to make sure, nothing important like printer.sys or lpt.sys is accidently removed.

#20
Rancor

Rancor

    Junior Monster

  • Member
  • 45 posts
Sounds very nice jdeboeck, keep up the good work :)
- Rancor

#21
SKiTLz

SKiTLz

    Dole Bludger

  • Member
  • PipPip
  • 215 posts
how on earth do some of you people work out this stuff? How do you trak the setup to know what its doing at each point in time?
It takes a big man to cry, but it takes a bigger man to laugh at that man

#22
un4given1

un4given1

    Elaborate Dreamer

  • Member
  • PipPipPipPipPipPipPip
  • 1,796 posts
Trail and error.. :)

Here's a little secret for you (and anyone else who didn't know about it)... at any time during the GuiMode Setup you can press SHIFT+F10 and you will get a command prompt. It's a useful tool. You can look at the state of things at different points and determine what you might need to do to accomplish something...
What if everything around you, isn't quite as it seems...
What if all the world you used to know, is an elaborate dream...
And if you look at your reflection, Is that all you want to be?
What if you could look right through the cracks, Would you find yourself... find yourself afraid to see?

#23
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
Shift + F10 is good, and setup logs everything in setuplog.txt. It even says what sections of inf's it processes. Just search your setuplog.txt file for sr.inf and you'll see the section called by syssetup.inf.

Searching the inf folder is another great help. Just search your inf folder for componants or Modes or Profileitems.

-gosh

#24
Datalore

Datalore

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 852 posts
jdeboeck, you have my respect and admiration. I can't wait for the finished guide... A bloat-free XP installer on a mini-cd is like a dream come true. One question- Did you use Gosh's "Unattended Secret - Reducing Size of Source" guide first to remove unnecessary stuff? And you mentioned a clean install starts with only 6 processes running... Is this with or without network support? Thanks so much for posting what you have, and I'm looking forward to your reply.

#25
gosh

gosh

    gosh 2.0

  • Patrons
  • 2,347 posts
  • OS:none specified
  • Country: Country Flag
You could also do this to silently install/uninstall a componant.

http://support.micro...b;en-us;Q222444

-gosh




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN