Automate Application Installation (Tutorial)

Purpose: Comprehensive list of different Installer Engines and a way to install each of them silently.

Every single task of “let us install this application without user interaction” begins with the study of the target application. You might be lucky to find out that the application is created by one of the most popular install engines. If so, you have a chance to use the applicable install engine documentation and parameters to automate the installation. If not, you will need to create an install package by yourself.

How do you know, which Install Engine does your current project use?
1. After a while, you will notice the engine from how the Installer works.
2. Before that, you can use the following methods to detect the engine. With these methods, you might be able to get the silent installation switch directly, but for further customization of the installation package you will need to know the engine.

I. Launch the following application to determine the most obvious of engines
II. Launch your installation setup executable file from the command prompt with the following parameter to determine any documented basic inbuilt parameters /?
III. You are out of luck! Start going through one of the following actions

a. You might have a custom extractable setup, try to extract it more to get in touch with the actual install files.
b. The Setup is extracting the actual installation files somewhere in your current system (%temp%, %appdata%/temp, etc.) find them.
c. You have an unknown installation engine or custom built installation engine, you need to PACKAGE it yourself.
Most popular Installer Engines, my silent installation references

1. Windows Installer (MSI)
2. Windows Installer Update (MSP)
3. Inno Setup (Script Based)
4. Install Shield (EXE)
5. Install Shield Legacy (EXE)
6. NullSoft Installer (NSIS)
7. Win32 Cabinet Self-Extractor
8. Setup Bootstrap for Visual Basic Setup Toolkit
9. Wise Setup Installer
10. WinZip Self-Extractor
11. WinRAR SFX

3 Thoughts on “Automate Application Installation (Tutorial)

  1. Something to notice when testing the deployments is that does the installer launch external process that does the install/uninstall part. This can cause some headache while deploying with SCCM 2012 using the new application model:

    1. Installation process starts (uninstall.exe / install.exe) and launches external process to do the magic and then shuts down itself.
    2. SCCM client sees that the installation process has exited with exit code 0 and the actual installation (external process it starts) is still doing the magic in the background
    3. SCCM client notices that the detection method you’ve configured doesn’t match (because the installtion is still on going) and returns error

    In these cases you need to wrap the installer in a script (.vbs/.ps) and insert a little wait time during the installation so that the installation process has done it magic before sccm client evaluates the detection method.

    • Jyri Lehtonen on January 14, 2014 at 13:35 said:

      Hi Tuomo,
      That is so true!
      It might not always be enough to issue a ‘Start “INSTALL” /wait “Setup.exe”‘ because in some cases SCCM happily waits for the Setup.exe process to terminate BUT if the Setup.exe actually starts another process to complete the installation. SCCM will release its hold on the application installation and determine it to FAIL if the detection method is not yet fullfilled in the launched new process…

  2. I prefer using .vbs with Wscript.Sleep 😉

    MSI packaking isn’t so bad thing, some good blogs about this in finnish can be found here:

Leave a Reply

Your email address will not be published. Required fields are marked *

one + = three

Post Navigation