Advanced Installer comes with a Setup program which can be used as a bootstrapper. This is useful if you want to create an EXE installation package or if your package has some prerequisites.
If you build your EXE setup with the installation files outside (MSI, CAB etc.), the bootstrapper will use an INI file to store it's settings. It can also receive command line options.
Standard command line switches
The EXE bootstrapper supports all MSIEXEC command line options (basically all the command line parameters you can use for a MSI package). A command line received by the EXE bootstrapper will be passed to MSIEXEC when launching the main MSI. This command line overrides the one specified in the "Install Options" from the Configuration Settings Tab.
This marker can be used to specify where the package path is located in the supplied command line. The EXE bootstrapper will replace // with the actual path to your MSI file. If this marker is not used, the bootstrapper will automatically use something like msiexec.exe /i <path_to_msi> in the MSI command line. Any other bootstrapper command line parameters are appended to this command.
For example, this command line:
C:\Setup.exe /x /l*v uninstall.log
is invalid and will be resolved to:
msiexec.exe /i C:\setup.msi /x /l*v uninstall.log
The correct command line would be:
C:\Setup.exe /x // /l*v uninstall.log
and it will be resolved to:
msiexec.exe /x C:\setup.msi /l*v uninstall.log
The // sequence of characters is not supported when used in a property value set by the bootstrapper command line. If you want to use this sequence (for example an URL which starts with "http://"), you can add the | character in front of //. This way, you will have something like http:|//.
Proprietary command line switches
These commands affect only the language selection dialog and the dialogs in the prerequisite wizard. In order to also affect the MSI package please use the standard MSIEXEC command line parameters. Note that the MSI parameters must come after the bootstrapper parameters.
Extracts the MSI contained by the EXE to the specified location. The full path to an existent folder is required. If the path contains spaces you must enclose it in quotes:
Mypackage.exe /extract:"C:\My work"
This command will extract the Mypackage.msi file in the "My work" folder.
/? and /help
Both these commands will display a help dialog containing the command line options for the EXE setup.
Launches the EXE setup without UI.
Launches the EXE setup with basic UI. The UI level set using the above command line options will overwrite the default UI level specified when the package was built.
Lists the languages supported by the EXE setup.
Launches the EXE setup using the specified language. This command line option will have effect only if the EXE setup was build with the language selection dialog. You can use both an UI level and /exelang command line options at the same time.
Sets the username used by the proxy server in case the Installer needs Internet access. This command was deprecated and you should use /proxyusername instead.
Sets the password used by the proxy server in case the Installer needs Internet access. This command was deprecated and you should use /proxypassword instead.
Sets the username used by the proxy server in case the Installer needs Internet access.
Sets the password used by the proxy server in case the Installer needs Internet access.
Creates a log file at the specified path with the specified name. If a path and name are not specified then the log file will be created next to the EXE installer having the same name as the installer and the extension .log.
Using this switch will force the bootstrapper to cancel/discard the update checks if any is declared in the Updater Page.
Sets the password needed to install an AES encrypted package.
Installs the AES encrypted Mypackage.exe using the the password "secret" to decrypt the package.
A particular example is installing Multiple Instances from the command line. The possibilities are described in How do I install multiple instances from the command line? article.
Command line switches order
When passing proprietary command line parameters to an EXE setup you cannot mix them with the standard MSI ones. The correct order is to first specify the proprietary EXE switches and then the standard MSI switches.
For example, a correct command line would be:
Setup.exe /exelang 1033 /exenoui /qn /norestart
as opposed to an incorrect command line:
Setup.exe /norestart /exelang 1033 /exenoui /qn
The EXE bootstrapper will return -1 if the user presses the "Cancel" button, while installing the prerequisites. Otherwise it will return the code returned by MSIExec.exe after running the main MSI.
The Setup EXE provides the MSI it launches with the SETUPEXEDIR property which contains the folder path from where it was executed.