Thursday, 19 April 2007

Creating the RIPREP machine image

Last time I discussed some background to RIS and preparation for imaging a machine. Now it's time to take a look at the process of RIPREPping itself. We require custom network and other drivers loaded in the image, so I need to follow the process described in http://support.microsoft.com/kb/314479 to enable these to be included in my image. My RISETUP image for base Windows automatically creates a Drivers folder in C:\ which contains those drivers. Looking into this article, I need to perform these steps on my source machine:

  1. Create a SYSPREP folder in C:\
  2. Create a SYSPREP.INF file in this folder and add the following text to it:
  3. [Unattended]
    OemPnPDriversPath = Drivers\Network;Drivers\Display\i915;Drivers\Sound

Then, I can go into the Create a Remote Installation Preparation Wizard image article and run RIPREP.EXE as documented there. For best results I should be logged on locally as Administrator and have removed any roaming profiles stored in C:\Documents and Settings.

When I run RIPREP it will ask me for some information about the image. It then presents me with a list of services that it will stop on the client before imaging proceeds. It may then also ask me to stop certain services and terminate certain applications manually.

RIPREP will then begin creating my image. This takes a while. I use some of the time to read Wes Miller's article on Windows Automated Installation. This is the WDS based technology that supersedes RIS. You may ask why I didn't just use WDS to create this image, since our RIS server has upgraded to WDS with the installation of WS2003SP2. The answer is that it is a new learning curve that will take time to migrate to. WDS can do RIS stuff a lot better, so I just plan to use RIS far enough to get this one machine image available and then migrate to WDS for any future imaging requirement. Meanwhile, back at image creation, I've just noticed that my image is about 30% too big; I'll have to do another creation after I remove redundant data from the HDD.

The process completes without any further user input, and the source computer shuts down automatically. While it restarts, I check the final step in 314479, restarting BINLSVC. This only seems to be related to changes in the RISETUP image, which I already followed, so I skip this step.

The most annoying part of RIPREP is that the mini-setup wizard has to be run on the source computer at the end of the image create process. After this is complete, the source computer is ready for use and we can look at customising the image's unattended answer file (riprep.sif) before deploying it.

Article 314479 has one step that I've ignored:

If the device has already been recognized by the operating system as a known or unknown device, you must remove the device through Device Manager before you run Sysprep, or the updated drivers will not be installed at startup during mini-setup.

Firstly, I'm not using Sysprep, and secondly, if I removed the network card driver, RIPREP would not be able to run.