RemoteInstallationServices

ShscWiki :: LogIn :: PageIndex :: RecentChanges
Remote installation Services for Windows Server 2003

A good tutorial on initial setup for 2k3 RIS is in Mark Minasi's Mastering Windows Server 2003.

Remote installation is often seen as too much of a bitch to work with for network deployment of systems. It's tremendously tempting to use, since it's included in the OS you already bought, but many many sysadmins just stick with Ghost or its cousins because of the trickiness of RIS. The
basics of it are easy enough to understand, but there are many subtle requirements for the service that force you to put some real work into it. Here are some notes from my experiences in getting RIS to work on machines for which XP does not have native NIC drivers.

In my case, I have been working with machines that have integrated Intel Pro/100 NICs. The most frustrating problem with RIS is having everything go fine until you try to transfer the image to the client, at which time the server will often tell you


The operating system image you selected does not contain the necessary drivers for your network adapter. Try selecting a different operating system image. If the problem persists, contact your system administrator.

This is overcome by very careful placement of drivers for the network card within the RIS image directories and editing the setup script.  More about this in a bit.

Most of what I mention here is rarely or never mentioned in official documentation, and I had to find out by trial and error.

Key configuration principles when setting up RIS

- Have a separate and large partition or extra hard drive set up for the RIS files.  Make it large because each image is at least a couple GB and you may easily put on a dozen or more different images as you experiment with it.
- Have a CD slipstreamed with the latest service pack for each OS you use.  For each OS, you will need a "flat" image of the OS CD.
- On the demo computer, use a partition management program to make the size of the OS partition (RIS supports only single-partition machines) smaller than the smallest hard drive to which you plan to transfer the image.

Customizing the answer file

Running riprep.exe on a demo computer will create a file in the server's "\\[server]\REMINST\Setup\English\Images\[image name]\i386\Templates" called "riprep.sif." Reading it in a text editor will give you a good sense of what information (admin password, OS license key, etc.) the unattended setup file needs.  For further information on customizing the answer file, your best resource is here. You will of course not be working with unattend.txt, but riprep.sif.  Those and sysprep.inf all use the same format.

For super easy script customization for XP, download sysprep and put your own settings in in a user-friendly gui. You can select to edit an existing answer file, and point it to the riprep.sif file created by your earlier riprep.exe from the demo computer.

If you run a domain, don't bother trying to add the computer account to the domain in unattended setup.  More often than not, a networked computer will fail to join the domain in unattended setup for no good reason.  Just join it to the domain once you get into Windows.

Making the client computer download the image

Here's the bit about network drivers.  You need to get the corporate drivers if available (Intels especially) for all NICs your computers have that do not have native drivers in XP/2000. For each NIC, copy the drivers to 3 locations:

- "\\[server]\REMINST\Setup\English\Images\[name of directory for "flat" OS image]\i386" - all *.inf, *.dll, *.din, and *.sys files your OS is going to need for the NIC.
- "\\[server]\REMINST\Setup\English\Images\[image name]\$oem$\$1\Drivers\Nic\" - you will have to create each directory from $oem$ on down manually.  Put in here also all *.inf, *.dll, *.din, and *.sys files your OS is going to need for the NIC.
- "\\[server]\REMINST\Setup\English\Images\[image name]\i386\" - ONLY the NIC's .inf file.

For some reason, none of the documentation I came across mentioned that the oem drivers also had to be in the "[name of directory for "flat" OS image]" directory as well, and that caused WEEKS of headaches, it was like a miracle cure when we finally tried that.

Finally, there is an important line in the riprep.sif called "OemPreinstall" that should read
OemPreinstall = \Drivers\Nic

and EXACTLY like that, any variation can break it.

General-purpose RIS maintenance tips

- You need to restart the main RIS service every time you mane any change to an image stored on it.  I keep a .bat file on my desktop that just goes
net stop binlsvc net start binlsvc
for easy access.
- Get Service Pack 1 on your 2k3 server.  Some major network-card-driver issues are solved in the service pack.
- Much documentation has said that the NIC using the PCI bus is a requirement for RIS, but I have been able to transfer images to machines with integrated PCI-Express gigabit NICs, although I have not yet tried USB 2.0 wired NICs.
- The RIS server must be an AD-authorized DHCP server, and AFAIK must be the only DHCP server on its subnet.
- Server-level RIS controls in an AD are accessed oddly - in "Active Directory Users and Computers," RIS adds a "Remote Install" tab to the "Properties" for that server.
- When running riprep.exe from a demo computer, it's a good idea to stop all services and processes that have been added as part of non-XP programs, e.g. antivirus stuff, Folding, apache.
- If your image isn't visible on a client computer, it's probably because you have the wrong HAL dll. In riprep.sif, toward the bottom, there's a line that specifies the HAL dll you want to use. P3-generation system will most likely use halacpi.dll, P4-generation will usually use halaacpi.dll. You'll need a separate image for each HAL dll type you have in the company.

This article is ©2008 by the respective authors. Reproduction is prohibited without express permission from all contributors.