使用命令行参数安装、更新和管理 Visual Studio

适用范围:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

以编程方式或从命令提示符安装 Visual Studio 时,可以使用各种命令行参数来控制或自定义安装并执行以下操作:

  • 使用预先选择的特定选项和行为来启动客户端上的安装。
  • 自动执行安装或更新过程。
  • 创建或维护产品文件的网络布局,以便安装或更新客户端计算机。

下面所述的命令行选项可以与安装程序引导程序(例如启动下载过程的vs_enterprise.exe) ) (大约 1 MB 的小) 文件 (一起使用,也可以与安装程序一起使用。 下面列出的所有命令和参数都设计为与引导程序一起使用,除非显式指定为仅安装程序。 请注意,如果通过布局安装 Visual Studio,则客户端计算机可能只有安装程序可用于编程执行。

还可以使用管理员更新包(可从Microsoft更新目录下载)以编程方式更新网络布局。 若要详细了解如何这样做,请参阅更新或修改布局文档。

可以从下表中获取 Visual Studio 2019 引导程序。 或者,如果需要特定版本的 Visual Studio 2019,请转到 Visual Studio 2019 版本页,该页包含指向所选 Visual Studio 版本的固定版本引导程序的链接。

版本 引导程序
Visual Studio 2019 Enterprise 版本 16.11 vs_enterprise.exe
Visual Studio 2019 Professional 版本 16.11 vs_professional.exe
Visual Studio 2019 生成工具版本 16.11 vs_buildtools.exe

若要获取始终安装最新当前频道版本的 Visual Studio 2022 的最新引导程序,请下载以下文件之一。 或者,如果要安装 Visual Studio 2022 的特定版本或特定频道,请转到 Visual Studio 2022 版本历史记录页,该页包含指向每个服务版本的固定版本引导程序的链接。

版本 引导程序
Visual Studio 2022 Enterprise vs_enterprise.exe
Visual Studio 2022 Professional vs_professional.exe
Visual Studio 2022 Community vs_community.exe
Visual Studio 2022 生成工具 vs_buildtools.exe

提示

如果以前下载过引导程序文件,并且想要验证其版本,则操作方法如下。 在 Windows 中,打开文件资源管理器,右键单击引导程序文件,依次选择“属性”、“详细信息”选项卡,然后查看“产品版本”号 。 若要将该编号与 Visual Studio 的版本匹配,请参阅 Visual Studio 2019 版本页面底部的表。

提示

如果你之前下载了一个引导程序文件,并且想要验证它将安装的版本,操作方法如下。 在 Windows 中,打开“文件资源管理器”,右键单击该引导程序文件,选择“属性”,然后选择“详细信息”选项卡。“产品版本”字段将描述该引导程序将安装的频道和版本 。 版本号应始终读取为“指定内容的最新服务版本”,除非显式指定,否则频道为“当前”。 因此,产品版本为 LTSC 17.0 的引导程序将安装 17.0 LTSC 频道上提供的最新 17.0.x 服务版本。 产品版本仅显示“Visual Studio 2022”的引导程序将在当前频道上安装最新版本的 Visual Studio 2022。

可在此处找到Visual Studio 安装程序:C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe。 请注意,无法从安装程序所在的同一目录以编程方式启动安装程序。

安装、更新、修改、修复、卸载和导出命令和命令行参数

以编程方式调用 Visual Studio 引导程序或安装程序以安装产品或维护布局时,第一个参数是命令 (描述要执行的操作的谓词) 。 后续的可选命令行参数带两个短划线 (--) 作为前缀,将进一步定义该操作的发生方式。 所有 Visual Studio 命令行参数均不区分大小写,可以在命令行参数示例页上查看更多示例。

语法示例:vs_enterprise.exe [command] <optional parameters>...

命令 说明
(空白) 默认的命令不仅安装该产品,还用于所有布局维护操作。
modify 修改已安装的产品。
update 更新已安装的产品。
updateall 按顺序汇报所有已安装的产品。 适用于 --quiet--passive 参数。
repair 修复已安装的产品。
uninstall 卸载已安装的产品。
export 将安装所选内容导出到安装配置文件。 注意:只能与 vs_installer.exe 或 setup.exe 一起使用。

重要

当指定多种不同的工作负载、组件或语言时,必须对每项重复运行 --add--remove 命令行开关。

参数 说明
--installPath <dir> 对于默认安装命令,此参数是可选的,用于说明实例在客户端计算机上的安装位置。 对于其他命令,如 update 或 modify,此参数是必需的,用于指示实例在执行操作时使用的安装目录。
--add <one or more workload or component IDs> 可选:在 install 或 modify 命令期间,这个可重复参数会指定要添加的一个或多个工作负载或组件 ID。 将安装项目的所需组件,而不是建议组件或可选组件。 可以使用 --includeRecommended 和/或 --includeOptional 参数来全局性地控制更多组件。 若要包括多个工作负荷或组件,请重复 --add 命令(例如,--add Workload1 --add Workload2)。 若要更精确地进行控制,可以将 ;includeRecommended;includeOptional 追加到 ID 中(例如,--add Workload1;includeRecommended--add Workload2;includeRecommended;includeOptional)。 有关详细信息,请参阅工作负载和组件 ID 页。
--remove <one or more workload or component IDs> 可选:在 modify 命令期间,这个可重复参数会指定要删除的一个或多个工作负载或组件 ID。 该参数是 --add 参数的补充或与其行为相似。
--addProductLang <language-locale> 可选:在 install 或 modify 命令期间,这个可重复参数会指定要随产品一起安装的用户界面语言包。 如果不存在,安装过程将使用对应于计算机区域设置的语言包。 有关详细信息,请参阅本页的语言区域设置列表部分。
--removeProductLang <language-locale> 可选:在 install 或 modify 命令期间,这个可重复参数会确定要从产品中删除的用户界面语言包。 该参数是 --addProductLang 参数的补充或与其行为相似。
--in <path> 可选响应文件的 URI 或路径,文件可包含配置设置。
--all 可选:在 install 或 modify 命令期间,这个参数会促使安装产品的所有工作负载和组件。
--allWorkloads 可选:在 install 或 modify 命令期间,这个参数将安装除建议的组件或可选组件外的所有工作负载和组件。
--includeRecommended 可选:在 install 或 modify 命令期间,这个参数会包含已安装的任何工作负载的建议组件,但不包含可选组件。 可使用 --allWorkloads--add 指定工作负载。
--includeOptional 可选:在 install 或 modify 命令期间,这个参数会包含已安装的任何工作负载的可选组件,但不包含建议组件。 可使用 --allWorkloads--add 指定工作负载。
--quiet, -q 可选:这个参数可与任何命令一起使用,可在命令执行时阻止显示任何用户界面。
--passive, -p 可选:这个参数会导致用户界面以非交互式方式显示。 此参数与 --quiet 参数是互斥的,事实上还会替代后者。
--norestart 可选:这个参数必须与 --passive--quiet 参数配对使用。 在 install、update 或 modify 命令期间,如果添加 --norestart 参数,会延迟所有必要的重启行为。
--force 可选:这个参数会强行关闭 Visual Studio,即使有正在使用的 Visual studio 进程也是如此。 强制 Visual Studio 关闭可能会导致工作丢失,因此请谨慎使用。
--installWhileDownloading 可选:在 install、update 或 modify 命令期间,这个参数使 Visual Studio 能够同时下载和安装产品。 这是默认体验。
--downloadThenInstall 可选:在 install、update 或 modify 命令期间,这个参数会强制性地让 Visual Studio 在安装所有文件之前先下载这些文件。 它与 --installWhileDownloading 参数互斥。
--channelUri 可选:在更新命令期间,可以传入新的 channelUri 来更改更新设置位置。 建议与 --installPath 参数配对,以便非常明确要配置哪个 Visual Studio 实例。 请参阅 --channelUri 的语法示例
--nickname <name> 可选:在 install 命令期间,这个参数会定义要分配给已安装的产品的昵称。 别名长度不能超过 10 个字符。
--productKey 可选:在 install 命令期间,这个参数会定义要用于已安装的产品的产品密钥。 由 25 个字母数字字符组成,格式为 xxxxxxxxxxxxxxxxxxxxxxxxx
--removeOos true 可选:在安装、更新或修改命令期间,此参数 (,该参数在) 指示 Visual Studio 安装程序删除 (或不要删除) 已转换为不支持状态的所有已安装组件。 此行为适用于单个事件。 如果要使此行为持久化,请将此参数应用于如下所述的 modifySettings 命令,或 配置 removeOOS 全局策略。 有助于确保计算机安全。
--config <path> 可选:在安装或修改操作期间,这将根据以前保存的安装配置文件确定要添加的工作负载和组件。 此操作是附加的,如果文件中不存在任何工作负载或组件,也不会删除任何工作负载或组件。 此外,不会添加不适用于该产品的项目。 在导出操作期间,这将确定保存安装配置文件的位置。
--help, --?, -h, -? 显示此页的脱机版本。

布局命令和命令行参数

所有布局管理操作都使用引导程序 exe 运行,它们假定命令是默认的“安装 (空白) ,而不管你是在创建还是更新布局。 因此,所有布局管理操作都始于必需的初始 --layout 参数。 下表介绍了使用命令行创建或更新布局时可使用的其他参数。

布局参数 说明
--layout <dir> 指定用于创建或更新脱机安装缓存的目录。 有关详细信息,请参阅创建 Visual Studio 的网络安装
--lang <one or more language-locales> 可选:与 --layout 结合使用,以准备脱机安装缓存,以便使用包含指定语言的资源包。 有关详细信息,请参阅本页的语言区域设置列表部分。
--add <one or more workload or component IDs> 可选:要添加的一个或多个工作负荷或组件 ID。 将安装项目的所需组件,而不是建议组件或可选组件。 可以使用 --includeRecommended 和/或 --includeOptional 全局控制其他组件。 若要更精确地进行控制,可以将 ;includeRecommended;includeOptional 追加到 ID 中(例如,--add Workload1;includeRecommended--add Workload2;includeOptional)。 有关详细信息,请参阅工作负载和组件 ID 页。
注意:如果使用了 --add,只会下载指定的工作负载和组件及其依赖项。 如果未指定 --add,所有工作负载和组件都会下载到布局中。
--includeRecommended 可选:包含所有已安装工作负载的推荐组件,但不包含可选组件。 可使用 --allWorkloads--add 指定工作负载。
--includeOptional 可选:添加布局中包含的任何工作负载的推荐可选组件。 可使用 --add 指定工作负载。
--wait 可选:进程会先等待安装完成,然后再返回退出代码。 在需要等待安装完成以处理来自该安装的返回代码的自动安装中,这非常有用。
--useLatestInstaller Optional:如果存在,则最新版 Visual Studio 安装程序将包含在布局中,即使它属于较新版本的产品。 如果要利用最新安装程序中提供的新功能或 bug 修补程序,这非常有用。 有关详细信息,请参阅配置布局以始终使用最新安装程序文档。
--noWeb 可选:如果存在,Visual Studio 安装程序将使用布局目录中的文件来安装 Visual Studio。 如果用户尝试安装不在布局中的组件,安装程序将失败。 有关详细信息,请参阅从网络安装点进行部署

重要说明:此开关不会阻止 Visual Studio 安装程序检查更新。 有关详细信息,请参阅控制对基于网络的 Visual Studio 部署的更新
--verify 可选:验证布局内容。 将列出所有损坏或缺失的文件。
--fix 可选:验证布局内容。 如果任何文件损坏或缺失,将重新进行下载。 必须连接 Internet,才能修复布局。
--clean <one or more paths to catalogs> 可选:从已更新到新版本的布局中删除旧版组件。
高级布局参数 说明
--channelId <id> 可选:要安装的实例的通道 ID。 如果指定了 --installPath,则此参数对于 install 命令是必需参数,对于其他命令则可忽略。
--channelUri <uri> 可选:通道清单的 URI。 此值可控制更新的源位置,初始值在布局的 response.json 文件中配置。 有关可能的值 ,请参阅 --channelUri 的语法示例 。 如果不需要更新,--channelUri 可指向不存在的文件(例如 --channelUri C:\doesntExist.chman)。 此参数可用于 install 命令;其他命令则可忽略。
--installChannelUri <uri> 可选:要用于安装的通道清单的 URI。 指定的 URI(指定 时必须指定)用于检测更新。 此参数可用于 install 命令;其他命令则可忽略。
--installCatalogUri <uri> 可选:要用于安装的目录清单的 URI。 如果指定此选项,通道管理器会先尝试通过此 URI 下载目录清单,然后再在安装通道清单中使用 URI。 此参数用于支持脱机安装,安装期间会使用已下载的产品目录创建布局缓存。 此参数可用于 install 命令;其他命令则可忽略。
--productId <id> 可选:将要安装的实例的产品 ID。 在正常安装条件下,这是预填充的。 productID 类似于“Microsoft.VisualStudio.Product.Enterprise”。
--arch all 可选:默认情况下,仅使用 x64 产品二进制文件创建布局。 若要在布局中包括适用于工作负载的 ARM 二进制文件和 x64 二进制文件,请使用 --arch all--arch * 参数。 若要仅创建 ARM 二进制文件的布局,请使用 --arch arm64
--keepLayoutVersion 可选:将更改应用到布局中,而不更新布局中包含的产品版本。
--locale <language-locale> 可选:更改安装程序本身的用户界面的显示语言。 将保留设置。 有关详细信息,请参阅本页的语言区域设置列表部分。
--cache 可选:如果指定,将在安装后保存包,以便后续修复时使用。 这会替代用于后续安装、修复或修改的全局策略设置。 默认策略是缓存包。 对于卸载命令,忽略此选项。 有关详细信息,请了解如何禁用或移动包缓存
--nocache 可选:如果指定,将在安装或修复完成后删除包。 只有在需要时才会重新下载,并且会在使用后再次删除。 这会替代用于后续安装、修复或修改的全局策略设置。 默认策略是缓存包。 对于卸载命令,忽略此选项。 有关详细信息,请了解如何禁用或移动包缓存
--noUpdateInstaller 可选:如果存在,指定无提示安装时阻止安装程序进行自我更新。 如果在需要更新安装程序时通过无提示安装指定 noUpdateInstaller,则安装程序将忽略该命令并返回非零退出代码。
--path <name>=<path> 可选:用于指定安装的自定义安装路径。 支持的路径名称有 shared、cache 和 install。
--path cache=<path> 可选:使用指定的位置下载安装文件。 只可以在首次安装 Visual Studio 时设置此位置。 示例: --path cache="C:\VS\cache"
--path shared=<path> 可选:包含用于并行 Visual Studio 安装的共享文件。 某些工具和 SDK 会安装到此驱动器上的某个位置,而其他一些工具可能会替代此设置并安装到另一个驱动器。 示例: --path shared="C:\VS\shared"

重要说明:只能在首次安装 Visual Studio 时对此设置一次。
--path install=<path> 可选:等效于 –-installPath。 具体而言,--installPath "C:\VS"--path install="C:\VS" 等效。 一次只能使用其中一个命令。

ModifySettings 命令和命令行参数

可以使用客户端计算机上的安装程序或引导程序,并传入 modifySettings 命令和所需的更新通道,修改更新设置,以编程方式配置给定 Visual Studio 实例的更新源位置。

命令 说明
modifySettings 用于修改 Visual Studio 特定实例的更新设置的谓词。
modifySettings 参数 说明
--installPath <dir> 建议 使用 来指定要对其执行操作的 Visual Studio 实例。
--newChannelUri 必需:通道清单的 URI。 此值指定更新的下一个 源位置 。 有关可能的值 ,请参阅 --channelUri 的语法示例 。 如果不需要更新,--channelUri 可指向不存在的文件(例如 --channelUri C:\doesntExist.chman)。
--channelUri 旧通道清单的 URI。 如果 --installPath 未知,可以使用 。 必须与 productID 结合使用,以标识要执行操作的正确实例。
--productId <id> 如果指定了 --channelUri,并且用于标识要执行操作的正确实例,则必须使用 。 productID 类似于“Microsoft.VisualStudio.Product.Enterprise”。
--quiet, -q 可选:此参数可防止在执行命令时显示任何用户界面。
--removeOos true 可选:在 modifySettings 命令期间,此参数 (,该参数在) 指示 Visual Studio 安装程序 永久 删除 (或不删除) 已转换为不支持状态的所有已安装组件后立即具有 true 或 false。 有助于保护计算机的安全。

语法示例:

C:\>"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modifySettings --installPath "C:\Program Files\Microsoft\Visual Studio\2022\Enterprise" --newChannelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --removeOos true
 C:\>"C:\Program Files\Microsoft\Visual Studio\2022\Enterprise\vs_enterprise.exe" modifySettings --channelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --productID Microsoft.VisualStudio.Product.Enterprise --newChannelUri \\layoutserver\share\path\channelmanifest.json --removeOos true --quiet

回滚命令和命令行参数

可以使用客户端计算机上的安装程序,并将 rollback 命令与安装路径实例一起传入,以编程方式回滚更新。

命令 说明
rollback 用于将 Visual Studio 的特定实例回滚到以前安装的更新的命令。 如果 已启用, DisableRollback 此命令将不起作用。
回滚参数 说明
--installPath <dir> 建议 使用 来指定要对其执行操作的 Visual Studio 实例。

语法示例:

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" rollback -–installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"

管理员更新命令和命令行参数

可以从Microsoft更新目录下载管理员更新,并使用它来更新客户端安装或布局。

更新布局

如果要将布局更新到特定版本的 Visual Studio,只需将管理员更新下载到托管该布局的计算机,在该计算机上打开命令提示符并运行如下所示的命令:

visualstudioupdate-17.0.0to17.1.5.exe layout --layoutPath c:\VSLayout

更新客户端

在客户端上,如果将管理员更新下载到客户端计算机上的安装目录中,只需双击文件即可应用更新。 还可以打开命令窗口并传递下面的某些参数来更改默认行为。

在 SCCM 中配置管理员更新

如果要通过 Microsoft Endpoint Manager (SCCM) 部署管理员更新,可以使用以下参数来修改包以调整行为。 还可以通过客户端计算机上的配置文件来控制参数。 有关详细信息,请参阅配置管理员更新的方法

请注意,除非指定了布局谓词,否则所有管理员更新参数都是默认在“更新”上下文中运行的参数。

管理员更新参数 说明
--installerUpdateArgs [optional parameters] 此参数充当与管理员更新方案相关的特定参数的“直通数组”。 为此目的启用的可选参数包括:

--quiet:这是管理员更新的默认体验,此处出于完整性的目的列出了该体验。
--passive:此参数会替代 --quiet 参数。 这会导致用户界面以非交互式方式显示。
--norestart:此参数必须与 --quiet--passive 一起使用,会导致任何必要的重启行为延迟。
--noWeb:此参数会阻止 Visual Studio 在 internet 上查找产品更新。
--force:即使正在使用 Visual Studio,此参数也会强制关闭 Visual Studio。 请谨慎使用此参数,因为有可能会导致工作丢失。 只有在用户上下文中执行管理员更新时,才能使用此参数;如果在系统上下文中执行管理员更新,则忽略它。
--installWhileDownloading:此参数使 Visual Studio 能够同时下载和安装产品。 这是管理员更新的默认体验,此处出于完整性的目的列出了该体验。
--keepWindowsUpdateOn:此参数可防止安装程序关闭客户端上的 Windows 更新 代理。 如果要将管理员更新从目录导入 SCCM,则应使用此参数。 可能还需要将 SCCM 包超时设置为超过默认的 10 分钟。 将 SCCM 部署类型更改为“必需”会使此参数变得不必要。
--downloadThenInstall:此参数强制 Visual Studio 在安装所有文件之前先下载文件。 它与 --installWhileDownloading 参数互斥。
--checkPendingReboot 如果计算机上有挂起的重启,更新将中止,无论导致该更新的是哪个应用程序。 默认情况下,系统不检查是否有挂起的重启。

将参数传递到管理员更新的语法示例:

visualstudioupdate-16.9.0to16.9.4.exe --installerUpdateArgs=--force,--noWeb,--keepWindowsUpdateOn --checkPendingReboot

删除通道命令和命令行参数

更新通道缓存在客户端上,随着时间的推移,它们可能会使内容变得杂乱无章。 可以手动删除通道,方法是打开 Visual Studio 安装程序,切换到“可用”选项卡,然后单击产品卡右上角的 X。 可以使用 removeChannel 命令以编程方式删除通道,例如较旧的布局位置。 请注意,此命令仅适用于安装程序,而不是引导程序。

命令 说明
removeChannel 用于从客户端计算机中删除通道的命令。
removeChannel 参数 说明
--channelUri 必填 旧通道清单的 URI。
--quiet 此参数可防止在执行命令时显示任何用户界面。
--passive 此参数替代 --quiet 参数。 这会导致用户界面以非交互式方式显示。

语法示例:

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" removeChannel --channelUri "\\\\server\\share\\layoutdirectory\\ChannelManifest.json"

工作负荷 ID 和组件 ID 列表

有关按 Visual Studio 产品排序的工作负载和组件 ID 的列表,请参阅 Visual Studio 工作负载和组件 ID 页。

语言区域设置列表

语言-区域设置 语言
Cs-cz 捷克语
De-de 德语
En-us 英语
Es-es 西班牙语
Fr-fr 法语
It-it 意大利语
Ja-jp 日语
Ko-kr 韩语
Pl-pl 波兰语
Pt-br 葡萄牙语 - 巴西
Ru-ru 俄语
Tr-tr 土耳其语
Zh-cn 简体中文
Zh-tw 繁体中文

错误代码

%ERRORLEVEL% 环境变量设为下列值之一,具体视操作结果而定:

结果
0 操作成功完成
740 需要提升
1001 Visual Studio 安装程序进程正在运行
1003 Visual Studio 正在使用中
1602 操作已取消
1618 另一个安装正在运行
1641 操作已成功完成,并已启动重启
3010 操作成功完成,但安装需要重启才能使用
5003 引导程序无法下载安装程序
5004 操作已取消
5005 引导程序命令行分析错误
5007 操作被屏蔽 - 计算机不符合要求
8001 Arm 计算机检查失败
8002 后台下载预检查失败
8003 不支持可选择的失败
8004 目标目录失败
8005 验证源有效负载失败
8006 Visual Studio 进程正在运行
-1073720687 连接失败
-1073741510 Microsoft Visual Studio 安装程序已(通过用户或外部进程)终止
其他
(例如:
-1、1、1603)
发生了故障,请查看日志,了解详细信息

每个操作都会在指明安装进度的 %TEMP% 目录中生成多个日志文件。 按日期对文件夹进行排序,再查找以“dd_bootstrapper”、“dd_client”和“dd_setup”开头的文件,分别查找安装引导程序、安装程序应用和安装程序引擎。

支持或故障排除

有时,你难免遇到一些问题。 如果 Visual Studio 安装失败,请参阅 Visual Studio 安装和升级问题疑难解答获取分步指南。

下面是另外几个支持选项:

  • 对于与安装相关的问题,我们提供安装聊天(仅限英语)支持选项。
  • 通过报告问题工具(会出现在 Visual Studio 安装程序和 Visual Studio IDE 中)向我们报告产品问题。 如果你是 IT 管理员,并且尚未安装 Visual Studio,可以在此处提交 IT 管理员反馈
  • Visual Studio 开发人员社区中,可提出功能建议、跟踪产品问题,并能找到答案。

请参阅