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.
The Advanced Installer bootstrapper can be set as Unicode or as
non-Unicode. If the Windows 9x predefined launch
condition is unchecked, the bootstrapper used by the package
will be Unicode. However, if this launch condition is checked, the
bootstrapper will not be Unicode. This specific predefined launch
condition is used because older versions of Windows do not support
Unicode.
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.
"//" marker
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
/extract <path>
Extracts the MSI contained by the EXE to the specified location. If the path contains spaces you must enclose it in quotes:
Example
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.
/exenoui
Launches the EXE setup without UI.
/exebasicui
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.
/listlangs
Lists the languages supported by the EXE setup.
/exelang <langId>
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.
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.
/username
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.
/password
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.
/proxyusername
Sets the username used by the proxy server in case the Installer needs Internet access.
/proxypassword
Sets the password used by the proxy server in case the Installer needs Internet access.
/exelog <path_to_log_file>
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.
/exenoupdates
Using this switch will force the bootstrapper to cancel/discard the update checks if any is declared in the Updater Page.
/aespassword
Sets the password needed to install an AES encrypted package.
Example
Mypackage.exe /aespassword:"secret"
Installs the AES encrypted Mypackage.exe using the the password "secret" to decrypt the package.
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
Return code
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.