1

Preferably without needing client-side software on each local machine.

Parallel installation would be a bonus, but sequential is fine as well. Silent & unattended would be great too.

Tried http://www.installsolutions.net/RSIOverview.aspx which uses Windows Management Instrumentation but doesn't seem to work well.

4

2 Answers 2

3

This is a question where, while vagueness is frowned upon here, this one gets a little too vague. I don't think anyone has a perfect answer to this.

In an AD domain, you should be able to deploy an MSI package through policies. This supposedly works well.

But not all installers work like that, of course.

I've had to use scripting tools for Windows to create a file where I'd go into the lab and just run the script file, then it would take over all the path setup and clicks. Not perfect by far since I had to go to each of 30 machines and log in and take each step, but it did reduce some work since once I clicked the script I could move on to the next machine.

There are a small number of auto-installation routines and really I've found that the ones I've tested work GREAT for certain things, and fall horrendously flat for others. I can't even get printers to deploy and install drivers to workstations consistently each time, to the point where it's configure once and deploy without worries. Every time we have issues we're told that the next version of AD is better with things like this. Ugh.

Depending on your situation you might be able to look at something that virtualizes and deploys applications from a central server. VMWare has tools that do this and I believe Citrix and MS have them as well now. You install an application on the app server and then users can run them as packages from a weblink or share link and it launches on their computer without local setup.

Alternatively, honestly, the most reliable way we've done this sort of thing is through remote access via a terminal server. The client doesn't have to be high end, and once you configure it on the server, people can log in and you can maintain it from one server (depending on applications and users, as the server must be able to handle the load). BUT it's still wasn't a panacea. We had issues with sound, memory leaks, animated maps causing mem bloat until it slowed down all users, etc. so it needed constant babysitting.

Second we've used VNC to remotely log in and set things up. Need a reliable connection to pull it off, it doesn't save you HUGE amounts of time but it does add up when you're doing it from one system with multiple windows open and you do have the comfort of knowing that it's set up and working when you're done instead of the phone calls about half-installs or programs that hung partway through the install process and you didn't know it.

Third, cloning. If the hardware is all the same and you're talking about a deploy that happens twice a year or something along those lines, it may be simplest to get a cloning tool so you set it up on a master system and then clone to a sysprepped image and redeploy to each workstation, assuming you're not having users store things on the workstation themselves (backup...backup...backup...)

Overall you'll need to edit your question a little to let people know what environment you have (AD? Workgroup? Just a bunch of machines?), the installer you're referring to (MSI? Zip? Standalone EXE? specific installer?) and any limitations (can't use scripting engines? Is this for a specific purpose or just a general "we have to get a school lab set up or updated every bloody month and want to save time?). Maybe someone else here has had great luck with a particular tool but in our case we have piecemeal solutions that lead to later hair pulling when XYZ doesn't work properly and if you work in a school it's amazing how many programs are pieces of crap that were made by companies caring more about brand than creating shovelware, and your users still ask for software to be installed that were packaged with Windows 3.x installers (which Win7 LOVES, by the way...XP even heaves at some of it. And now we have programs from big companies that dedicate people to sending "Oh, yeah, this doesn't work on 64 bit operating systems and the UAC has to be disabled for this user..." support messages to us after we contact them about installation and configuration glitches, like Win7 somehow blindsided them...bloody @#%!)

1

I'm going to assume that you don't have a managed (Active Directory, Novell ZENworks, etc.) environment and just want to remotely install something on a bunch of Windows machines in a workgroup, since otherwise you should just be using GPO to distribute MSIs.

You will need on all of the computers:

  • Administrator access
  • Windows file sharing turned on
  • Simple file sharing turned off

Download the PsExec tool from Microsoft's SysInternals suite. It lets you remotely execute commands on systems on your network, without having to install anything on the remote computer (it uses the $admin administrative share, which is why you need file sharing on). You can specify each computer individually, or more aptly for your situation, specify a text file with each computer name to execute the commands on.

You will then need to figure out what commands to execute. Depending on what you're trying to do, it may be easiest just to use the option in PsExec to copy the executable to the computer you're installing software on, then run it. Most software has a silent installation switch; google is your friend in finding those. If you need to install various things, I would recommend putting all of the installers on a network share on the computer you are administrating from, and then make a batch file to run on each remote computer which maps a drive to your share and runs each installer with the necessary switches.

You could configure this to be either parallel or sequential. PsExec has an option to not wait for the remote process to terminate; if you use this, it will start the process on a computer, then immediately move on to the next computer. If you don't use this, it will wait for the installation to finish before moving on to the next computer.

You must log in to answer this question.