Friday 19 July 2019

Use command-line parameters to install Visual Studio

https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2017

When you install Visual Studio from a command prompt, you can use a variety of command-line parameters to control or customize the installation. From the command line, you can perform the following actions:
  • Start the install with certain options preselected.
  • Automate the installation process.
  • Create a cache (layout) of the installation files for later use.
The command-line options are used in conjunction with the setup bootstrapper, which is the small (1 MB) file that initiates the download process. The bootstrapper is the first executable that is launched when you download from the Visual Studio site. Use the following links to get a direct link to the latest release bootstrapper for the product edition that you're installing:

Command-line parameters

Visual Studio command-line parameters are case-insensitive.
Syntax: vs_enterprise.exe [command] <options>...
(Replace vs_enterprise.exe as appropriate for the product edition you're installing.)
 Tip
For more examples of how to use the command line to install Visual Studio, see the Command-line parameter examples page.
CommandDescription
(blank)Installs the product.
modifyModifies an installed product.
updateUpdates an installed product.
repairRepairs an installed product.
uninstallUninstalls an installed product.
exportNew in version 15.9: Exports installation selection to an installation configuration file. Note: Can only be used with vs_installer.exe.

Install options

Install optionDescription
--installPath <dir>The installation directory for the instance to act upon. For the install command, this is Optional and is where the instance will be installed. For other commands, this is Required and is where the previously installed instance was installed.
--addProductLang <language-locale>Optional: During an install or modify operation, this determines the UI language packs that are installed to the product. It can appear multiple times on the command line to add multiple language packs. If not present, the installation uses the machine locale. For more information, see the List of language locales section on this page.
--removeProductLang <language-locale>Optional: During an install or modify operation, this determines the UI language packs that are to be removed from the product. It can appear multiple times on the command line to add multiple language packs. For more information, see the List of language locales section on this page.
--add <one or more workload or component IDs>Optional: One or more workload or component IDs to add. The required components of the artifact are installed, but not the recommended or optional components. You can control additional components globally using --includeRecommendedand/or --includeOptional. To include multiple workloads or components, repeat the --add command (for example, --add Workload1 --add Workload2). For finer-grained control, you can append ;includeRecommended or ;includeOptional to the ID (for example, --add Workload1;includeRecommended or --add Workload2;includeRecommended;includeOptional). For more information, see the Workload and component IDs page. You can repeat this option as necessary.
--remove <one or more workload or component IDs>Optional: One or more workload or component IDs to remove. For more information, see our Workload and component IDs page. You can repeat this option as necessary.
--in <path>Optional: The URI or path to a response file.
--allOptional: Whether to install all workloads and components for a product.
--allWorkloadsOptional: Installs all workloads and components, no recommended or optional components.
--includeRecommendedOptional: Includes the recommended components for any workloads that are installed, but not the optional components. The workloads are specified either with --allWorkloads or --add.
--includeOptionalOptional: Includes the optional components for any workloads that are installed, but not the recommended components. The workloads are specified either with --allWorkloads or --add.
--quiet, -qOptional: Do not display any user interface while performing the installation.
--passive, -pOptional: Display the user interface, but do not request any interaction from the user.
--norestartOptional: If present, commands with --passive or --quiet will not automatically restart the machine (if necessary). This is ignored if neither --passive nor --quiet are specified.
--nickname <name>Optional: This defines the nickname to assign to an installed product. The nickname cannot be longer than 10 characters.
--productKeyOptional: This defines the product key to use for an installed product. It is composed of 25 alphanumeric characters either in the format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx or xxxxxxxxxxxxxxxxxxxxxxxxx.
--help, --?, -h, -?Display an offline version of this page.
--config <path>Optional and New in 15.9: During an install or modify operation, this determines the workloads and components to add based on a previously saved installation configuration file. This operation is additive and it will not remove any workload or component if they are not present in the file. Also, items that do not apply to the product will not be added. During an export operation, this determines the location to save the installation configuration file.
 Important
When specifying multiple workloads and components, you must repeat the --add or --remove command-line switch for each item.

Layout options

Layout optionsDescription
--layout <dir>Specifies a directory to create an offline install cache. For more information, see Create a network-based installation of Visual Studio.
--lang <one or more language-locales>Optional: Used with --layout to prepare an offline install cache with resource packages with the specified language(s). For more information, see the List of language locales section on this page.
--add <one or more workload or component IDs>Optional: One or more workload or component IDs to add. The required components of the artifact are installed, but not the recommended or optional components. You can control additional components globally using --includeRecommendedand/or --includeOptional. For finer-grained control, you can append ;includeRecommended or ;includeOptional to the ID (for example, --add Workload1;includeRecommended or --add Workload2;includeOptional). For more information, see the Workload and component IDs page. 
Note: If --add is used, only the specified workloads and components and their dependencies are downloaded. If --add is not specified, all workloads and components are downloaded to the layout.
--includeRecommendedOptional: Includes the recommended components for any workloads that are installed, but not the optional components. The workloads are specified either with --allWorkloads or --add.
--includeOptionalOptional: Includes the recommended and optional components for any workloads being included in the layout. The workloads are specified with --add.
--keepLayoutVersionNew in 15.3, optional: Apply changes to the layout without updating the version of the layout.
--verifyNew in 15.3, optional: Verify the contents of a layout. Any corrupt or missing files are listed.
--fixNew in 15.3, optional: Verify the contents of a layout. If any files are found to be corrupt or missing, they are redownloaded. Internet access is required to fix a layout.
--clean <one or more paths to catalogs>New in 15.3, optional: Removes old versions of components from a layout that has been updated to a newer version.
Advanced install optionsDescription
--channelId <id>Optional: The ID of the channel for the instance to be installed. This is required for the install command, ignored for other commands if --installPath is specified.
--channelUri <uri>Optional: The URI of the channel manifest. If updates are not desired, --channelUri can point to a non-existent file (for example, --channelUri C:\doesntExist.chman). This can be used for the install command; it is ignored for other commands.
--installChannelUri <uri>Optional: The URI of the channel manifest to use for the installation. The URI specified by --channelUri (which must be specified when --installChannelUri is specified) is used to detect updates. This can be used for the install command; it is ignored for other commands.
--installCatalogUri <uri>Optional: The URI of the catalog manifest to use for the installation. If specified, the channel manager attempts to download the catalog manifest from this URI before using the URI in the install channel manifest. This parameter is used to support offline install, where the layout cache will be created with the product catalog already downloaded. This can be used for the install command; it is ignored for other commands.
--productId <id>Optional The ID of the product for the instance that will be installed. This is prepopulated in normal installation conditions.
--waitOptional: The process will wait until the install is completed before returning an exit code. This is useful when automating installations where one needs to wait for the install to finish to handle the return code from that install.
--locale <language-locale>Optional: Change the display language of the user interface for the installer itself. Setting will be persisted. For more information, see the List of language locales section on this page.
--cacheNew in 15.2, optional: If present, packages will be kept after being installed for subsequent repairs. This overrides the global policy setting to be used for subsequent installs, repairs, or modifications. The default policy is to cache packages. This is ignored for the uninstall command. Read how to disable or move the package cache for more information.
--nocacheNew in 15.2, optional: If present, packages will be deleted after being installed or repaired. They will be downloaded again only if needed and deleted again after use. This overrides the global policy setting to be used for subsequent installs, repairs, or modifications. The default policy is to cache packages. This is ignored for the uninstall command. Read how to disable or move the package cache for more information.
--noUpdateInstallerNew in 15.2, optional: If present, prevents the installer from updating itself when quiet is specified. The installer will fail the command and return a non-zero exit code if noUpdateInstaller is specified with quiet when an installer update is required.
--noWebNew in 15.3, optional: If present, Visual Studio setup uses the files in your layout directory to install Visual Studio. If a user tries to install components that are not in the layout, setup fails. For more information, see Deploying from a network installation. 

Important: This switch does not stop Visual Studio setup from checking for updates. For more information, see Control updates to network-based Visual Studio deployments.
--path <name>=<path>New in 15.7, optional: Used to specify custom install paths for the installation. Supported path names are shared, cache, and install.
--path cache=<path>New in 15.7, optional: Uses the location you specify to download installation files. This location can only be set the first time that Visual Studio is installed. Example: --path cache="C:\VS\cache"
--path shared=<path>New in 15.7, optional: Contains shared files for side-by-side Visual Studio installations. Some tools and SDKs install to a location on this drive, while some others might override this setting and install to another drive. Example: --path shared="C:\VS\shared" 

Important: This can be set only once and on the first time that Visual Studio is installed.
--path install=<path>New in 15.7, optional: Equivalent to –-installPath. Specifically, --installPath "C:\VS" and --path install="C:\VS" are equivalent. Only one of these can be used at a time.

List of workload IDs and component IDs

For a list of workload and component IDs sorted by Visual Studio product, see the Visual Studio workload and component IDs page.

List of language locales

Language-localeLanguage
Cs-czCzech
De-deGerman
En-usEnglish
Es-esSpanish
Fr-frFrench
It-itItalian
Ja-jpJapanese
Ko-krKorean
Pl-plPolish
Pt-brPortuguese - Brazil
Ru-ruRussian
Tr-trTurkish
Zh-cnChinese - Simplified
Zh-twChinese - Traditional

Error codes

Depending on the result of the operation, the %ERRORLEVEL% environment variable is set to one of the following values:
ValueResult
0Operation completed successfully
1602Operation was canceled
1641Operation completed successfully, and reboot was initiated
3010Operation completed successfully, but install requires reboot before it can be used
5003Bootstrapper failed to download installer
5004Operation was canceled
5005Bootstrapper command-line parse error
5007Operation was blocked - the computer does not meet the requirements
-1073741510Microsoft Visual Studio Installer was terminated (by the user or external process)
Other
(for example:
-1, 1, 1603)
Failure condition occurred - check the logs for more information
Each operation generates several log files in the %TEMP% directory that indicate the progress of the installation. Sort the folder by date and look for files that begin with dd_bootstrapper, dd_client, and dd_setup for the bootstrapper, the installer app, and the setup engine, respectively.

Get support

Sometimes, things can go wrong. If your Visual Studio installation fails, see Troubleshoot Visual Studio installation and upgrade issues for step-by-step guidance.
We also offer a live chat (English only) support option for installation-related issues.
Here are a few more support options:

No comments:

Post a Comment

Note: only a member of this blog may post a comment.

Blog Archive