How to Install Software Remotely in a Corporate Network
Having similar software environments on all PCs across the company network allows improving the network security. Software installations managed by users may often result in situations when the same application is available in different versions on different PCs. Such software configuration may be instable and is likely to have security flaws and be vulnerable to exploitation attacks. Also, it is hard to maintain and troubleshoot in case of problems. Unification of the software configuration across the network allows addressing this issue, but a prerequisite for it is that IT departments organize centralized software management across the local network.
Remote installation in domains and workgroups
If you have a Windows domain environment, you can benefit from the remote installation features provided by Active Directory Group Policy (GPO). It allows you to configure the software package, target the network PCs and push the installation across the network. The installation is performed in an automatic mode and does not interrupt the work of remote users, so they will notice the new application and be able to use it on the next reboot.
Is it possible to make a remote deployment in a workgroup environment or a mixed environment under Windows? There are no standard tools included into desktop or server Windows distributions that would allow software deployment across workgroups. If you have such an environment, you can consider using third-party tools, such as EMCO Remote Installer.
Remote installation requirements
All standard and third-party software deployment solutions are designed to work in local networks. It means that the PC initiating the installation and the target PCs should be located within the same LAN, because the remote deployment process relies on various networking services available in the LAN. Installation through the Internet is not possible, but you can use a Remote Desktop to connect the PC to the LAN and initiate the remote deployment from there.
Remote deployment requires an administrative access to remote PCs. In a domain, you have to use the network administrator account in order to perform the installation. In a workgroup, you have to specify the administrative credentials for the target PCs.
Finally, to run a remote deployment, you should have a setup ready for a silent installation. It means that this setup can be deployed in an automatic mode with no interaction with the user. It should have preconfigured installation options and not require any user input. In practice, it is recommended to use an installation in the MSI format, which supports silent deployment by default. Also, MSI packages are natively supported by GPO and other deployment tools and can be installed with no additional changes.
The deployment process may vary slightly depending on the deployment tool used, but it always includes few typical steps. It requires that you define a list of target PCs to install the new software or the update to. The standard GPO does not provide the feature detecting what's installed on every PC, so it's up to you to make the software inventory and select the PCs where a certain application is not installed or should be updated. Third-party tools have been developed to simplify this process. For example, EMCO Remote Installer allows getting a list of applications for every PC, so it's easy to define targets based on that data.
Also, you have to select the installation package and configure its installation parameters. Usually, it's a simple step, especially if you install an MSI package, because it's ready for a remote deployment. If you use GPO, you need to upload the installed package to a shared folder and ensure that all the target PCs can get access to it. Third-party deployment tools allow skipping this step, because they can copy the setup file to remote PCs and then initiate its installation from a local disk. Finally, you can initiate the installation process to deploy software remotely and check the logs reported by the used deployment software in order to ensure that the installation has been finished successfully.