Bootstrapping Executable: Guide on Using an EXE File with CLI Commands

Bootstrapping Executable: Guide on Using an EXE File with CLI Commands

Michael Lv8

Bootstrapping Executable: Guide on Using an EXE File with CLI Commands

Table of Contents

Disclaimer: This post includes affiliate links

If you click on a link and make a purchase, I may receive a commission at no extra cost to you.

Create EXE setup file

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 its settings. It can also receive command-line options.

Standard command-line switches

The EXE Setup program (EXE Bootstrapper) supports all msiexec command-line options (basically all the command-line parameters you can use for an 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

The // marker is automatically replaced by the EXE Bootstrapper with <path_to_msi>. Msiexec command-line parameters need to be appended to this command.

Example of an uninstall command passed to the EXE Setup program:

C:\Setup.exe /x // /l*v install.log

Copy

The command above will be automatically converted by the Bootstrapper to:

msiexec.exe /x C:\Setup.msi /l*v install.log

Copy

Caution!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 a URL which starts with “http://“), you can add the | character in front of //. This way, you will have something likehttp:|//.

To learn more about how pass commands to your MSI and MSP packages see the Msiexec page .

https://techidaily.com

Proprietary command-line switches for the EXE Setup

These commands affect only the language selection dialog and the dialogs in the prerequisite wizard. 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.

https://techidaily.com

/extract

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:

Example

Mypackage.exe /extract “C:\My work”

Copy

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.

https://techidaily.com

/exelang

Launches the EXE setup using the specified language. This command-line option will have effect only if the EXE setup was built with the language selection dialog. You can use both a UI level and /exelang command-line options at the same time.

/username

Sets the username used by the proxy server in case the Installer needs Internet access. This command is 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 <user_name>

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.

https://techidaily.com

/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 .

https://techidaily.com

/aespassword

Sets the password needed to install an AES encrypted package.

NoteWhen EXE bootstrapper is launched with wrong value for /aespassword parameter, the EXE exit code is 1.

Example

Mypackage.exe /aespassword:”secret”

Installs the AES encrypted Mypackage.exe using the password “secret” to decrypt the package.

NoteA particular example is installing Multiple Instances Page from the command-line. The possibilities are described in How do I install multiple instances from the command line? article.

https://techidaily.com

/prereqs <prereq_id_list>

Specifies which prerequisites to be installed.

/noprereqs

Skips prerequistes installation.

/newinst <instance_id>

Installs new instance, where <instance_id> is the instance id defined in your project

/upgrdinst <instance_product_code>

Upgrades an installed instance.

https://techidaily.com

/selinst <instance_product_code>

Maintains an installed instance.

instname <new_instance_name>

Changes the instance “Product Name” when installing it.

Options for msiexec.exe on running the MSI 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

Copy

as opposed to an incorrect command-line:

Setup.exe /norestart /exelang 1033 /exenoui /qn

Copy

Return code

The EXE Bootstrapper will return:

  • -1, when the user presses the “Cancel” button, while installing the prerequisites
  • 1, when EXE bootstrapper is launched with wrong value for_/aespassword_ parameter
  • otherwise, it will show the code returned by MSIExec.exe after running the main MSI

ImportantThe Setup EXE provides the MSI it launches with the SETUPEXEDIR property which contains the folder path from where it was executed.

Did you find this page useful?

Please give it a rating:

Thanks!

Report a problem on this page

Information is incorrect or missing

Information is unclear or confusing

Something else

Can you tell us what’s wrong?

Send message

Also read:

  • Title: Bootstrapping Executable: Guide on Using an EXE File with CLI Commands
  • Author: Michael
  • Created at : 2024-10-07 18:16:45
  • Updated at : 2024-10-11 03:47:23
  • Link: https://fox-where.techidaily.com/bootstrapping-executable-guide-on-using-an-exe-file-with-cli-commands/
  • License: This work is licensed under CC BY-NC-SA 4.0.