Jump to content

nLite - Windows reduction tool


Recommended Posts

This thread is old, refer to website for more recent info.

Visit webpage for latest updates and downloads, this topic contains outdated information.


Here is a thing i've been working on.

Mainly, it's a little bit of a slipstreamer, customizer, reducer and iso creator all in one package.

Works for every version of Windows XP installation, so far tested up to slipsteamed SP2 build 2144.

To avoid confusion, this is for pre-installation, not like XPlite which is post installation customizer.

It's written in .NET so you will need Framework to run it.

Quick overview (download below):

1. Slipstream

After you extract it to any folder and ran it, you can browse and point to folder on hard drive which contains your Windows installation.

If you pointed to right folder with i386 in it and Windows id files, nLite will detect if you have already slipstreamed SP1 or SP2,

and if not it will change Browse button to Slipstream, when pressed it asks for Service Pack installation file (or update.exe if you extracted it).

Then it Slipstreams it passively. Or you can configure your existing version without slipstreaming.

2. Customize/Reduce

Choose which components to remove from your Windows installation permanently.

It's version independent, it's possible because I'm not using filelists, well, allmost.

There is only an inf-filelist which then gets parsed for used files, so ~95% of file names are automatically generated from your own inf's.

The other 5% are manually added.

Most likely nLite will work with future versions of Windows XP without any problem.

3. Advanced Options

Make sure to keep Data directory with nLite and all the files in it unrenamed.

Added automatic hacking of syssetup.dll for OOBE disabling (if you choose to remove it, this will not crack Activation).

SFC is entirely disabled too simply by copying hacked dll from Data and adjusting registry.

Many options to add in the future, priority so far was on reduction issues.

4. Make ISO

This section is using external file data\cdimage.exe which I believe don't need introducing.

When reduction process finishes you can copy additional files to installation directory and then press Make ISO, it will ask you

for desired ISO name and location.

Then you can burn it and/or test it.

(included boot sector is default from ms cd, if you are using, for example cdshell, you need to replace Data\bootsector.bin)

used external files in data directory


-xp cd bootsector


-hacked sfc

-winnt.sif (paste into yours if you don't have these lines) - this is not crucial, only significant thing is that it prevents some driver signature issues and dllcache gets smaller.It's recommended that you make your own, follow instructions from here

-icon taken from G.A.N.T. collection

To sum it up, if you don't know what is this stuff in data dir or some advanced options, you don't need to bother,

just select in nLite what you don't need, everything will be done automatically.

Be sure to have at least 500mb free on drive on which is your installation.

If you run into any errors just see nLite.log and let me know if something was removed but was not supposed to.

Don't play with Experimental section if you don't know what you are doing.

Edited by nuhi
Link to comment
Share on other sites

wow great! i would like to know though, aside from making an iso, does it have an option of removing files only from the installer? letting me manually choose to make iso or use another app (like nero) for gerenating isos? thanks.

Link to comment
Share on other sites

If I understood you right, yes you can make ISO however you want, as you can see from screenshot it's your choice.

After reduction it stops and asks for ISO creation.

Link to comment
Share on other sites

just curious on the removing, did you base it off jdoebeck's batches, or is it truly parsing through the INFs in I386 for setup files?

You said you use an INF file list, is that the list of INFs you search through? or is it dynamically created?

Great work though. Looks quite impressive.

Link to comment
Share on other sites

@Alanoll, inf list in manually written for every program because there is no section in windows installation for that, some of them have few infs named completely differently.

So, there is an inf file list, then it parses through those infs and generates file list of used files in that inf, that totaly dynamic, there is no file list like in jdoebeck's batches, that was a tricky part but it works.

I don't know what means based on jdoebeck's batches, if you think that i too replace [DefaultInstall] rows with blanks than yes :)

Couple of new components introduced in sp2 are added only if sp2 is detected.

Planning to make a detection of already removed components, and there shouldn't be a problem integrating even Win2k in the future but i'm not that interested.

@[bM]Crusher, let me know if you encounter any problems, after all this is first public release, so there could be glitches

Link to comment
Share on other sites

by based, I meant the idea and the method of removal.

By getting the file list, and blank it in the INF and then removing from TXTSETUP.SIF and DOSNET.INF. Looks like the same general concept, only you get the file list dynamically, while his is hardcode copied from the original INF.

Link to comment
Share on other sites

Alanoll, if you look at it like that than it's the same.

Tried hacking syssetup.inf but without luck.

Don't think that i'm not giving credit where credit is due, i thougt about it and came to conclusion that we all know from where files are getting copied from and i didn't took a single line from his batches.

hinet, you could translate it to me, but it looks like you are using some language files i deleted. Try not to touch Language Support.

Link to comment
Share on other sites

possible translation?


Oh, I could tell you didn't take anyone's ideas. You're method is different from jdoebeck's. Therefore, no need to give credit.

as for syssetup.inf, you do know it's signed right? but it might be a good file to look through to find INF files. Just an idea. Never really looked into it.

Link to comment
Share on other sites

@Alanoll, ok, concerning syssetup, i know it's signed, probably check calls are in syssetup.dll but it's out of my league for now.

Infs are listed in there but without label, there is for example just [DeviceInfsToInstall] section with a bunch of infs which don't mean anything if i don't group them by names and put couple of them under certain driver group.

Edit: Chris Lee, thanx for translation

hinet, try again without any Language Support option and if it failes again just send me your txtsetup.sif file after the reduction (located in i386 directory).

You can send it to nuhi (at) softhome (dot) net

Link to comment
Share on other sites

@nuhi, will the resulting trimmed-down xpcd install well with all pc configurations? or is it designed to work only on the pc where it was created from? i am worried it might break with a modified txtsetup.sif file (i added a couple of mass storage drivers there).

Link to comment
Share on other sites

Holy mackeral Holy cow Holy Jesus!

First time test on service pack 1 xp i removed all components except for the following.

Internet Explorer

Outlook Express


MS Agent

Manual Installation winnt32


The result.....removed 343mb and i386 dir was now 166mb wow! and built iso no problem. In my root dir there was still dotnetfx.exe dir and files net framework which was 35mb so i delete this as i dont need.

Having this gui is easier to remove components and no lots of bat files to run 1 at a time using jdoebeck's method. I dont know if you use the same method to remove files from inf. At first glance it seems more choice of components to remove with nlite.

Came to install all fine until 33 min mark installing devices and up popped setup cannot copy the following file s3legacy.sys and also s3legacy.dll which im sure is part of the s3 graphic chipset driver so i cancel and it resumes installing. No more errors popup :)

EDIT: The above s3 error has now been fixed.

Boot into windows all components are gone as chosen.

Tested using VirtualPc 2004

Great Stuff !! Great Work !! Great Result!! from this 1st release

Link to comment
Share on other sites

@edmoncu, it will work just fine.

If you encounter any file missing just look in nlite.log in what section it was and don't select it next time.

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