Currently I’m working on a project to create silent software installations. The goal is that all our software which is part of the golden Image and not deployable trough Microsoft APP-V or Citirx XenApp no longer have to be installed manually. An automated setup routine should replace that step. For the deployment I use the software RES ONE Automation which is an additionally part of RES ONE Workspace, a complex software that we use to configure the user environment.
The challenge that I have is that not every setup installer is based on the same engine or support parameters for a silent installations. The most common setup installers are:
- Inno setup
- Nullsoft Installer
- Windows Installer (MSI)
With a setup that is based on Installshield we have the possibility to record the steps we did during the installation process.
Simply run setup.exe /r
When the setup is finish we find in the C:\Windows\ directory a file called setup.iss which contains the recorded informations we did during the setup process.
For a silent installation we can now run the following command:
setup.exe /s /f1 „setup.iss“
Another valuable trick that I’ve discovered with Installshield is to run the setup.exe with the parameter /a
Now we have the possibility to extract all the files that belong to the setup. If I have a look to the extracted files I can get the MSI Installer and other useful informations like drivers. 🙂
If we have a installer that is based on Inno Setup we can work with the following parameters:
|/SILENT||Runs the installer in silent mode (The progress window is displayed)|
|/VERYSILENT||Very silent mode. No windows are displayed.|
|/SUPPRESSMSGBOXES||Suppress message boxes. Only has an effect when combined with ‚/SILENT‘ and ‚/VERYSILENT‘.|
|/NOCANCEL||Disables cancelling the installation process.|
|/NORESTART||Prevents installer from restarting the system even if it’s necessary.|
|/DIR=“x:\dirname“||Overrides the default install directory.|
There is also a way to extract the files that belong to the setup with a tool called innoextract.
If we have to deal with a Nullsoft installer we can use those parameters:
|/S||Runs the installer in silent mode|
|/SD||Complitely silent mode. Supress messageboxes.|
|/D||Specifies the installation directory.|
Windows Installer (MSI)
MSI Installers are very common for silent installations. We can use the following parameters:
|/quiet, /q, qn||Fully silent mode|
|/passive||Unattended mode, shows progress bar only.|
|/norestart||Do not restart the system after the installation|
|/forcerestart||Restart the system after installation is complete|
|/log, /l||Enable Logging|
A well known tool to edit MSI files is ORCA.
What can we do if we don’t know the Installertype?
One thing we can do is to open the binary with a hexeditor and search for the string „installer“.
In that case I’ve discovered a new Installertype „AKInstaller„. For that Installertype I could only find less informations in the web. I did install the AKInstall Setup builder and used the help file to get all the switches. The most important are
|/Silent||Fully silent mode|
|/Eula||Accept Eula prompt|
Another way which can help to identify the installer type and it switches is the tool Universal Silent Switch Finder. It uses PEiD to analyze the installertype.
Some installers are packed and in some cases it can help to unpack them for a further analysis. A general tool for such an unpacker is FUU (Faster Universal Unpacker).
A further possibility is to record the setup with a tool and create an own installer. I made good experiences with the software InstallRite.