What are the popular (free?) options for application deployment? [closed]

I manage a small school network with about 150 machines. I am looking for an easy way to deploy software to all the machines without having to visit each one.

I've used Symantec Ghost to get the machines all set up identically, but for one application, reghosting an entire network seems a step too far.

In the past, I've used Novell's ZenWorks which does this either with an MSI installer or by taking a snapshot of a machine before and after installation and then pushes the changes out to designated machines on the network.

This time round, however, I'm using Windows 2003 and have a limited (i.e. no) budget. I've not been able to get my head around the Group Policy installer so perhaps if anyone can point me to a good how-to, that would also be appreciated.

Your help is appreciated!


For a small network like yours, with nothing fancy on it, GPO deployment should be more than adequate (it's also more than adequate for many larger networks, but that's another story).

In order to get a handle on GPO deployment, the best thing to do is get a handle on GPOs themselves. Understanding a lot about deployment will naturally fall out of that. A lot of the formal documentation assumes a much larger and more distributed environment than you have (and goes into detail about transforms, patching and admin installs, which only adds to the confusion at the start), but the following KB article is a good basic (and simplified) overview of GPO-based deployment: http://support.microsoft.com/kb/816102

The key things I think you need to be aware of right now are the differences between Assigned and Published apps, and the difference between User and Computer deployments. Once you've got those straight in your head you can explore further as much as you want or need.


I also run a school-based network. I find that lots of software in the education market doesn't come in MSI format, so installing via GPO proves impractical sometimes. Most software these days does come with an executable installer that accepts "silent install" options - see AppDeploy for a site dedicated to figuring out how to get applications to install over networks.

WPKG is an application - a client that installs on your machines - that can be used to install and update applications on workstations. It's free and open source. You can simply write your own script to install software: I have an "install" user on my network, with admin rights, that runs a logon script that runs through the silent installs for a bunch of applications then reboots the machine. After reimaging a machine back to freshly-installed Windows just log on as "install" and let it chug through all the installers. This can be a bit fiddly to set up, so WPKG is probably the better option.

If you come accross an installer that's just plain awkward, or broken, or both, the excellent AutoIt can automate pretty much anything you can throw at it. It's a suprisingly complete Windows automation / testing utility, with good documentation and example code that lets you fake mouse moves and clicks, button presses, waits for windows with specific contenst to appear, pretty much any feature you can think of. It's also free.

Edit: If you want to completly avoid having to visit each workstation, you can create a script that runs the silent installers from a schedulaed task. Probably make the task run at 8pm or something, then turn the machines off.


WPKG.


Google can give you tons of results for "Active Directory Application Deployment" and like most solutions it has its pros and cons. This article may be a good starting point for you. There are also lots of good results from Microsoft's technet.microsoft.com site. An alternative that I haven't tried but looks promising is Admin Aresenal. It's not expensive and I'd love to hear if anyone has used/using it.


Sysinternals PsExec should let you run a command such as
psexec @deploy.list msiexec /qn /i \\fileserver\installer\packagetoinstall.msi.

Anyone else care to comment on the details? Or you could ask a 2nd question more specific to this method.