Does this site look plain?

This site uses advanced css techniques

SBS logo We recently attempted to install Windows Small Business Server 2003 onto a rackmount computer that had a 3Ware RAID controller not supported by the setup CD, and no CD-ROM or floppy drive. This machine was housed in a data center 400 miles away, and even with a USB floppy and CD-ROM drive, we were not able to get the RAID controller's driver recognized by Windows, and we returned home from our trek with no success whatsoever.

Table of Contents

Frustrated by this, and intending not to make another wasted trip, we purchased an identical RAID controller — a 3Ware 8006-2LP — and studied the process from home. We ended up creating a slipstreamed SBS2003 installation CD with the 3Ware driver built in.

With the increasing number of machines being shipped without floppy drives (and the popularity of cheap, high-performance RAID controllers), we think that this problem is going to get worse before it gets better. It took some amount of time to figure out all the issues involved, but it worked the first time: wow! This Tech Tip describes our process.

Our example applies strictly to Windows Small Business Server 2003, though we're fairly sure that it can be extrapolated to other modern systems, such as XP or Server 2003. We list some resources these other versions at the end of this Tip.

The usual Windows Server installation process

During the initial CD-based Windows Server 2003 installation, it allows for pressing F6 very early in the process to request prompting for a diskette containing any special drivers needed. This is mainly used for disk controllers to allow Windows to talk to the hard drive.

It's unfortunate that the time window for pressing F6 is so short, and offers no confirmation that it was indeed pressed. The installation script scans the hardware and preloads many drivers, and eventually prompts the user to insert a floppy disk into A:; it's supposed to contain the third-party driver.

Floppy Disk icon This process only reads from the A: drive — there is no "Browse" option to pull a file from the hard drive, the CD, or the network. It's gotta be the floppy.

If all goes well, the add-on driver is loaded into the running system and used to access the hardware. One can tell that it's working by the fact that it actually sees the hard drive and offers to repartition and format it. Surprisingly (to us), a USB-based floppy drive worked just as we'd have expected a motherboard-based drive to perform.

Some time later, after the hard drive has been formatted, the setup program requires the diskette again to copy the driver files while populating the new C:\WINDOWS\ tree, but we found that the installer consistently refused to recognize the same USB floppy drive in any way.

With no avenue for getting the driver onto the hard drive, the machine is dead in the water: can't continue installation, and starting over gets the same thing.

A bit of searching the web shows that others have had similar issues, which suggests that it's not the same code which accesses the floppy driver in each case (there have been reports that HP brand USB floppy drives work, but we didn't dig into this at all).

Faced with the option of (a) giving up on the RAID controller, (b) opening the case to install a physical floppy drive, or (c) building a custom installation CD that had the proper driver built in.

We chose (c).

Building a Slipstreamed CD

Though it took us a while to figure out this process, it's been a remarkably smooth one. We've run through this a couple of times and it's been flawless.

Locate the custom drivers
3ware logo They're usually found on a CD that shipped with the hardware or available on the vendor's website, and they must be downloaded to the working system. This is usually just a few .SYS or .DLL files, along with at least one .INF file.
We extracted ours to D:\3Ware.
Locate SBS2003 CD disc #1
Windows SBS2003 normally requires at least four CDs to install, but only the first one will be customized with the slipstream process.
Important: This process does not create new licenses - you have to start with a legal copy in order to make a slipstreamed version, and you can still only use the install sets only on systems for which you have a valid license.
Copy Disc #1 to the working system
On the working system, create a work area which will hold the copy of the installation CD, and for our example we'll use D:\SBS2003\. It requires just south of 700 megabytes of space, though we'll probably need twice that if we're creating an ISO image (though not necessarily on the same partition).
The copy can be done with cut-and-paste using Windows Explorer, or from the command line with XCOPY: our CD-ROM is located in drive R:, and /S copies subdirectories.
C:\> D:
D:\> cd \sbs2003
D:\sbs2003> XCOPY R:\ /S
nLite logo Obtain nLite software
One does not just copy a few driver files onto the new image - there are some setup files which must be modified to describe the driver and make it available during setup. It's possible to do this by hand, but it's very tedious and we've not found any directions.
We predict many wasted hours trying to figure it out by trial and error (each one requiring the burning of CD), so we strongly recommend using some helper software. Fortunately, we found some outstanding software which serves this need exactly.
It's nLite, and it's not clear that one could even wish for a better tool of this nature. Not only will it trivialize the process of adding install-time driver support, but it offers a host of other customization options, such as removing unwanted components, tweaking settings, filling in required answers in advance, integrating hotfixes or service packs, and a host of other features required of those performing unattended installs.
Download and install the software just like any other Windows application. It requires the .NET v2.0 Framework, but it's absolutely worth it. We can't believe how great this tool was for us.
Launch nLite
Running the program brings up a welcome screen, which should be clicked through to bring up the business end of this program. There are several steps, most of them optional, but almost all of them interesting.
  • Point to the SBS installation directory (D:\sbs2003).
  • Select "Add Drivers", plus perhaps "Unattended Setup" and "Make ISO".
  • In Add Drivers: click Insert and navigate to the directory that contains the .INF file for that driver. Ours was D:\3ware.
  • In Unattended Setup, select whichever options are desired: most can be left at default, but some may make installation a bit easier. Most are self explanatory, and it's worth wandering around a little to see what's available. However: getting too aggressive could create an installer which is actually counterproductive, making changes you have to unwind later.
CD-ROM icon Label and Burn a CD with the new ISO image
The output from nLite is a .ISO file which is ready to be recorded to a CD, but a separate application is required to do so. XP's CD-recording features do not support burning a direct ISO image, so a third-party application is required. We've used Nero, though Roxio or other programs of this sort work also.
A key aspect of a bootable CD is the boot sector, which is the first block on the media. This is loaded by the BIOS to kickstart the whole process, and nLite contains one which works correctly: we haven't found the need to extract the existing one from the official CD with a tool such as ISO Buster.
Boot and Install!
If all goes well, booting the CD will start the installation process, detect the hardware, and run smoothly without prompting for any additional steps: it's as if the driver was built in all along.
Send a donation to the author of nLite
The nLite program saves an enormous amount of time in this process, and it built ours correctly the first time. It benefits everybody when useful software like this is available, so it ought to be encouraged. There's a PayPal link on the website.
Note: we have no connection with the folks behind nLite other than being an exceptionally happy customer.

Is this legal?

Jail Bars We certainly believe so, but we'll note that we are not licensing experts.

As noted above, this does not create a new license, and you can't use the created disc on more systems than you have actual SBS rights to use. No part of this process bypasses activation - it's not creating key-free installs.

You certainly can't distribute the installation discs, but that's a general prohibition on redistributing all Microsoft software whether you've modified it or not.

OEMs may have a legitimate need to customize the setup discs for their own hardware, but Microsoft has a separate System Builder for creating shippable media. OEMs probably are not allowed to use this process either.

Other Resources

Though these instructions solve one particular problem (installing Windows with a customized driver disc), it's part of the much larger area of slipstreaming in general. There are lots of other reasons to create discs like this, such as incorporation of a service pack, pre-customizing the installation environment (to avoid asking so many questions), and for just tinkering around.

Here are some resources along these lines:

First published: 2006/07/11 (Blogged)