- Standard Installer Command-Line Options
- Use the Microsoft C++ toolset from the command line
- Download and install the tools
- How to use the command-line tools
- Developer command prompt shortcuts
- To open a developer command prompt window
- Developer command file locations
- Use the developer tools in an existing command window
- vcvarsall syntax
- To set up the build environment in an existing command prompt window
- Create your own command prompt shortcut
- Command-line tools
- Command-line project management tools
- In this section
- Related sections
Standard Installer Command-Line Options
The executable program that interprets packages and installs products is Msiexec.exe.
Msiexec also sets an error level on return that corresponds to System Error Codes.
The following table identifies the standard command-line options for this program. Command-line options are case insensitive.
Windows Installer 2.0: The command-line options that are identified in this topic are available beginning with Windows Installer 3.0. The Windows Installer Command-Line Options are available with Windows InstallerВ 3.0 and earlier versions.
Option | Parameters | Meaning | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/help | В | Help and quick reference option. Displays the correct usage of the setup command including a list of all switches and behavior. The description of usage can be displayed in the user interface. Incorrect use of any option invokes this help option. Example: msiexec /help
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
/quiet | В | Quiet display option. The installer runs an installation without displaying a user interface. No prompts, messages, or dialog boxes are displayed to the user. The user cannot cancel the installation. Use the /norestart or /forcerestart standard command-line options to control reboots. If no reboot options are specified, the installer restarts the computer whenever necessary without displaying any prompt or warning to the user. Examples: msiexec /package Application.msi /quiet Msiexec /uninstall Application.msi /quiet Msiexec /update msipatch.msp /quiet Msiexec /uninstall msipatch.msp /package Application.msi / quiet
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
/passive | В | Passive display option. The installer displays a progress bar to the user that indicates that an installation is in progress but no prompts or error messages are displayed to the user. The user cannot cancel the installation. Use the /norestart or /forcerestart standard command-line options to control reboots. If no reboot option is specified, the installer restarts the computer whenever necessary without displaying any prompt or warning to the user. Example: msiexec /package Application.msi /passive
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
/norestart | В | Never restart option. The installer never restarts the computer after the installation. Example: msiexec /package Application.msi /norestart
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
/forcerestart | В | Always restart option. The installer always restarts the computer after every installation. Example: msiexec /package Application.msi /forcerestart
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
/promptrestart | В | Prompt before restarting option. Displays a message that a restart is required to complete the installation and asks the user whether to restart the system now. This option cannot be used together with the /quiet option.
Use the Microsoft C++ toolset from the command lineYou can build C and C++ applications on the command line by using tools that are included in Visual Studio. The Microsoft C++ (MSVC) compiler toolset is also downloadable as a standalone package. You don’t need to install the Visual Studio IDE if you don’t plan to use it. This article is about how to set up an environment to use the individual compilers, linkers, librarian, and other basic tools. The native project build system, MSBuild, does not use the environment as described in this article. For more information on how to use MSBuild from the command line, see MSBuild on the command line — C++. Download and install the toolsIf you’ve installed Visual Studio and a C++ workload, you have all the command-line tools. For information on how to install C++ and Visual Studio, see Install C++ support in Visual Studio. If you only want the command-line toolset, download the Build Tools for Visual Studio. When you run the downloaded executable, it updates and runs the Visual Studio Installer. To install only the tools you need for C++ development, select the C++ build tools workload. You can select optional libraries and toolsets to include under Installation details. To build code by using the Visual Studio 2015 or 2017 toolsets, select the optional MSVC v140 or MSVC v141 build tools. When you’re satisfied with your selections, choose Install. How to use the command-line toolsWhen you choose one of the C++ workloads in the Visual Studio Installer, it installs the Visual Studio platform toolset. A platform toolset has all the C and C++ tools for a specific Visual Studio version. The tools include the C/C++ compilers, linkers, assemblers, and other build tools, and matching libraries. You can use all of these tools at the command line. They’re also used internally by the Visual Studio IDE. There are separate x86-hosted and x64-hosted compilers and tools to build code for x86, x64, ARM, and ARM64 targets. Each set of tools for a particular host and target build architecture is stored in its own directory. To work correctly, the tools require several specific environment variables to be set. These variables are used to add the tools to the path, and to set include file, library file, and SDK locations. To make it easy to set these environment variables, the installer creates customized command files, or batch files, during installation. You can run one of these command files to set a specific host and target build architecture, Windows SDK version, and platform toolset. For convenience, the installer also creates shortcuts in your Start menu. The shortcuts start developer command prompt windows by using these command files for specific combinations of host and target. These shortcuts ensure all the required environment variables are set and ready to use. The required environment variables are specific to your installation and to the build architecture you choose. They also might be changed by product updates or upgrades. That’s why we recommend you use an installed command prompt shortcut or command file, instead of setting the environment variables yourself. For more information, see Set the path and environment variables for command-line builds. The toolsets, command files, and shortcuts installed depend on your computer processor and the options you selected during installation. The x86-hosted tools and cross tools that build x86 and x64 code are always installed. If you have 64-bit Windows, the x64-hosted tools and cross tools that build x86 and x64 code are also installed. If you choose the optional C++ Universal Windows Platform tools, then the x86 and x64 tools that build ARM and ARM64 code also get installed. Other workloads may install additional tools. Developer command prompt shortcutsThe command prompt shortcuts are installed in a version-specific Visual Studio folder in your Start menu. Here’s a list of the base command prompt shortcuts and the build architectures they support:
The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. If you set one, they also depend on the installation Nickname. For example, suppose you installed Visual Studio 2019, and you gave it a nickname of Latest. The developer command prompt shortcut is named Developer Command Prompt for VS 2019 (Latest), in a folder named Visual Studio 2019. The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. If you set one, they also depend on the installation Nickname. For example, suppose you installed Visual Studio 2017, and you gave it a nickname of Latest. The developer command prompt shortcut is named Developer Command Prompt for VS 2017 (Latest), in a folder named Visual Studio 2017. The Start menu folder and shortcut names vary depending on the installed version of Visual Studio. For example, suppose you installed Visual Studio 2015. The developer command prompt shortcut is named Developer Command Prompt for VS 2015. To open a developer command prompt windowOn the desktop, open the Windows Start menu, and then scroll to find and open the folder for your version of Visual Studio, for example, Visual Studio 2019. In the folder, choose the Developer Command Prompt for your version of Visual Studio. This shortcut starts a developer command prompt window that uses the default build architecture of 32-bit, x86-native tools to build 32-bit, x86-native code. If you prefer a non-default build architecture, choose one of the native or cross tools command prompts to specify the host and target architecture. For an even faster way to open a developer command prompt, enter developer command prompt in the desktop search box. Then choose the result you want. Developer command file locationsIf you prefer to set the build environment in an existing command prompt window, you can use one of the command files created by the installer. We recommend you set the environment in a new command prompt window. We don’t recommend you later switch environments in the same command window. The command file location depends on the version of Visual Studio you installed, and on choices you made during installation. For Visual Studio 2019, the typical installation location on a 64-bit system is in \Program Files (x86)\Microsoft Visual Studio\2019\edition. Edition may be Community, Professional, Enterprise, BuildTools, or another nickname you supplied. The command file location depends on the version of Visual Studio you installed, and on choices you made during installation. For Visual Studio 2017, the typical installation location on a 64-bit system is in \Program Files (x86)\Microsoft Visual Studio\2017\edition. Edition may be Community, Professional, Enterprise, BuildTools, or another nickname you supplied. The command file location depends on the Visual Studio version, and the installation directory. For Visual Studio 2015, the typical installation location is in \Program Files (x86)\Microsoft Visual Studio 14.0. The primary developer command prompt command file, VsDevCmd.bat, is located in the Common7\Tools subdirectory. When no parameters are specified, it sets the environment to use the x86-native tools to build 32-bit x86 code. More command files are available to set up specific build architectures. The command files available depend on the Visual Studio workloads and options you’ve installed. In Visual Studio 2017 and Visual Studio 2019, you’ll find them in the VC\Auxiliary\Build subdirectory. More command files are available to set up specific build architectures. The command files available depend on the Visual Studio workloads and options you’ve installed. In Visual Studio 2015, they’re located in the VC, VC\bin, or VC\bin\architecture subdirectories, where architecture is one of the native or cross-compiler options. These command files set default parameters and call VsDevCmd.bat to set up the specified build architecture environment. A typical installation may include these command files:
The vcvarsall.bat file and other Visual Studio command files can vary from computer to computer. Do not replace a missing or damaged vcvarsall.bat file by using a file from another computer. Rerun the Visual Studio installer to replace the missing file. The vcvarsall.bat file also varies from version to version. If the current version of Visual Studio is installed on a computer that also has an earlier version of Visual Studio, do not run vcvarsall.bat or another Visual Studio command file from different versions in the same command prompt window. Use the developer tools in an existing command windowThe simplest way to specify a particular build architecture in an existing command window is to use the vcvarsall.bat file. Use vcvarsall.bat to set environment variables to configure the command line for native 32-bit or 64-bit compilation. Arguments let you specify cross-compilation to x86, x64, ARM, or ARM64 processors. You can target Microsoft Store, Universal Windows Platform, or Windows Desktop platforms. You can even specify which Windows SDK to use, and select the platform toolset version. When used with no arguments, vcvarsall.bat configures the environment variables to use the current x86-native compiler for 32-bit Windows Desktop targets. You can add arguments to configure the environment to use any of the native or cross compiler tools. vcvarsall.bat displays an error message if you specify a configuration that’s not installed, or not available on your computer. vcvarsall syntax
architecture
platform_type winsdk_version vcversion Use -vcvars_ver=14.2x.yyyyy to specify a specific version of the Visual Studio 2019 compiler toolset. Use -vcvars_ver=14.16 to specify the latest version of the Visual Studio 2017 compiler toolset. Use -vcvars_ver=14.16 to specify the latest version of the Visual Studio 2017 compiler toolset. Use -vcvars_ver=14.1x.yyyyy to specify a specific version of the Visual Studio 2017 compiler toolset. Use -vcvars_ver=14.0 to specify the Visual Studio 2015 compiler toolset. To set up the build environment in an existing command prompt windowAt the command prompt, use the CD command to change to the Visual Studio installation directory. Then, use CD again to change to the subdirectory that contains the configuration-specific command files. For Visual Studio 2019 and Visual Studio 2017, use the VC\Auxiliary\Build subdirectory. For Visual Studio 2015, use the VC subdirectory. Enter the command for your preferred developer environment. For example, to build ARM code for UWP on a 64-bit platform, using the latest Windows SDK and Visual Studio compiler toolset, use this command line: vcvarsall.bat amd64_arm uwp Create your own command prompt shortcutOpen the Properties dialog for a developer command prompt shortcut to see the command target used. For example, the target for the x64 Native Tools Command Prompt for VS 2019 shortcut is something similar to: %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat» Open the Properties dialog for a developer command prompt shortcut to see the command target used. For example, the target for the x64 Native Tools Command Prompt for VS 2017 shortcut is something similar to: %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat» Open the Properties dialog for a developer command prompt shortcut to see the command target used. For example, the target for the VS2015 x64 Native Tools Command Prompt shortcut is something similar to: %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat» amd64 The architecture-specific batch files set the architecture parameter and call vcvarsall.bat. You can pass the same options to these batch files as you would pass to vcvarsall.bat, or you can just call vcvarsall.bat directly. To specify parameters for your own command shortcut, add them to the end of the command in double-quotes. For example, here’s a shortcut to build ARM code for UWP on a 64-bit platform, using the latest Windows SDK. To use an earlier compiler toolset, specify the version number. Use something like this command target in your shortcut: %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat» amd64_arm uwp -vcvars_ver=14.16 %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat» amd64_arm uwp -vcvars_ver=14.0 %comspec% /k «C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat» amd64 -vcvars_ver=12.0 Adjust the path to reflect your Visual Studio installation directory. The vcvarsall.bat file has additional information about specific version numbers. Command-line toolsTo build a C/C++ project at a command prompt, Visual Studio provides these command-line tools: CL Link NMAKE When you build on the command line, the F1 command isn’t available for instant help. Instead, you can use a search engine to get information about warnings, errors, and messages. You can also download and use the offline help files. To use the search in docs.microsoft.com, enter your query in the search box at the top of any article. Command-line project management toolsThe Visual Studio IDE uses a native project build system based on MSBuild. You can invoke MSBuild directly, or use the native project system without using the IDE: MSBuild DEVENV In this sectionThese articles show how to build apps on the command line, and describe how to customize the command-line build environment. Some show how to use 64-bit toolsets, and target x86, x64, ARM, and ARM64 platforms. They also describe use of the command-line build tools MSBuild and NMAKE. Walkthrough: Compiling a native C++ program on the command line Walkthrough: Compile a C program on the command line Walkthrough: Compiling a C++/CLI program on the command line Walkthrough: Compiling a C++/CX program on the command line Set the path and environment variables for command-line builds NMAKE reference MSBuild on the command line — C++ Related sections/MD, /MT, /LD (Use run-time library) C/C++ compiler options MSVC linker options Additional MSVC build tools |