need ghosts to put in machines
July 11, 2007 2:43 PM   Subscribe

I'm not sure I have the terms right, but how do I make a "hardware-independent deployable disk image"?

We are inheriting 5 new (to us) computers (PCs, will have XPPro, Office 2003, more).
I've been given the job of installing all the programs we use onto them.
I have cloned Mac drives and used Ghost to make and restore a disk image back to a PC in the past.
But these PC's are all different makes/models, and so I don't think iwhat I know how to do will work.
I'd rather not spend two workdays installing the same set or programs over and over again.
There should be a way of automating this - how?
Can it be done without me having to go to IT school, or buy expensive software?
Googling found me some terms, but I'm still lost.
posted by penciltopper to Computers & Internet (13 answers total) 4 users marked this as a favorite
Acronis has a product to do it. I'm not sure if ghost handles device drivers in newer versions.
posted by GuyZero at 2:51 PM on July 11, 2007

For Office, you can create an administrative install.
posted by sanko at 2:51 PM on July 11, 2007

It's worthwhile to use nLite to strip out all of the Windows crud before you install, even if you can't slipstream in'll also let you make it an "ask me no questions" disc for installing Windows.
posted by anaelith at 2:59 PM on July 11, 2007

Response by poster: Oh, a note/ other question- each one has a legitimate Windows-preinstall license on it that we need to use. Not knowing much, I would do a factory restore on each machine first and then start with the programs.

If I get one set up with the standard image and then copy/deploy that to the others, what/how do I do the windows licenses? Would I then appear to be trying to install that same XP license on each one? I don't know enough about how that works, but I do know that they're very strict about license control here.
posted by penciltopper at 3:09 PM on July 11, 2007

Look into the use of Sysprep. has a pretty good guide. I've used Sysprep (and a little post-Sysprep scripting) to develop a single image that currently supports 16 different models of hardware.

Licensing may be problematic though...if you have a Volume License Key for XP, you'd be better off using that instead.
posted by JaredSeth at 3:49 PM on July 11, 2007

The last company I worked at, the sysadmins used a volume licensing key with image-based deployment. I've never seen a tool that explicitly supports using a list of single-machine licenses, though it seems like an obvious feature.
posted by GuyZero at 3:52 PM on July 11, 2007

Some more background on Sysprep, although I think I have a better suggestion for you.

If I recall correctly, not using a VLK isn't a huge deal, you'll just have to activate Windows afterwards. There are tools that can retrieve the CD key from a Windows install (alternatively it may just be on a sticker on the machine somewhere). Leave the key out of the sysprep.inf if you go the sysprep route. You'll be prompted for it during the initial boot of the freshly imaged machines and should be able to activate Windows on first run*.

Note that any applications that give you the option should be installed for All Users and you'll want to copy the profile of the user account you do all your setup under to the Default User profile. I'm pretty sure that's all covered in the Vernalex guide I linked above. It's been a while since I read through it.

*In theory. I've always used a Volume License Key for imaging.

I think your better solution would be to grab a simple scripting tool like AutoIT or AutoHotKey, learn just enough of it to script the installation of the software you need and create a single executable you can run on each of these machines. One click and move on to the next system while you wait for the script to run.
posted by JaredSeth at 4:08 PM on July 11, 2007

I suspect that almost anything you might try is going to take longer to shake the bugs out of than actually installing 5 machines. I'd recommend putting them side by side and installing them all at once. I've done it before, and it definitely sucks, but I've also set up automated install programs (granted, years ago) and it sucked also.
posted by RustyBrooks at 6:29 PM on July 11, 2007

Consider an unattended install (at MSFN, and the sourceforge project).

It probably isn't worthwhile creating a completely unattended install, but making some portion of the installation process unattended will have a huge pay off for the effort involved. For example, if you have a lot of custom settings in Office, using the custom installation wizard to set up an automated install is probably worthwhile.

AutoIt is the right way to go when scripting. While I was learning to create unattended installs, I spent a long time trying to pick up old dos batch file techniques, and it wasn't very productive.
posted by Chuckles at 7:06 PM on July 11, 2007

For five machines, especially disparate machines, it is definitely going to take you less time just to suck it up and do side-by-side Windows installs than to learn and deploy any kind of automated Windows installation system.

But if your shop has evolving software requirements, and all your workstations are going to need keeping in step, automated application suite maintenance is indeed the Right Thing.

I maintain a primary school campus of Winboxen. We have about fifty workstations, and about six different makes/models. Every time we buy a new batch of identical machines, I
  • do a minimal XP install on one of them (XP + drivers + one administrative user + a copy of Sysinternals' NewSID)
  • use the Trinity Rescue Kit live Linux distro and some scripts I wrote myself to save a clone of that on our Windows 2003 server and roll it out to the others
  • boot each newly-cloned machine into Safe Mode, and run the included copy of NewSID to make it unique
  • boot the machine again in normal mode, delete NewSID, rejoin it to our domain, and the use Active Directory on the domain controller to drag it into the appropriate OU
Next time the machine restarts, Active Directory tells it to run a startup script; and part of that startup script is a batch file I wrote called machine-update.bat, which performs unattended installs of all the software we want on all workstations.

I chose to roll my own update script, rather than using Microsoft's Software Update Service, because
  • we originally had Windows 98 workstations and SUS needs at least NT
  • SUS only supports packages in MSI format; my batch file runs any kind of silent installer I want, including AutoIt scripts for stuff I can't find any reasonable way to install
  • I prefer reinventing the wheel to learning to fly a 747
  • it runs on any Windows workstation without needing anything at all installed on that workstation bar Windows itself; this makes initial Windows installation much easier.
Most of the silent installer recipes I've used came from

The basic idea is that each machine has a directory (C:\StMary) that contains (or will eventually contain) a bunch of zero-length flag files. The script simply tests for the presence of each of these in turn; if it finds one missing, it runs the associated silent install sequence and then creates the flag file.

A special flag file called "frozen" will short-circuit the entire process: I create that by hand on machines whose configuration I don't want touched.

Another special flag file called "testbox" I create by hand on machines I'm using to debug new stanzas of machine-update.bat.

Error checking is virtually nonexistent, since my site is small enough that I can deal with the occasional failed install by hand.

You're welcome to use machine-update.bat as a basis for your own automated app installer if you want, and my email's in my profile if you want to talk techniques.
posted by flabdablet at 7:02 AM on July 12, 2007

Oh yeah - since you have no Windows volume licence, simply putting the machines side by side and doing parallel Windows installs by hand is definitely going to save you grief.

Trying to use imaging techniques on disparate machines is just wrong.

Factory restores will not be kind to you, either, because the factory restores that come with name-brand machines always and without fail load your shiny new copy of Windows up with all kinds of bundled crapware, which is always and without fail a pain in the arse to strip out again.

Use a bog-standard Windows XP Pro SP2 OEM CD-ROM, and feed it the product keys from the stickers on your machines.

Download a complete set of drivers from the mobo manufacturer's site if you don't already have them on a support CD.

If any of the resulting Windows installs refuse to activate, call Microsoft and tell them so, reassure them that you are indeed running one copy of XP OEM for each product key you hold, and they will activate them over the phone.
posted by flabdablet at 7:16 AM on July 12, 2007

And if you do actually want to learn to fly that 747, people whose opinions I respect have spoken highly of ZENworks.
posted by flabdablet at 7:20 AM on July 12, 2007

flabdablet, that's actually what we use here and I can't say enough good things about ZENworks. Pretty much the best of breed systems management tool around right now.

And the next generation version that's in beta right now doesn't even require Novell's eDirectory anymore and will work natively with Active Directory, so it just keeps getting better.
posted by JaredSeth at 8:51 AM on July 13, 2007

« Older Help stop the burn!   |   Getting out of NY for the weekend Newer »
This thread is closed to new comments.