Have you ever been into situation when you wish Windows can install the drivers for you hard disk drive controller from USB flash drive or network instead of Floppy Disk Drive which are becoming obsolete day by day. Well, I been into those situations where I need to provide SATA RAID controller drivers for my PC which unfortunately doesn’t have old fashioned ATA floppy disk drive. And even though I can use USB floppy disk drive to provide the drivers during first stage (text based) Windows installer, it will refuse to use the same drivers from USB floppy disk drive during second stage (Graphical based) installer. I started searching as how I can work around to this problem and one of the method which I came across is called slip-streaming. Basically slip-streaming means customizing the Windows install CDs.
Now there are number of other reasons for customizing install CDs other than just adding custom drivers to it. These include adding latest service packs to install CD, including custom softwares, automating the installation where you don’t have to enter Name, Company Name, CD Keys etc manually. This is very helpful if you manage multiple PCs or have test lab environment where you need to re-install Windows again and again and you wish that you don’t have to sit in front of monitor during the installation.
There are number of ways you can do slip-streaming and most of it includes copying files here and there and changing some INI files to include your custom drivers or automating installation. But as always, easiest and simplest method is to have some kind of GUI tool to do all of this for you. Many thanks to Dino Nuhagic, who created Windows based tool to do exactly this and its called nLite (http://www.nliteos.com). You can download this powerful tool from http://www.nliteos.com/download.html.
So, lets get started and customize that Windows installation CD of yours. nLite can customize any release of Windows 2000, Windows XP and Windows 2003. If you want to customize Windows Vista, than you will need vLite (http://www.vlite.net/). In this tutorial, I will be customizing Windows 2003 Standard R2 so all the screenshots and steps are related to nLite.
To run nLite, you will following:
- You must be running any 32 or 64 bit version of Windows XP and above. It could be Windows Vista tool. Remember, nLite doesn’t support customizing Windows Vista install disks but it can run on Windows Vista.
- .NET Framework 2.0 should be installed. If it is not installed, nLite installer will do it for you
Now to customize the Windows installation disk, you will need either the Windows install CD or the ISO image file.
- Download nLite from http://www.nliteos.com/download.html
- Run the downloaded installer to start the installation.
- The installation is very straight forward so just follow the installation wizard and keep clicking those NEXT buttons 🙂
Customizing Windows Install CD
- Insert the Windows installation CD (Disc 1 if you have multiple install CDs) in CD Drive.
- Create a folder on your hard disk drive and copy all the contents of CD to this folder. In my case, I have created folder named C:\Temp\Win2003 and copied all the files from my E: (which is the mount letter assigned to DVD drive on my laptop). Below screen shot shows the contents of C:\Temp\Win2003 after copying the contents of install CD.
BTW… you can skip this step if you would like and you can select the CD device in next step. In that case, you will be prompted for the directory name where you would like to copy the contents of install CD. So in other words, nLite will do the copy for you.
Also, If you have ISO image file of Install CD, you can either use MagicDisc (free utility) to mount the ISO image or just use 7-zip to extract the contents of ISO file.
- Launch the nLite from Start -> Programs or desktop launcher.
- Select the language you would like to use. Default is English.
- Type the absolute path to directory where you copied the contents of install disc or click the browse button to browse and select the directory. In my case, the path is C:\Temp\Win2003. Once you select the correct path to contents of install disc and all the install files are found, nLite will display the details about Windows install media found as shown in below screen shot.
- Click Next button to move to next step which will bring you to Presets dialog box. This lets you import the presets from your saved configuration file. If you haven’t use nLite before, obviously you don’t have any presets so lets just move to next dialog box.
- The next dialog box is Task Selection which is core of nLite and will let you do some really powerful customization to install disc. Below is the screenshot of this dialog box.
All the customization options are orgainized nicely into four categories:
Integrate will let you integrate service packs, hotfixes and updates and/or the drivers.
Remove will let you remove the Windows components such as unwanted drivers, language packs etc.
Setup lets you configure unattended options such as adding product key, company name etc.
Create will create the bootable ISO image for you.
You don’t have to go through each of the tasks if you don’t want to and you can even jump directly to creating bootable ISO image. But for the sake of this tutorial, we will go through each of the task and see what are the options available. So click on All button located below the task list to select all the tasks or you can select individual tasks by clicking on name of task. Once the task is selected, it will be highlighted with blue color background. Click Next button after selecting all the tasks.
- The next dialog box is where you can add a Service Pack to your customized install CD. nLite will display the current service pack and build number of install media you have.
Select button will let you browse and select the EXE file for the service pack you want to include. In my case, I am running the latest service pack SP2 so I will just click on Next button to move ahead. nLite also provides link to product pages of all three type of Windows OS supported by nLite so you can visit those links and figure out what is the latest Service Pack available for your product.
- The next dialog box let you select the latest hotfixes for your operating system. I think integrating hotfixes into the slip-streaming is bit complicated. First of all there is no easy way to figure out which hotfixes are part of your service pack and which are not. Second, you have to download each of the hotfix manually from Microsoft website after searching through the Knowledgebases. And on top of that Integration is done from old to new so you have to place the oldest hotfix on top of list and newest hotfix on the bottom. nLite make it it will let you sort the hotfixes by release date and arrange them automatically. But I think unless your install rely on some hotfix (for example, having iSCSI hotfix becuase you will be installing on iSCSI device), you can skip this step and use Windows Update tool to apply the hotfixes. For this tutorial sake, I am adding a hotfix released to fix the ADAM issue as described in http://support.microsoft.com/kb/955326/en-us. Below screen shot shows the hotfix dialog box with hotfix added in the list.
Click on Next button which will take you to Drivers dialog box.
- Drivers dialog box let you add drivers which are not part of Windows Install CD or you can include the updated 3rd part drivers for drivers which are included. When you click on Insert button, you will get two options – Single Driver and Multiple Driver Folder. If you are only going to insert single drivers, select the first option which is Single Driver and browse to the folder where you have the driver INF files stored. Below is the screen shot of dialog box after you select the INI file to be inserted.
From the list of drivers supported by your INF file, select the one which matches your hardware. If you only get one listed, you should consider yourself luck 🙂 . If your drivers are Plug and Play, you can also select Regular PNP driver option. In my case, If selected Intel(R) ICH7MDH SATA RAID Controller. Cick Ok button after selecting your driver and follow the same process to add more drivers if you need to. Click Next button to move on.
- Next dialog box in series is Components which let you remove the Windows components. nLite provides you two nice tools on this dialog box to ease the pain of removing components
Find tool lets you easily find a specific component which you might want to remove.
Compatibility tool let you select the functionality so you don’t end up accidently remove any of the components required to provide that functionality. Below screen shot shows the Compatibility dialog box.
- In Components section I selected most of the foreign languages to be removed as shown in below screen shot.
Click the Next button to move onto Unattended installation setup dialog box.
- Unattended dialog box is the crowded one with number of tabs to configure different options for unattended installation of Windows. You can leave most of these options set to default but if you want to change these options, I suggest that you click on small help icon marked with ‘?’ to read more about these options. Below screen shot shows the General tab of Unattended dialog box.
- RunOnce tab will let you add the commands that can run once during installation. You can even add some programs or scripts to run under tab. For example, you can create a folder under root of your CD tree (in this case C:\Temp\Win2003) and copy some custom programs and scripts under this folder which can be ran during installation. Lets say I want to run Intel Network driver install utility. I can create a folder named Addons under C:\Temp\Win2003 and place the PRO2KXP_v13_1_2.exe (installation file for network drivers) file under this folder. Now you can add the below commands to RunOnce list.%SOURCE%Addons\PRO2KXP_v13_1_2.exe /s /e /f %SYSTEMDRIVE%IntelDrivers
%SYSTEMDRIVE%IntelDrivers\DxSetup.exe /qn /liew C:\%SYSTEMDRIVE%\IntelDrivers\install.log
The %SOURCE% variable is available in nLite which is reference to installation source whereas %SYSTEMDRIVE% is the drive letter where the windows will be installed. Below is the screen shot of Unattended dialog box’s RunOnce tab.
- On the Users tab of Unattended dialog box, you can add new users which will be automatically created as part of installation. You can also set password for Administrator user on this tab.
- On the Owner and Network ID tab, you can set the name of computer and can also set to join the domain as part of installation.
- Under Regional tab, you can configure different settings like language, Keyboard, Location and Time Zone as per your region.
- On Network Settings tab, you can network settings for Ethernet adapters. By default, there are some preset settings assigned for first Ethernet adapter. By selecting Custom from drop down menu, you can enable or disable different network protocols and can also add more Ethernet adapters and configure their settings.
- Under Desktop Themes tab, you can integrate new themes and also set different color schemes and font settings.
- On Automatic Updates tab, you can configure different settings related to Windows updates.
- Under Display tab, you can configure various options related to Windows display. It includes setting up color resolution and depth.
- The last tab is Components which let you install Internet Information Services (IIS) and Security Configuration Wizard (SCW).
- Click on the Next button which will take you to Options page. This page brings all the important settings at one page including configuring the path for default Windows folders.
- The Next page on the list is Tweaks which let you tweak number of operating systems registry entries which effects the behavior of OS. You can click on Advanced option which will shows number of additional options. Below screen shot shows the Tweaks page with some Networking related registry tweaks selected.
- On Tweaks page, you can also configure the services start options. You can double click on the status of the service to set it to Default, Automatic or Manual.
- Once you are done with setting the tweaks, click on Next button which will take you to Processing page of nLite. A prompt will appear to confirm whether to apply changes or not.
- Once you click on Yes button or confirmation dialog box, processing of each of installation customization will start. If you have include some hotfixes in compressed package, Microsoft Self-Extractor will be automatically launched to extract those hotfixes. You will be prompted for path to directory where you would like to extract the files for hotfixes.
- Once all the processing for customization is done, a summary screen will appear as shown in below screen shot.
- Click Next to move onto final step of creating the bootable ISO image. nLite also support burning the image on CD as well as Direct Burn and Erase RW CD. On this screen you can change the CD label. Below screen shot shows the dialog box with Burn Image option selected
To start creating the ISO image, click the button labeled Make ISO which will open the file selection dialog box to select the ISO image filename. The ISO image creation process can take few minutes to finish.
And below screen shot shows the dialog box with Burn Image option selected. You can select the device to write CD with and other settings related to CD writing.
Well, that concludes this tutorial and I hope this will be of some help to you.
Also, if you run into issue with nLite, there is good help available from nLite developer and community at nLite Discussion Forum.