Software Deployment Methods and Strategies

What is software deployment?

Software deployment is the process of remotely installing software on multiple or all the computers within a network simultaneously, from a central location. The term "Software Deployment" is generally used in the context of a large network (more than 20 computers).

How to choose the right deployment method

You can deploy software in multiple ways using different deployment strategies. In this doc, we'll look into the methods of software deployment you can choose from and a series of checks that you can apply to customise the software deployment process.

Software Deployment Methods

Deployment methods based on package creation:

Automated software package creation:

Automated software package creation can be achieved via templates. A template refers to a predefined application that can be downloaded and deployed to multiple target machines. You have the option to choose from 8,000 applications listed as templates that can be used to create packages. You can also automate template updates for Windows, meaning every time there is a new version of the software, the corresponding template will be updated automatically.

Manual software package creation:

If the required software is not available in the Templates section, you can create Windows and Mac packages. These packages are stored in the software repository to enable installation on the client machine as required.

Deployment methods based on user access: 

Deployment by Administrator:

This is a standard deployment approach that allows administrators to distribute applications to target machines remotely right from the web console. Administrators can deploy software from a centralized web console with silent installation switches in place.

Self installation by the end user:

End users can install software on their own using the self service portal. In this scenario, administrators can publish a list of software on the Self Service Portal which can be accessed by the end user from the system tray. End users in the same network have the option to access this catalog of software and choose to install them without asking the administrator every time, allowing administrators to empower end users to install software based on their needs. As a result this software deployment approach minimizes time and effort. Administrators can also add or remove software published in the Self Service Portal at any time.

Software Deployment Strategy

Deployment strategies take into account a plan of action or a set of prerequisites that needs to be followed to install or uninstall software and applications successfully. Choosing a software deployment strategy is of essence when it comes to deploying software packages in a network. It involves a list of tasks that one is supposed to check off in order to ensure successful installation or uninstallation of software(s) across multiple endpoints. It may be a checking for free disk space, creating a shortcut post installation or executing a custom script. Such tasks and checks form the basis of a software deployment strategy. These tasks are categorized as pre and post deployment activities. You can use this software deployment best practices checklist while configuring a software package.

Choosing the right software deployment strategy

A software deployment strategy is necessary to ensure zero to minimal interference among end-users. You can-- 

  • Choose a schedule: You can specify when a software package should be deployed to the end-user machines based on the preferred week/day of deployment.
  • Apply pre-deployment settings: Automatically wake computers before software deployment or download packages according to the refresh cycle.
  • Notify users prior to deployment: Notify users before a deployment is about to begin. Additionally you can let your users skip/delay deployment for a specific number of times.
  • Set a reboot policy: Some software require computers to be rebooted while others may not. Depending on the requirement, you can reboot/shutdown computers after deployment if the software requires it.

Software Deployment Best Practices

General best practices for deployment:

  • Allow your end users to install software themselves using the self-service portal.
  • Check out the 'Templates' section before deploying any software. You can create packages from a list of 8000 applications.
  • Configure a software repository so that you can reuse the packages to install or uninstall a sofware.
  • Keep your software and applications up-to-date with the Auto-update Templates option.

Pre-deployment checklist before installation/uninstallation:

  • Checking if software already exists.
  • Ensuring minimum free disk space.
  • Checking registry key/ Value
  • Specifying the file/folder name
  • Configuring processes such as executing custom scripts, creating or deleting a shortcut etc.

Software pre-deployment activities- ManageEngine

Post-deployment checklist after installation/uninstallation:

  • Creating or deleting a shortcut.
  • Creating or appending a file path.
  • Copy, move, rename, delete files and folders in computers.
  • Executing custom scripts.
  • Changing the registry values in workstations.
  • Configuring applications to run as Windows service.

Software post-deployment activities- ManageEngine