I recently discovered a new way to remotely install software. When users require a program to be installed on their computers, they download the software to their desktops. I then use Sysinternals' PsExec utility (http://www.sysinternals.com/utilities/psexec.html) to remotely start the execution of the program, but I start the program interactively so that the user who is logged on to the target computer can complete the installation.
This approach is advantageous because you don't need to give Administrator privileges to users who need to install software on their computers. When you run PsExec without a username and password, the remote process runs under the same account from which you execute PsExec (in this case, the Administrator account). Because the remote process is impersonating that account, the user won't have access to network resources on the remote system. (When you specify a username and password, the remote process executes in the specified account and will have access to any network resources that the account has access to.) Using PsExec is handier than using the built-in RunAs command because you don't need to be physically sitting at a user's computer.
To use PsExec to remotely install software, you need to start the installer.exe program with the following command:
Psexec -i \\targetcomputer \\targetcomputer\c$\ documents and settings\ username\desktop\installer.exe
The -i option starts installer.exe interactively for the user currently logged on to the machine specified by targetcomputer.