We help IT Professionals succeed at work.

How do you build PCs / install apps & updates

babaganoosh asked
I am spending way too much time installing apps on new PCs for workgroups.  Things like Flash, Shockwave, Acrobat reader, java, set the dns servers to open dns, all the windows updates, etc.?  I know there's the dell decrapifier to take apps away, but it seems someone's worked out a silent install script to INSTALL these common apps and settings.

It's getting tiring going to each web page / make a check list of these things.

Watch Question

Just set up one computer the way you want it, then clone the drive to all the other computers (assuming the hardware is identical or close to it).
If you clone the PC pay attention to do a sysprep.
Otherwise the same SID will be kept and this can give problems in AD.


I thought of that - cloning.  You have the issue of changing the SID, which isn't the biggest deal, but yeah, hardware is inevitably different / spend time loading drivers for the other hardware?  Machine name / registration info, etc has to be changed / dealt with.  And I know Dell's Vostro has a 10 GB online backup promo.  The app comes preinstalled and in the registry is a unique key that you can use 1 time to sign up.  So if you image to vostros, you have to backup the key then replace it after the imaging (and if the master isn't a vostro, you don't have the online backup app and have to install that).  

also, so you image the drive.  within a short term, things are out of date and you spend as much time updating the app as you would just to install the latest app? !   which is manual?  I am trying to save tech newbies from having too many messages, at least at the start.


kurt you weree typing as I was.  I was thinking using true image to clone the disk and then there's a sysinternals app to change the sid?    different ways to get to the same point?  Or what other issues does sysprep deal?

I totally agree that cloning is the classier way.  But it seems for onesies / twosie installs, that you'll spend as much time on it as I am now, lining up the machines and load this, got o next mahine, load it again, next machine, load that app....  repeat process at machine 1
Drive cloning would be your best bet but in a windows enviroment you need to have unique SID's if you clone a system and do not use either NEWSID or you have to setup your cloning to use sysprep otherwise your going to have problems managing the PC's in an AD enviroment because they will all have the same SID which should not be

more information is here

Sysprep (the advantage of sysprep is if you have similar hardware i.e. an HP 5000 desktop, dc7600, dc7700 you can use one universal image providing they all have the same applications and setup the only difference being some of the hardware drivers)

Make sure your pc is set to boot from CD 1st before starting
To use sysprep and disk cloning you would do the following
Create your master image as administrator
Create an ADMIN account
Create a drivers folder at the root of c containing all of your drivers
Create a sysprep folder containing the i386 folder and sysprep tools
Create the sysprep.inf file and specifiy the drivers path in it
install all of your applications and configure them so that no prompts, etc.. come up (i.e. run each application once)
Once this is all complete and you are almost ready to go
logout of the administrator account
login to the local machine only admin account
copy the administrator account to the default user account and assign the everyone permission. hit ok.
once this is all done log back in as administrator put in your disk cloning CD or bootdisk then run sysprep once sysprep is done it will shutdown the pc.
turn on the pc go into your disk cloning software and create the clone
Now when you install this image on the pc it will automatically install the proper drivers and generate the new SID.

more information on sysprep

Disk imaging tools most commonly used
Norton Ghost

There are also disk imaging servers which use PXE boot and work quite well such as Zenworks imaging server which is part of Novell's zenworks.

I do this all the time create a master image then sysprep and upload it to our zenworks imaging server  then download it to whatever workstation I need to redo it is a real slick system

If your talking one or two computers at a time that are very different then the others then you would probably be best off using scripts or batch files in combination with MSI installer file switches (where applicable).

Other options I can think of would be setting up group policies to deploy the apps automatically by using the GPMC (providing your in a windows 2003 AD enviroment) if not you can still do it but it's a bit more complex

Getting a zenworks imaging server which supports add on images, or getting something like admin studio and create your own custom installs by having it monitor the applications you are installing and the modifications made.


brian - thanks for the details!  What do ou do when it's a small business (how many PCs on your network that you have this in place?) and 2 machines have quickbooks, 1 has some other apps, 2 others don't have any, etc... (almost each machine has their own set of apps).  make an image of a machine with everything and manually uninstall or they just ahve apps that they don't need (although you get into licensing -  you haev licenses to install application 1 on < all the machines.  Uninstall them?  And how do you deal with office apps when you are using OEM or retail software and each machine has a different key?
Shanmuga SundaramDirector of Software Engineering
Best advice is to install all softwares in one computers hard disk and use Norton Ghost to clone the harddisk copy to other harddisk. This can be with ease and it should not be time consuming.
Yes you would get into licensing issues if you are using retail / OEM Licenses you would have to have volume licenses. Especially when it comes to the operating system and microsoft office. You'll fail windows activation if it registers the same Key too many times to different hardware in addition you would be in violation of the license agreement.

We have about 1,400 pc's but we have some that just have one off apps those ones we setup and push out through zenworks (similar to an AD push)

How many PC's total are in your organization ? If you have at least 10 or more you would probably be better off having pc's in the future with no office installed on them and no Operating System that way you can go to microsoft volume licensing and also get software assurance with it so you get the newest version of the office suite or whatever you have volume licensing and software assurance for.

There are a couple of ways to approach the apps
but what has to be taken into consideration
1. depends on licensing (but you do not want to waste licenses either)
2. depends on usage

I wouldn't install an app across the board unless I had proper licensing for it and it was like a freeware type license. If I have to pay for licensing there is no sense in paying for unused licenses.

Your best bet would be probably be approached from a combination of things
1. if all users use microsoft office get a volume license and then install it on the server and create an OU to automatically install it when the pc's join the domain
2. If you have specific apps that's licenses do not prohibit being installed from a server share then you could also create OU's in AD to push them out too
3. For apps that have no real licensing restriction such as all computers needing flash, shockwave, quicktime etc... you can do one of 3 things
a. install all of the common apps in the image (providing you have a VLK for Windows) and then sysprep
b. Make a batch file or script that has a menu selection or just installs them all
c. Push them out through AD
4. For retail apps unfortunately the only workaround I see is one of two ways
a. hand installing them all
b. automating it but being able to change there license key (if stored in the registry) through a script once installed.


machines in the organization?  I take care of loads of small businesses - typically smaller than 10 seats, usually workgroups.  Part of the problem is that I don't know how to push out apps with AD.  based on item 3 above, it seems like the image, even for the domain and to get java, acrobat, flash, shockwave, etc. installed is the way to go : (

I'm envisioning with the wide range of hardware and apps being an issue.  You can't image a single drive machine and then reimage it into a hardware raid array (to windows, it looks like a single drive... but at boot time, it's not the same as a single drive (no raid) and the machine typically blue screens.  

The problem is with the windows licensing and product activation if you use a retail or OEM disk that Key that comes with those are only good per product. If you use this an image built from an OEM or Retail copy of windows and use it to image several machines after 30 days they will fail windows activation and go into reduced functionality mode it will also disable windows update and come up with a windows not valid pop up in the corner (not good).

As far as the raid array goes you can put that into your image as long as you sysprep it.  It's more complex but basically you need to have the drivers in the image and also you need to run the command with the sysprep tool at the command prompt sysprep -bmsd this will build the mass storage device section you will have to do this on the raid computer and on each computer that is different then take each of these files and merge the mass storage device section into one with no repeats.


see the article for information on sysprep and drivers and devices. The onyl caveat is if the image is of a drive partioned at 40GB and you load the image on an 80GB drive then the drive will be setup like a 40GB drive.

you can get a direct download that is distributable of flash but you have to fill out licensing info. but it costs nothing it's really a pain but if your constantly deploying flash it saves going to there website.


you can get an offline download of java here

for example if you get an executable or msi you can go to the command prompt type the name of the app for example   java.exe /?
if you put the /? at the end it will tell you the supported switches
such as below

so you could do something like this in a batch file in a folder called "apps" like below...
this would probably be your best bet for app deployment without active directory you could put this on a jump drive or even push it out or put it on cd.   NOTE: (This is just an example batch file so there may be errors)

:: Set default folder
SET SRC=C:\apps\

:MAINMENU choose option from the menu
ECHO. Install Spybot Seek and Destroy.....1
ECHO. Install Adaware SE Personal.........2
ECHO. Install SpywareBlaster..............3
ECHO. Install AVG Anti Spyware............4
EcHO. install CCleaner....................5
ECHO. Install All Applications............6
ECHO. Quit................................7
CHOICE /c:1234567 /n "            Please Choose "
GOTO QUIT no further action

start /wait C:\apps\spybotsd\spybotsd14.exe /verysilent

start /wait C:\apps\adaware\aawsepersonal.exe /s

start /wait C:\apps\sb\sb351silent.exe /verysilent

:AVGAS Install AVG Anti spyware only
start /wait C:\apps\avgas\avgas-setup- /S

start /wait C:\apps\ccleaner\ccsetup135.exe -S

:ALLINSTALL Install all Antispyware Performance applications
start /wait C:\apps\spybotsd\spybotsd14.exe /verysilent
start /wait C:\apps\adaware\aawsepersonal.exe /s
start /wait C:\apps\sb\sb351silent.exe /verysilent
start /wait C:\apps\avgas\avgas-setup- /S
start /wait C:\apps\ccleaner\ccsetup135.exe -S

:QUIT No further action
ECHO. NO further action taken

ECHO. %TASK% - finished

:EOF (end-of-file)

HERE ARE THE SWITCHES THAT CAN BE USED WITH MOST .EXE's and MSI's if in doubt run the .exe from the command line with a /? switch after it. That is why you will see "verysilent" above instead of quiet.

Windows ® Installer. V 3.01.4000.1823

msiexec /Option <Required Parameter> [Optional Parameter]

Install Options
      </package | /i> <Product.msi>
            Installs or configures a product
      /a <Product.msi>
            Administrative install - Installs a product on the network
      /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
            Advertises a product - m to all users, u to current user
      </uninstall | /x> <Product.msi | ProductCode>
            Uninstalls the product
Display Options
            Quiet mode, no user interaction
            Unattended mode - progress bar only
            Sets user interface level
            n - No UI
            b - Basic UI
            r - Reduced UI
            f - Full UI (default)
            Help information
Restart Options
            Do not restart after the installation is complete
            Prompts the user for restart if necessary
            Always restart the computer after installation
Logging Options
      /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
            i - Status messages
            w - Nonfatal warnings
            e - All error messages
            a - Start up of actions
            r - Action-specific records
            u - User requests
            c - Initial UI parameters
            m - Out-of-memory or fatal exit information
            o - Out-of-disk-space messages
            p - Terminal properties
            v - Verbose output
            x - Extra debugging information
            + - Append to existing log file
            ! - Flush each line to the log
            * - Log all information, except for v and x options
      /log <LogFile>
            Equivalent of /l* <LogFile>
Update Options
      /update <Update1.msp>[;Update2.msp]
            Applies update(s)
      /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
            Remove update(s) for a product
Repair Options
      /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
            Repairs a product
            p - only if file is missing
            o - if file is missing or an older version is installed (default)
            e - if file is missing or an equal or older version is installed
            d - if file is missing or a different version is installed
            c - if file is missing or checksum does not match the calculated value
            a - forces all files to be reinstalled
            u - all required user-specific registry entries (default)
            m - all required computer-specific registry entries (default)
            s - all existing shortcuts (default)
            v - runs from source and recaches local package
Setting Public Properties

Consult the Windows ® Installer SDK for additional documentation on the
command line syntax.

Application deployment through AD  

deployment of java through AD limited to MSI, MST type files

However a better deployment is using GPMC which can deploy even .exe files

Hope this helps
You could also use those same commands shown to uninstall apps through a batch file (a decrudding script) if you will just find the executables and then call there uninstaller.

Explore More ContentExplore courses, solutions, and other research materials related to this topic.