更新通过布局安装的 Visual Studio 客户端

可以并且应该定期更新所有 Visual Studio 安装,以便它们接收最新的安全和功能修补程序。

如果 Visual Studio 安装在某个组织中的计算机上且最初通过布局安装,则很有可能客户端计算机属于“托管环境”的一部分,这意味着它由中心管理团队控制并且必须遵守组织策略。 若要更新托管环境中的客户端计算机,请考虑以下问题,因为答案将告知你应该如何处理更新过程。

  • 更新来自何处:布局或 Microsoft 托管服务器? 如果更新来自布局,布局是否已更新? 布局是托管在网络共享上还是托管在内部 Intranet Web 服务器上?
  • 此更新是由用户手动启动,还是管理员启动的事件,例如通过管理员更新或通过编程命令? 请记住,执行更新的人员都必须在客户端计算机上具有管理员权限。

准备更新源

如果客户端配置为从 Microsoft 托管服务器获取更新,则它们必须有权访问 Internet。 在更新期间,客户端将通过客户订阅的更新通道下载并安装 Microsoft 提供的最新版本。

如果客户端配置为从布局获取更新,则更新客户端之前的第一步是确保布局本身包含 Visual Studio 的更新版本。 IT 管理员应使用最新产品更新来更新现有布局,以便新的客户端安装和客户端更新都可以接收更新的版本,或者管理员可以在可用于更新客户端计算机的其他布局目录中创建全新布局。 最佳做法是在安全更新发布后立即在当月的第二个星期二更新布局。

确保运行更新的用户或系统帐户能够正确访问包含布局的网络共享或内部网站。 有关详细信息,请参阅安装或使用 Visual Studio 时与网络相关错误的疑难解答

在客户端计算机上手动启动更新

客户端计算机上拥有足够权限的用户可以自行手动启动 Visual Studio 更新。 Visual Studio 客户端将在其源位置查找更新以确定是否有任何更新包可用。 这就是为什么务必要保持源布局更新。

用户可以通过以下方式手动更新 Visual Studio 实例:

  • 启动 Visual Studio 安装程序。 如果更新可用,则可以单击“更新”。
  • 启动 Visual Studio IDE 并响应通知标志或消息,或者选择“帮助”>“检查更新”以获取更新。

如果在更新开始时正在使用任何文件(例如 Visual Studio 处于打开状态),则更新将被阻止,直到 Visual Studio 关闭。 偶尔,更新将需要重启。

手动配置 Visual Studio 客户端查找更新的位置

Visual Studio 一开始安装在客户端计算机上时,它会记录应在何处检查更新。 如果 Visual Studio 通过 Microsoft 托管服务器安装,则默认情况下,它将从 Microsoft 托管的服务器中查找更新。 如果通过对网络布局调用引导程序来安装或更新 Visual Studio 或通过运行脚本以从 Web 托管布局进行安装,它便会在布局指定的位置中查找更新。

对于默认 Visual Studio 2019 功能,客户端安装产品后,客户端的更新位置配置就会锁定,并无法更改。 若要可靠地更改更新的源位置,唯一的方法是使用正确的配置卸载并重新安装该产品。

但是,如果 Visual Studio 客户端使用最新的 Visual Studio 2022 安装程序,则可以更改客户端的更新源位置。 如果希望通过一种布局安装而让更新来自另一种布局,这就很有用。 可通过两种方法将 Visual Studio 2022 安装程序安装到客户端计算机上。 最简单的方法是使用 2023 年 6 月之后发布的任何 Visual Studio 版本,因为这些版本会自动包含最新的安装程序。 另一种方法是安装和使用 Visual Studio 2022 产品。 最后,你可以通过 Visual Studio 2019 布局分发 Visual Studio 2022 安装程序

若要手动查看和配置用于让客户端查找更新的更新位置,请打开更新设置,确保其配置正确。 然后,你可以从客户端启动更新。

更新通知

如果客户端查找更新的位置有可用的更新,客户端便会弹出一条消息或通知标志

若要详细了解如何控制何时向用户显示更新通知,请参阅控制对基于网络的 Visual Studio 部署的更新

使用管理员更新更新客户端计算机

如果你在组织中,建议的最佳做法是将客户端计算机注册到 Visual Studio 管理员更新。 Visual Studio 安全版本通常在“星期二修补日”发布,也就是每个月的第二个星期二。 IT 管理员应该养成每月维护和更新布局的习惯,例如在每月的第二个星期三早上,他们使用 Microsoft Endpoint Manager 将 Visual Studio 安全更新部署到整个组织的客户端计算机。 管理员更新将触发客户端查看其更新源位置以获取任何新更新,如果布局已更新,则更新将自动应用于客户端计算机(假设 Visual Studio 未在使用中)。

以编程方式更新客户端计算机

管理员可通过向客户端安装程序发出命令或在网络布局中调用引导程序,以编程方式更新 Visual Studio 的客户端安装。

使用 Visual Studio 安装程序以编程方式更新 Visual Studio

可通过以编程方式调用客户端的安装程序并发出 update 命令来启动 Visual Studio 的更新。 此命令将根据更新的源位置中提供的产品位来更新 Visual Studio。 如果要在执行更新时更改客户端上的更新源位置,可以通过在更新命令旁边传入 --channelUri 参数以编程方式执行此操作。 例如:

可以将通道更改为网络布局,并在客户端上执行 update 命令,如下所示:

"C:\program files (x86)\microsoft\visual studio\installer\>setup.exe" update --installPath "C:\Program Files\Microsoft Visual Studio\2019\Enterprise" --channelUri "\\\\server\\share\\newlayoutdir\\channelmanifest.json"

或类似于这种情况,将更新源设置为 Microsoft 托管位置:

"C:\program files (x86)\microsoft\visual studio\installer\>setup.exe" update --installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" --channelUri "https://aka.ms/vs/17/release/channel"

请注意,在前面的两个示例中,无法从安装程序所在的同一目录以编程方式启动安装程序的执行。

使用引导程序以编程方式更新 Visual Studio

可以通过编程方式从最初安装所用的同一位置调用引导程序来更新 Visual Studio。 如果从 Microsoft 下载了引导程序,那么如果客户端可以访问 Internet,则可以下载并使用任何更新的引导程序来更新 Visual Studio 客户端。 请注意引导程序通道,因为它可能会导致客户端的更新通道发生更改。

如果引导程序位于网络布局共享上,则管理员应首先更新网络布局以包含 Visual Studio 产品更新,然后客户端才能使用该引导程序进行更新。

以下示例使用原始网络布局中的现有引导程序更新客户端。 此方法假定 IT 管理员已更新布局。

\\server\share\originalinstallVSdirectory\vs_enterprise.exe update --installPath "C:\clientmachine\installpath" --quiet 

还可以通过编程方式从其他网络布局位置(包含要将客户端更新到的产品版本)调用引导程序,从而启动 Visual Studio 2019 客户端的更新。 为此,需要在客户端上获取 Visual Studio 2022 安装程序。 若要实现此目的,最简单的方法是确保新的 Visual Studio 2019 布局使用的是最新安装程序。 如果通过新的网络托管布局运行引导程序,则客户端上的更新通道将设置为布局中指定的更新位置。 例如,可以在新的网络托管布局中使用新的引导程序在客户端计算机上运行此命令:

还可以通过编程方式从其他网络布局位置(包含要将客户端更新到的产品版本)调用引导程序,从而启动 Visual Studio 客户端的更新。 如果通过新的网络托管布局运行引导程序,则客户端上的更新通道将设置为布局中指定的更新位置。 例如,可以在新的网络托管布局中使用新的引导程序在客户端计算机上运行此命令:

   \\server\share\desiredupdatelayoutdir\vs_enterprise.exe update --installPath "C:\clientmachine\installpath" --quiet 

无论新布局的 response.json 文件中的 channelUri 值是什么,都将成为客户端查找未来更新的位置。

注意

使用 vswhere.exe 命令可标识客户端计算机上 Visual Studio 现有实例的安装路径。

以编程方式更新无 Internet 访问的客户端

如果客户端计算机无 Internet 访问,则必须通过布局获取更新。 请记住,每当更新 Visual Studio 时,都需要更新两个部分。 第一部分是安装程序,第二部分是 Visual Studio 产品本身。 对于网络托管布局,可以调用引导程序或安装程序来更新客户端。 对于 Intranet Web 服务器托管布局,可以通过在客户端上调用安装程序进行更新。 以下示例说明了这两种情况,两者都假定管理员已将布局本身更新为最安全位。

此示例指示 Visual Studio 从网络布局中显式查找这两个组件。 第一条命令强制要求从布局更新安装程序,第二条命令则阻止在 Internet 上从 Microsoft 托管服务器下载任何包。

   \\server\share\VSlayoutdirectory\vs_enterprise.exe --quiet --update --wait --offline
   \\server\share\VSlayoutdirectory\vs_enterprise.exe update --installPath "C:\clientmachine\installpath" --noWeb --wait --quiet --norestart

此示例指示 Visual Studio 从内部 Intranet Web 服务器托管布局中包含的内容进行自我更新。

   "C:\program files (x86)\microsoft\visual studio\installer\>setup.exe" update --installPath "C:\Program Files\Microsoft Visual Studio\2019\Enterprise"

获取对网络布局的支持

如果网络布局遇到问题,请告知我们。 通过报告问题工具(会出现在 Visual Studio 安装程序和 Visual Studio IDE 中)是告知我们的最佳方式。 如果你是 IT 管理员,并且尚未安装 Visual Studio,可以在此处提交 IT 管理员反馈。 使用此工具时,如果你可以发送 VS 收集工具的日志,这将非常有帮助,可帮助我们诊断和解决问题。

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

我们还提供其他支持选项。 请参阅我们的 Visual Studio 开发者社区