Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
What are the popular (free?) options for application deployment?

I have about 20-30 Windows clients in my office. I need to programmatically access each one of them and install some software on them.

What's the simplest way to achieve something like this without using any shelf software, but just from coding?

What I would do on Linux is I would use scp to transfer the file executable and connect through ssh to run that executable (I'm not even sure this is the right way to do it on Linux).

share|improve this question

marked as duplicate by Tom O'Connor, mdpc, Ward, Khaled, Helvick Feb 3 '13 at 16:21

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

A very commonly used and extremely useful tool is psexec, which will allow you to execute commands on remote computers, copying the file to the target machine if necessary. You'll find the rest of the pstools handy as well.

Just a heads-up - most antivirus software objects to psexec, so you'll need to set an exception for it.

share|improve this answer
Hey, I didn't wish you congratulations on hitting 10k yet :-) So congrats! – Matt Simmons Aug 12 '10 at 13:53
Thanks @Matt. (stupid 15 character minimum) – John Gardeniers Aug 12 '10 at 21:31

psexec from Sysinternals/Microsoft will let you execute a command on a remote server. You can get the file onto each machine using standard network drives.

share|improve this answer
Looks like we were typing at about the same time. :) – John Gardeniers Aug 9 '10 at 10:00

If it's an MSI file, you can run it through GPO policies on an Active Directory system.

Another alternative is to get scripting software that runs programmatically, so you'd put the installer software on a shared location and then go to each machine and run the script file to execute everything, something like AutoIT (free).

We've looked at automatic installation methods and we haven't found anything that's %100 reliable with every form of installer. Sometimes we find something that's close to working but will break at rather inconvenient times, other times we find an installer that won't do anything with the automation method we find. It also depends on how homogeneous your environment is because sometimes you might have a config that throws an error or unusual dialog box you didn't test for, and automation doesn't seem to like that.

Whichever method you choose make sure you test it and test it some more before setting it up and forgetting about it, thinking it's just going to work.

share|improve this answer
This is exactly why I would like to develop my own. All I need is to run updates on software like Flash or Skype etc... do you know about silent installs? – Luca Matteis Aug 9 '10 at 10:51
I haven't done a lot of work with silent installs, but it should work with MSI's via GPO as well, or you can run scripts again to handle it form the workstation. With 20-30 workstations it's not that bad. We have something like 1,000 workstations and haven't found an across-the-board reliable way to get installers to behave well. – Bart Silverstrim Aug 9 '10 at 11:13
I personally haven't had a lot of luck with automating installers across Windows systems. Unix systems usually have baseline installers that are pretty common across the board; if you don't like APT or RPM's, most programs still come in tarballs. Windows systems have MSI's, and a whole slew of commercial installers, to consider. If you like programming, take a look at AutoIT and see if that fits the bill for your needs to at least make things easier. I had a lab that while it wasn't completely automatic, it was nice to log in and run one executable to install a slew of apps. – Bart Silverstrim Aug 9 '10 at 11:16
@Bart: have you tried ? – Luca Matteis Aug 9 '10 at 12:46
@Luca-no, I haven't. I grew rather discontented after trying a number of solutions that promised to fit the bill and I'd still hit edge cases where we'd end up having to check whether updates/setups worked properly, so we'd lose time that we thought we'd have saved. If it works well for you let us know... – Bart Silverstrim Aug 9 '10 at 13:18

If your machines are within a domain, you can use Group Policies to deploy software to them, maybe this will suit you ?

share|improve this answer

You can also use PowerShell to remotely manage these boxes. Using PowerShell you can perform a number of tasks, including manage software on them.

Depending on the version of Windows, they may already have PowerShell installed. NT6 and up are already installed, just needs to be configured...which you can easily do via Group Policy Objects. If they're Windows XP clients (I'm sorry!) then you would need to install the bits.

Basically you need to configure PowerShell, open up the firewalls on those clients and then away you go. PowerShell uses WS-Management protocol (open standards are good).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.