The installation wrapper

a component that is often underestimated.

Flowchart - Installation Wrapper

Often a simple single command line can be used to silently (automatically) install an application. For example, to install 7-Zip with a basic msiexec user interface (UI), we use the call msiexec /i 7z920-x64.msi ALLUSERS=1 /norestart /qb!. This command line is usually inserted into your software distribution tool (SCCM, Ivanti, etc.) to deploy the software to your Windows client. But what if

  • your unattended installation consists of multiple dependencies?
  • further actions are necessary before and / or after the installation?
At this point, most will probably write a "batch (processing) file". Below is an example of such a batch file that installs iTunes with the following requirements:

REM a batch file
msiexec.exe /i "C:\ Path \ To \AppleApplicationSupport.msi" ALLUSERS=1 /norestart /qb-
msiexec.exe /i "C:\ Path \ To \AppleMobileDeviceSupport64.msi" ALLUSERS=1 /norestart /qb-
msiexec.exe /i "C:\ Path \ To \iTunes64.msi" TRANSFORMS="C:\Path\To\iTunes64_ITS.mst" ALLUSERS=1 /norestart /qb-
REM end of batch file

Now imagine that this batch file is called Install_iTunes.cmd and that this is the command line you use in your favorite software distribution tool: C: \ Path \ To \ Install_iTunes.cmd The batch file you have now created is an installation wrapper.

An installation wrapper can be created using any scripting or programming language. The goal is generally to ensure that the application can be fully (and robustly) installed on the target computer unattended. Please note that I do not use the word "silent" in this regard; many software packagers use the words silent and unattended in reference to application installations. This can be confusing because some switch implementations only fully automate the installation, i.e. unattended but not always silent.

In summary, an installation wrapper is a program or script with additional programmed logic, including additional scripting tasks such as file or registry operations.

The disadvantage of installation wrappers is that the more complex the application requirements and installation phases become, the more skilled the software packager has to be. And this can become a problem if the latter does not have the necessary skills.