Visual Studio 安装的命令行参数示例
为了说明如何 使用命令行参数安装 Visual Studio,下面是几个可以自定义以满足需求的示例。
在每个示例中,vs_enterprise.exe
、vs_professional.exe
和 vs_community.exe
表示相应的 Visual Studio 引导程序版本,即启动下载过程的小型(~ 1MB)文件。 如果使用其他版本,请替换相应的引导程序名称。
所有命令都需要管理员权限提升,如果进程未从具有管理员权限的命令提示符启动,则会显示用户帐户控制(UAC)提示。
可以使用命令行末尾的 ^
字符将多行连接成单个命令。 或者,您可以将这些行放在同一行上。 在 PowerShell 中,等效字符为反引号 (`
)。
若要以非交互方式执行命令,可以使用--passive
或 --quiet
。 有关这些参数的详细信息,请参阅 命令和命令行分析 页。
有关可以使用命令行安装的工作负荷和组件的列表,请参阅 Visual Studio 工作负载和组件 ID 页。
使用 --installPath 和 --add 与启动加载程序进行安装
安装 Visual Studio 的最小实例,没有交互式提示,但显示进度:
vs_enterprise.exe --installPath C:\minVS ^ --add Microsoft.VisualStudio.Workload.CoreEditor ^ --passive --norestart
使用法语语言包静默安装 Visual Studio 的桌面实例,并且仅在产品安装完成时返回。
vs_enterprise.exe --installPath C:\desktopVS ^ --addProductLang fr-FR ^ --add Microsoft.VisualStudio.Workload.ManagedDesktop ^ --includeRecommended --quiet --wait
更新
通过命令行更新 Visual Studio 实例,其中显示了进度,并且没有交互式提示。 可以使用在客户端或布局中找到的引导程序,在两个步骤中运行这些系列命令。 第一个命令更新客户端上的安装程序,第二个命令更新 Visual Studio 产品。 你需要在提升的命令提示符下运行这些命令,因为更新安装程序需要管理员权限。 以下示例模拟在布局中使用长期有效的启动加载程序更新客户端。
\\layoutserver\share\path\vs_enterprise.exe --update --quiet --wait \\layoutserver\share\path\vs_enterprise.exe update --wait --passive --norestart --installPath "C:\installPathVS"
或者,还可以使用客户端上的安装程序在一个步骤中更新 Visual Studio 实例。 标准用户(如果已获得适当的权限)可以使用安装程序以编程方式执行更新命令,但不允许他们使用 --passive
或 --quiet
开关。 请注意,不能从安装程序所在的同一目录中以编程方式启动安装程序。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" update --passive --norestart --installPath "C:\installPathVS"
使用 --wait
- 在批处理文件或脚本中使用
--wait
,等待执行下一个命令之前完成初始命令。 对于批处理文件,%ERRORLEVEL%
环境变量包含命令的返回值,如 使用命令行参数安装 Visual Studio 页中所述。 某些命令实用工具需要其他参数等待完成并获取安装程序的返回值。
--wait
参数仅受引导程序支持。
start /wait vs_professional.exe --installPath "C:\VS" --passive --wait > nul
echo %errorlevel%
以下命令是将 --wait
与 PowerShell 脚本命令 Start-Process
配合使用的示例:
$process = Start-Process -FilePath vs_enterprise.exe -ArgumentList "--installPath", "C:\VS", "--passive", "--wait" -Wait -PassThru
Write-Output $process.ExitCode
或
$startInfo = New-Object System.Diagnostics.ProcessStartInfo
$startInfo.FileName = "vs_enterprise.exe"
$startInfo.Arguments = "--all --quiet --wait"
$process = New-Object System.Diagnostics.Process
$process.StartInfo = $startInfo
$process.Start()
$process.WaitForExit()
- 第一个
--wait
由 Visual Studio 引导程序使用,第二个-Wait
由“Start-Process”用来等待完成。-PassThru
参数由Start-Process
使用,以将安装程序的退出代码用于其返回值。
使用 --layout 创建网络布局或本地缓存
创建仅包含 Visual Studio 核心编辑器(最少的 Visual Studio 配置)和英语语言包的布局。 可以在 创建 Visual Studio 网络安装 页面上找到更多的布局创建示例。
vs_professional.exe --layout "C:\VS" ^ --lang en-US ^ --add Microsoft.VisualStudio.Workload.CoreEditor ^
使用命令行选项 --all 以获取整个产品
启动 Visual Studio Enterprise 版中提供的所有工作负载和组件的交互式安装:
vs_enterprise.exe --all
Using --includeRecommended
借助 Node.js 开发支持,使用昵称在已安装 Visual Studio Community 版本的计算机上安装 Visual Studio Professional 的第二个实例:
vs_professional.exe --installPath C:\VSforNode ^ --add Microsoft.VisualStudio.Workload.Node --includeRecommended --nickname VSforNode
使用 --channelURI
使用最新的安装程序,可以配置 Visual Studio 查找更新的位置。 --channelUri
也称为更新通道或更新的源位置。 下表提供了 channelId 和 channelUri 的示例值及其含义。
频道名称 | --channelUri | --channelId |
---|---|---|
Visual Studio 2022 当前频道 | https://aka.ms/vs/17/release/channel |
VisualStudio.17.Release |
Visual Studio 2022 17.0 LTSC 频道 | https://aka.ms/vs/17/release.LTSC.17.0/channel |
VisualStudio.17.Release.LTSC.17.0 |
Visual Studio 2022 预览版频道 | https://aka.ms/vs/17/pre/channel |
VisualStudio.17.Preview |
Visual Studio 2019 发布频道 | https://aka.ms/vs/16/release/channel |
VisualStudio.16.Release |
Visual Studio 2017 发布频道 | https://aka.ms/vs/15/release/channel |
VisualStudio.15.Release |
自定义布局 - 专用频道 | \\layoutserver\share\path\channelmanifest.json |
VisualStudio.17.Release (或布局所基于的任何版本) |
如果选择使用自定义布局作为更新通道,请注意以下准则:
--channelUri
必须指向自定义布局中的“channelmanifest.json”文件。- 管理员可以通过配置客户端的注册表设置 来配置自定义布局“专用通道”在更新设置 UI 中显示的方式。
使用 --remove
从默认安装的 Visual Studio 实例中删除分析工具组件。 此示例使用已在客户端计算机上安装的安装程序。 具有适当权限 标准用户可以使用安装程序以编程方式执行修改命令,但不允许他们使用
--passive
或--quiet
开关。 请注意,不能从安装程序所在的同一目录中以编程方式启动安装程序。"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify ^ --installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" ^ --remove Microsoft.VisualStudio.Component.DiagnosticTools ^ --passive
不能在与 --layout
相同的命令中使用 --remove
。 换句话说,无法从布局中删除组件。
使用 --removeOos
使用 最新的安装程序,可以修改安装,并从默认安装的 Visual Studio 实例中删除已转换为不支持状态 的所有 组件。 此示例使用已在客户端计算机上安装的安装程序来配置 removeOos 设置。 标准用户(如果已获得适当的权限)可以使用安装程序以编程方式执行修改命令,但不允许他们使用 --passive
或 --quiet
开关。 不能以编程方式从安装程序所在的同一目录中启动安装程序。
"C:\Program Files (x86)\Microsoft Visual studio\Installer\setup.exe" modify ^
--installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" ^
--removeOos true ^
--passive
调整更新设置,以在每次更新产品时永久删除过渡到支持不足状态的所有组件:
"C:\Program Files (x86)\Microsoft Visual studio\Installer\setup.exe" modify ^ --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
使用 --path
所有这些示例都假定你正在使用引导程序安装新产品。
使用安装、缓存和共享路径:
vs_enterprise.exe --add Microsoft.VisualStudio.Workload.CoreEditor --path install="C:\VS" --path cache="C:\VS\cache" --path shared="C:\VS\shared"
仅使用安装和缓存路径:
vs_enterprise.exe --add Microsoft.VisualStudio.Workload.CoreEditor --path install="C:\VS" --path cache="C:\VS\cache"
仅使用安装和共享路径:
vs_enterprise.exe --add Microsoft.VisualStudio.Workload.CoreEditor --path install="C:\VS" --path shared="C:\VS\shared"
仅使用安装路径:
vs_enterprise.exe --add Microsoft.VisualStudio.Workload.CoreEditor --path install="C:\VS"
使用 export
使用导出保存安装中的选择。 此示例使用已在客户端计算机上安装的安装程序。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" export --installPath "C:\VS" --config "C:\my.vsconfig"
使用导出从头开始保存自定义选择。 此示例使用已在客户端计算机上安装的安装程序。
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" export --channelId VisualStudio.17.Release --productId Microsoft.VisualStudio.Product.Enterprise --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeRecommended --config "C:\my.vsconfig"
使用 --config
使用 --config 从以前保存的安装配置文件安装工作负载和组件:
vs_enterprise.exe --config "C:\my.vsconfig" --installPath "C:\VS"
使用 --config 将工作负载和组件添加到现有安装。 此示例使用已在客户端计算机上安装的安装程序。 具有适当权限 标准用户可以使用安装程序以编程方式执行修改命令,但不允许他们使用
--passive
或--quiet
开关。 不能以编程方式从安装程序所在的同一目录中启动安装程序。"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "C:\VS" --config "C:\my.vsconfig"
使用 --config 配置布局的内容:
vs_enterprise.exe --layout C:\layout --config "C:\my.vsconfig"
使用 winget
使用 Windows 包管理器“winget”工具以编程方式在计算机上安装或更新 Visual Studio 以及由 winget 管理的其他包。 要自定义安装并指定其他工作负载和组件,可将 winget 的 --override
开关与 winget 的 install
命令一起使用,并传入导出的 vsconfig 文件,如下所示:
winget install --id Microsoft.VisualStudio.2022.Community --override "--passive --config C:\my.vsconfig"
还可以使用 winget configure
并传入 .yaml
文件来修改现有的 Visual Studio 安装。 此方法使用此处所述的 Visual Studio PowerShell DSC 提供程序。
支持或故障排除
有时,事情可能会出问题。 如果 Visual Studio 安装失败,请参阅 Visual Studio 安装和升级问题疑难解答获取分步指南。
下面是另外几个支持选项:
- 对于与安装相关的问题,请使用安装聊天(仅限英语)支持选项。
- 使用 报告问题 工具,向我们报告产品问题。该工具在 Visual Studio 安装程序和 Visual Studio IDE 中均可使用。 如果你是 IT 管理员且未安装 Visual Studio,则可以提交 IT 管理员反馈。
- 在 Visual Studio 开发人员社区中,可提出功能建议、跟踪产品问题,并能找到答案。