控制对基于网络的 Visual Studio 部署的更新

警告

此内容将被废弃,因为已经并入其他页面中。 此页已从 TOC 中删除。

企业管理员通常会创建布局并将其托管在网络文件共享上,以部署到其最终用户。 本页介绍如何正确配置网络布局选项。

控制 Visual Studio 在何处查找更新

方案 1:客户端最初已从布局安装,但配置为从网络布局位置或 Web 接收更新

默认情况下,即使最初从网络共享部署了安装,Visual Studio 仍会继续联机查找更新。 如果更新在 Web 上可用,则用户可以安装它。 尽管首先检查网络布局缓存是否有任何更新的产品位,但如果找不到,Visual Studio 会从 Web 查找和下载更新的产品位。

方案 2:客户端最初已安装,只应从网络布局接收更新

如果要控制 Visual Studio 客户端查找更新的位置,例如,如果客户端计算机没有 Internet 访问权限,并且你想要确保它只能且始终从布局安装,则可以配置客户端安装程序查找更新的产品位的位置。 最好是在客户端从布局进行初始安装之前,确保正确配置此设置。

  1. 创建脱机布局:

    vs_enterprise.exe --layout C:\vsoffline --lang en-US
    
  2. 复制到您想要托管的文件共享中:

    xcopy /e C:\vsoffline \\server\share\VS
    
  3. 修改布局中的 response.json 文件,并将 channelUri 值更改为指向由管理员控制的 channelManifest.json 的副本。

    请务必在此值中转义反斜杠,如下例所示:

    "channelUri":"\\\\server\\share\\VS\\ChannelManifest.json"
    

    现在,最终用户可以从此共享运行安装程序来安装 Visual Studio。

    \\server\share\VS\vs_enterprise.exe
    

如果确定用户应更新到更高版本的 Visual Studio,企业管理员可以更新布局位置,以纳入更新后的文件,如下所示。

  1. 使用类似于以下命令的命令:

    vs_enterprise.exe --layout \\server\share\VS --lang en-US
    
  2. 确保在更新的布局中,response.json 文件仍然包含您的自定义内容,特别是对 channelUri 的修改,如下所示:

    "channelUri":"\\\\server\\share\\VS\\ChannelManifest.json"
    

通过此布局安装的现有 Visual Studio 将在 \\server\share\VS\ChannelManifest.json 中查找更新。 如果 channelManifest.json 比用户已安装的版本更新,Visual Studio 会通知用户有更新可用。

从客户端启动的任何安装更新都将直接从布局中安装更新的 Visual Studio 版本。

方案 3:客户端最初已从 Web 安装,但现在只应从网络布局接收更新

在某些情况下,客户端计算机可能已经从 Web 安装 Visual Studio,但现在管理员希望所有未来的更新都来自托管布局。 执行此操作的唯一支持方法是使用所需版本的产品创建网络布局,然后在客户端计算机上从布局位置 运行引导程序(例如 \\server\share\vs_enterprise.exe)。 理想情况下,原始客户端的安装应该是在网络布局中使用正确配置了 ChannelURI 的引导程序进行的,但从网络布局位置运行更新后的引导程序也可以正常运作。 其中任一操作将在客户端计算机上嵌入与该特定布局位置的连接。 为使此方案正常工作的唯一注意事项是,布局 response.json 文件中的“ChannelURI”必须与原始安装发生时在客户端计算机上设置的 ChannelURI 相同。 此值很可能最初设置为 Internet 发布通道

支持或故障排除

有时,情况可能会出错。 如果 Visual Studio 安装失败,请参阅 排查 Visual Studio 安装和升级问题 以获取分步指南。

下面是更多支持选项:

  • 使用 安装聊天(仅限英语)支持选项来解决与安装相关的问题。
  • 使用报告问题工具(会出现在 Visual Studio 安装程序和 Visual Studio IDE 中)向我们报告产品问题。 如果您是 IT 管理员并且没有安装 Visual Studio,您可以提交 IT 管理员反馈
  • 建议一项功能、跟踪产品问题,并在 Visual Studio 开发人员社区中查找答案。