Software distribution, deployment, is the targeted transfer of software or updates to all computers working with this software or to all computers involved in an operational process. The aim is to ensure that all computers work with the same, up-to-date software and thus fulfil their operational functions. Furthermore, it is also about updating data security to prevent attacks
from inside or outside. Software distribution can be carried out manually or automatically via the communication networks and requires prior packaging, at least for extensive software packages such as operating systems or application programs. Since computer configurations in companies are very inhomogeneous, packaging uses sophisticated mechanisms. Thus, the software can be recorded or used unattended in the original setup. Especially in corporate environments, where many workstations have to be supplied with new program versions relatively frequently, this process is automated. For Java programs, the use of applets or, if stand-alone programs are required, Java Web Start
is a good choice.
The current software can also be available as a snapshot and transferred using Microsoft's Windows Installer (MSI) with a database close to the system.