创建 Visual Studio 的网络安装

有时,企业管理员希望创建包含可部署到客户端工作站的 Visual Studio 文件的网络安装点。 这是为了帮助解决客户端计算机具有有限的权限或对 Internet 的访问权限有限的情况,或者当内部团队想要在其组织对特定版本的开发人员工具集进行标准化之前进行兼容性测试时的情况。 我们设计了 Visual Studio 以便管理员可以创建一个网络布局,该网络布局实质上是创建一个位于内部静态网络共享上的文件缓存,其中包括用于初始安装和未来所有产品更新的所有 Visual Studio 文件。

备注

  • 如果企业使用多个 Visual Studio 版本(例如,同时使用 Visual Studio 2019 Professional 和 Visual Studio 2019 Enterprise),则必须为每个版本单独创建网络安装共享。
  • 建议你在执行初始客户端安装之前确定你希望客户端如何接收产品更新。 这样可以更轻松地确保正确设置配置选项。 你的选择包括让客户端从网络布局位置或从 Internet 获取更新。
  • 原始 Visual Studio 安装布局和所有后续产品更新必须位于同一网络目录中,以确保修复和卸载功能正常工作。

下载 Visual Studio 引导程序

下载适用于所需版本的 Visual Studio 的引导程序文件。 请确保选择“保存”,然后选择“打开文件夹” 。

若要获取 Visual Studio 2017 版本15.9 的最新引导程序,请转到 Visual Studio 以前的版本页,并下载以下引导程序文件之一:

版本 Filename
Visual Studio 2017 Enterprise 版本 15.9 vs_enterprise.exe
Visual Studio 2017 Professional 版本 15.9 vs_professional.exe
Visual Studio 2017 生成工具版本 15.9 vs_buildtools.exe

其他受支持的引导程序包括 vs_feedbackclient.exe、vs_teamexplorer.exe、vs_testagent.exe、vs_testcontroller.exe 和 vs_testprofessional.exe。

首先从 Visual Studio 下载页Visual Studio 2019 版页下载 Visual Studio 2019 引导程序,以找到所选版本的 Visual Studio。 安装程序可执行文件(更具体而言,是引导程序文件)应与以下其中一项匹配,或与之类似:

版本 下载
Visual Studio Enterprise vs_enterprise.exe
Visual Studio Professional vs_professional.exe
Visual Studio 生成工具 vs_buildtools.exe

其他受支持的引导程序包括 vs_teamexplorer.exevs_testagent.exevs_testcontroller.exe

![!TIP] 发布的 Visual Studio 2022 版尚不可用,以下引导程序适用于 Visual Studio 2022 预览版。 首先从 Visual Studio 下载页下载 Visual Studio 2022 引导程序。

版本 下载
Visual Studio Enterprise vs_enterprise.exe
Visual Studio Professional vs_professional.exe

提示

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

提示

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

提示

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

创建脱机安装文件夹

必须具有 Internet 连接才能完成此步骤。

打开命令提示符,导航到要下载引导程序的目标目录,并使用使用命令行参数安装 Visual Studio 页中定义的引导程序参数来创建和维护网络安装缓存。 下文和 Visual Studio 安装的命令行参数示例介绍了创建初始布局的常见示例。

重要

对于 Visual Studio Community,单一语言区域设置的完整初始布局需要约 35 GB 的磁盘空间,而 Visual Studio Enterprise 则需要约 42 GB 的磁盘空间。 其他每个语言区域设置需要大约 0.5 GB 的磁盘空间。 有关详细信息,请参阅自定义网络布局部分。 请注意,后续布局更新也必须存储在同一网络位置,因此,网络布局位置的目录内容可能会随着时间的推移而变得非常大。

  • 若要创建具有所有语言和所有功能的 Visual Studio Enterprise 的初始布局,请运行:

    vs_enterprise.exe --layout c:\VSLayout

  • 若要创建具有所有语言和所有功能的 Visual Studio Professional 的初始布局,请运行:

    vs_professional.exe --layout c:\VSLayout

修改 response.json 文件

可以通过修改 response.json 来设置用户在运行安装程序时使用的默认值。 例如,可以通过配置 response.json 文件来选择一组应自动选定的特定工作负荷。 你还可以将配置 response.json,以指定客户端是否应仅从网络布局位置接收更新的文件。 有关详细信息,请参阅通过响应文件自动执行 Visual Studio 安装

如果在将引发错误的 Visual Studio 引导程序与 response.json 文件配对时发生错误,请参阅安装或使用 Visual Studio 时与网络相关错误的疑难解答页,以获取详细信息。

将布局复制到网络共享

将布局托管在网络共享上,以便用户可以从其他客户端计算机运行。

下面的示例使用 xcopy。 如果愿意,也可使用 robocopy

示例:

xcopy /e c:\VSLayout \\server\products\VS2017
xcopy /e c:\VSLayout \\server\products\VS2019
xcopy /e c:\VSLayout \\server\products\VS2022

重要

为了防止错误出现,请确保完整布局路径的长度小于 80 个字符。

自定义网络布局

可使用多个选项自定义网络布局。 可以创建仅包含一组特定语言区域设置工作负载、组件及其推荐或可选依赖项的部分布局。 如果确定只会将部分工作负载部署到客户端工作站,部分布局就非常有用。 用于自定义布局的常见命令行参数包括:

  • --add:用于指定工作负载或组件 ID
    如果使用 --add,只会下载使用 --add 指定的工作负载和组件。 如果不使用 --add,将下载所有工作负载和组件。
  • --includeRecommended:用于添加针对指定工作负载 ID 的所有推荐组件
  • --includeOptional:用于添加针对指定工作负载 ID 的所有推荐和可选组件。
  • --lang:用于指定语言区域设置

下面的几个示例展示了如何创建自定义部分布局。

  • 若要下载仅一种语言的所有工作负载和组件,请运行:

    vs_enterprise.exe --layout C:\VSLayout --lang en-US
    
  • 若要下载多种语言的所有工作负载和组件,请运行:

    vs_enterprise.exe --layout C:\VSLayout --lang en-US de-DE ja-JP
    
  • 若要下载所有语言的一个工作负载,请运行:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --includeRecommended
    
  • 若要下载三种语言的两个工作负载和一个可选组件,请运行:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeRecommended --lang en-US de-DE ja-JP
    
  • 下载两个工作负载及其所有推荐组件:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeRecommended
    
  • 若要下载两个工作负载及其所有推荐和可选组件,请运行:

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Component.GitHub.VisualStudio --includeOptional
    

保存布局选项

运行布局命令时,指定的选项(例如工作负载和语言)将被保存。 后续的布局命令将包括先前的所有选项。 以下示例说明如何使用一个工作负载来创建布局(仅限英语):

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --lang en-US

若要将布局更新至较新版本,无需指定任何额外命令行参数。 此布局文件夹中的任何后续布局命令都将使用先前所保存的设置。 以下命令将更新现有的部分布局。

vs_enterprise.exe --layout c:\VSLayout

有关添加其他工作负载的相关操作说明,请参阅下列示例。 在此事例中,我们将添加 Azure 工作负载和已本地化的语言。 现在,此布局中已包括托管桌面和 Azure。 所有这些工作负载中都加入了英语和德语的语言资源。 已将布局更新至最新的可用版本。

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --lang de-DE

要将现有布局更新至完整布局,请使用 --all 选项,如下方示例所示。

vs_enterprise.exe --layout c:\VSLayout --all

从网络安装点进行部署

管理员可以通过安装脚本将 Visual Studio 部署到客户端工作站上。 拥有管理员权限的用户也可以直接从共享运行安装程序,从而在自己的计算机上安装 Visual Studio。

  • 用户可通过运行以下命令进行安装:

    \\server\products\VS\vs_enterprise.exe
    
  • 管理员可以通过运行以下命令在无人参与模式下进行安装:

    \\server\products\VS\vs_enterprise.exe --quiet --wait --norestart
    

重要

为了防止错误出现,请确保完整布局路径的长度小于 80 个字符。

提示

如果作为批处理文件的一部分执行,--wait 选项可确保 vs_enterprise.exe 进程先等待安装完成,再返回退出代码。

若企业管理员要在已完成的安装上执行进一步操作(例如,向已成功的安装应用产品密钥),此方法十分有用,但需要等待安装完成以处理从该安装返回的代码。

如果不使用 --wait``vs_enterprise.exe 进程将在安装完成前退出,并返回一个不能表示安装操作状态的不准确的退出代码。

重要

对于脱机安装,如果收到一条错误消息,指出“找不到与以下参数匹配的项目”,请确保将 --noweb 开关用于版本 16.3.5 或更高版本。

从布局安装时,安装内容将从布局中获取。 但是,如果选择不在布局中的组件,则会从 Internet 获取它。 要阻止 Visual Studio 安装程序下载布局中缺少的任何内容,请使用 --noWeb 选项。 如果使用 --noWeb,但布局中缺少要安装的选定内容,安装就会失败。

提示

如果要从未连接 Internet 的计算机上的脱机源进行安装,请指定 --noWeb--noUpdateInstaller 选项。 前者科阻止下载更新的工作负载、组件等。 后者可阻止安装程序通过 Web 进行自我更新。

重要

--noWeb 选项不会阻止已连接 Internet 的计算机上的 Visual Studio 安装程序检查更新。 有关详细信息,请参阅控制对基于网络的 Visual Studio 部署的更新页。

错误代码

如果使用 --wait 参数,%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)
发生了故障,请查看日志,了解详细信息

更新网络安装布局

有产品更新时,可能需要更新网络安装布局以纳入更新后的包。

如何为旧版 Visual Studio 创建布局

首先,你需要了解有两种类型的 Visual Studio 引导程序,一种可以具有“最新”、“当前”、“长期有效”和“提示”等特征,另一个本质上表示“固定版本”。 这两种类型的引导程序文件具有完全相同的名称,因此,区分类型的最佳方式是关注其来源。 Visual Studio 引导程序可从 Visual Studio 下载页面获得,并被视为长期有效 Visual Studio 引导程序,且它们始终会安装(或更新)在引导程序运行时通道中可用的最新版本。 Visual Studio 2019 版Visual Studio 2022 版页面上提供的 Visual Studio 引导程序,或嵌入在 Microsoft 更新目录中的管理员更新中的 Visual Studio 引导程序将安装该产品的特定固定版本。

因此,如果立即下载长期有效的 Visual Studio 引导程序,并从现在开始运行 6 个月,则会安装运行引导程序时的最新 Visual Studio 版本。 它旨在始终安装最新的位并使你保持最新。

如果下载了固定链接的引导程序,或者运行从 Microsoft 目录下载的管理员更新,则它将始终安装特定版本的产品,而不考虑其运行时间。

最后,你可以使用这些引导程序中的任何一个创建网络布局,将在布局中创建的版本取决于你使用的引导程序,例如,版本可以是固定版本或当前版本。 然后,你可以使用任何更高版本的引导程序更新网络布局,也可以使用 Microsoft 更新目录中的管理员更新包。 无论更新布局的方式如何,生成的更新布局都将是包含产品特定版本的包缓存,随后其行为将类似于固定链接引导程序。 因此,每当从布局中安装客户端时,客户端都将安装布局中存在的特定版本的 Visual Studio(即使线上存在较高版本也是如此)。

如何获取关于脱机安装程序的支持

如果脱机安装遇到问题,请告知我们。 告知我们的最好方式是使用报告问题工具。 使用此工具时,可发送我们诊断和修复问题所需的遥测数据和日志。

对于安装相关问题,我们还提供安装聊天(仅限英语)支持选项 。

我们还提供其他支持选项。 请参阅开发人员社区

请参阅