Creating a software installation package for deployment

Technology

Total Software Deployment offers 3 methods for creation of deployment packages. None of them interferes with the remote user's work. Each method has its advantages and disadvantages.

Silent

The best solution for installers that support the silent installation mode. It’s not necessary to install the remotely deployed program on the local computer. This method uses installer parameters to set up a silent installation.

How it works:

  1. The main module automatically determines the type of the installer and inserts a package of parameters essential for silent installation into the command line. User can select additional parameters, edit them or enter manually. If TSD cannot determine the type of the installer, user may select the type from the list of installers or enter the silent installation parameters in the corresponding field manually.
  2. The program is ready for deployment, though we recommend to check the parameters using the Test run (local) button. If the installer window is awaiting user input, then one of the parameters is not compatible with the installer.

Advantages:

  1. Easy to record.
  2. Reliable deployment of software to a remote computer if all the parameters are valid.

Disadvantages:

  1. The installer must be compatible with the parameters. Besides, if TSD fails to determine the type of the installer, user must input parameters manually.

You can't be sure the program will be deployed successfully unless you do a test run.

Macro

A good fit for most software with the standard installation wizard. The program to be deployed remotely must be first installed locally. This method is based on recording user actions during the installation for future playback on a remote computer.

How it works:

  1. You need to make sure the program hasn't already been installed locally (as well as remotely), as the installer wizard may contain a different set of steps.
  2. TSD’s recording module activates the RHookLib.dll library to run with any launched processes, except for the ones on the ignore list (by default this list includes processes already running the moment the recording starts). Then the recording module runs the installer's executable file.
  3. User installs the program on the local computer. Meanwhile the library intercepts all of the user's actions and records them to Install.jhr located in the temporary folder of the OS.
  4. It is not recommended to set the install location using the Browse button, as the interface of the browse window on a remote computer may differ from yours. As a result, the macro playback won't find the necessary window and will be waiting until timeout. To prevent such behavior, use Safely select destination folder (the yellow folder button) in the Macro recording window. Alternatively, you can insert the installation path directly with Paste from clipboard and Paste text into the installer’s focused control.
  5. Upon completion of the installation the RHookLib.dll library is unloaded from the processes and the recording module moves the Install.jhr file into the corresponding folder of the Software storage.

Advantages:

  1. Easy to record.
  2. Visualization of the recorded method for editing.

Disadvantages:

  1. Not compatible with all installers. Software publishers can develop and use their own installer, which can be based on custom controls that imitate the look and behavior of some standard controls. The Macro method won't recognize the changes in these controls.
  2. Sometimes conflicts may occur when deploying to an OS with a different Windows theme. This happens due to some differences in position and size of window controls between different Windows themes. Thus a mouse cursor may position outside the control region.

This method has no major advantages over the Silent installation method. It is recommended for use only when Silent installation is unavailable.

System shot

This method is suitable for small programs or tools. The program to be deployed remotely must be first installed locally. By analyzing two system shots (before and after the installation) TSD determines the differences between them and saves them for future deployment.

How it works:

  1. You need to make sure the program isn't installed locally before recording; otherwise, the difference between the two system snapshots won't include all necessary data.
  2. TSD’s recording module makes the first system snapshot and starts file system monitoring in system folders (and any user-defined). Then TSD runs the installer.
  3. User installs the program on the local computer. Meanwhile the recording module detects and saves all the file changes in the defined folders.
  4. After the installation the recording module stops file system monitoring and makes the second system snapshot. Then TSD compares these two snapshots and saves the differences between them.

Advantages:

  1. Compatible with any type of installer.
  2. Easy to record (one click).

Disadvantages:

  1. Generates a large deployment data file. Its size may be larger than the size of the installer and affects drive space requirement for the Software storage.
  2. This method scans the registry and the file system for all changes in specific locations. That includes changes made by background services or applications and the operating system itself, which results in unnecessary data in the deployment file. It is possible to edit the snapshot differences after recording to exclude this unnecessary data.
  3. Sometimes, if the target system architecture is different from the architecture of the system where the deployment package was created, conflicts may appear. This occurs due to some differences in the registry structure between x64 and x86 architectures.

You are strongly discouraged from using this method for deployment of drivers, codecs, system utilities and libraries.