How to configure installers for silent deployment?

With Remote Installer, products are mostly deployed to remote Machines silently. This means that the install, uninstall and repair process is fully unattended, thus no interaction with the user is required. This concept allows using the program to perform a mass deployment. However, if the installer configuration is incorrect, the deployment process may hang, and although we have done our best to allow you to cancel the deployment process, it might be impossible to do so, and the remote Machines reboot might be required to proceed with further deployment or to try to perform the failed deployment again. In this chapter, we will describe how to configure the installers to avoid problems during a silent deployment.

Windows Installer Packages and Microsoft Software Patches are installed using the Windows Installer technology, and no additional configuration is required to perform a silent deployment, but the default silent installation scenario might differ from the required scenario. The installation scenario for Windows Installer Packages can be changed to fit your needs by using the Windows Installer Transforms or Additional Properties. Using these options, you can change the installation target directory, provide the license codes to be applied, etc. The transforms for different installation scenarios might be available together with the installation packages, and you can generate your own ones. You should contact the installation package vendor for the set of properties that can be passed to Windows Installer while deploying this or that product.

The situation with products deployed via executable installers is a little bit more complex. By default, the installation setup is performed through a wizard, and sometimes there is no default scenario. Besides, there is no common way to determine if the deployment process has actually succeeded or not, like it can be done with Windows Installer Packages. So how should you configure the installer for the deployment process to succeed? Let us try to answer this question using, for example, the installation of the product deployed via an executable installer.

Configuring the executable installer

Pic 1. Configuring the executable installer

The behavior of the installation setup is commonly configured with the help of command line parameters passed to the installer. Those parameters must be provided to the Parameters field while defining the common configuration. Such parameters may vary depending on the installation vendor, and you should contact the vendor for proper parameters to be used during a silent deployment.

While performing an uninstall of products installed via the known installer types, the program will fill the Parameters field with the required value. Nevertheless, it is still required to double-check the parameters.

The parameters can contain the %LOG_FILE% and %ANSWER_FILE% placeholders. The %LOG_FILE% placeholder should be used instead of the path to the log file to be passed to the installer. If you use this parameter properly, the installer log will be available in the detailed log. The %ANSWER_FILE% placeholder should be used instead of the path to the installation answer file. The answer file is a helper file for the installer that contains the answers to the questions the setup wizard asks on each step. You should contact the installation vendor to find out if an answer file is required and how to generate a proper answer file.

The last but not least important thing during the installer configuration is specifying the exit codes of the installer application to be interpreted as successful deployment completion. Contact the installation package vendor to find out if the installer setup supports checking for errors based on the exit code value and to get the list of exit codes.

Also, please take into account that if you would like to use the Pre & Post Actions to be executed before and/or after the deployment process, you must guarantee that those actions are executed without any interaction with a user, because if the action execution hangs, the whole deployment process also hangs.

Why is it important to supply installer command line parameters and an answer file?

As most executable installers are designed to run in a silent mode, when run using specific command line options only, a proper executable installer configuration is required for the deployment process to succeed. If the installer is configured incorrectly, the deployment process may pause to wait for user input, and as there is no user during the remote deployment process, it will hang indefinitely. Although we have done our best to let you cancel the deployment process that has hanged, there is no guarantee that it will be canceled properly and you will be able to redeploy the product or deploy other products.

Now let us look at the importance of an answer file. In some cases, the installer simply does not provide a default installation sequence without any user input, so a silent deployment without any additional configuration is impossible. Such installers commonly provide a technique for recoding an answer file to perform the deployment saving the user answers to that file. Another example is setups that use the same command for uninstall and repair and simply ask you what you would like to do on the first step of the installation wizard. If you launch an uninstall using this command with a default scenario, the installation setup may simply perform a repair and that is not what you are expecting.

As a conclusion, we should emphasize that it is always absolutely necessary to provide correct parameters to be passed to the installer setup and the answer file, if required. You should contact the installation package vendor or do Internet search to get the proper parameters to be passed to each executable installer setup.