如何配置VS 2017离线安装程序/布局,以便它根本不需要互联网连接?

Phi*_*ilm 9 visual-studio-2017

能够与命令行一样创建一个离线安装:

vs_enterprise__873301792.1489161815.exe --layout %CD%\vs2017offline --lang en-US
Run Code Online (Sandbox Code Playgroud)

我得到了大约20 GB(1901文件).

但是,正如已经知道的那样,即使使用这样的离线布局,Visual Studio安装程序也需要至少初始化的Internet连接.(但它不需要下载布局/图像中已存在的软件包,因此它可以节省真正的下载量.)

在VS的MS Web文档中,提到了更多参数:https: //docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio

AFAIK,没有人想出如何使用它们来保证在没有互联网连接的情况下真正进行离线安装(我似乎很可能必须重定向通道和/或目录以阻止VS安装程序上线).
有人吗?

这是参数,我的意思是:

--channelId 可选:将要安装的实例的通道的ID.这是install命令所必需的,如果指定了--installPath,则忽略其他命令.

--channelUri 可选:通道清单的URI.这可以用于安装命令; 其他命令会被忽略.

--installChannelUri 可选:用于安装的通道清单的URI.由--channelUri指定的URI(必须在指定--installChannelUri时指定)将用于检测更新.如果不需要更新,则必须在没有参数的情况下指定--channelUri.这可以用于安装命令; 其他命令会被忽略.

--installCatalogUri 可选:用于安装的目录清单的URI.如果指定,则在使用安装通道清单中的URI之前,通道管理器将尝试从此URI下载目录清单.此参数用于支持脱机安装,其中将使用已下载的产品目录创建布局缓存.这可以用于安装命令; 其他命令会被忽略.

在布局目录中,存在诸如catalog.json,channelmanifest.json,response.json,vs_installer_version.json等文件.任何的想法?

iva*_*eev 2

您无需执行任何特殊操作即可让离线安装程序在没有任何 Internet 连接的情况下运行。即使channelURI<offline folder>\Response.json在线点中,它也不会每次都尝试更新组件列表或其他内容,您需要明确请求更新。

您唯一需要确保的是在选择组件时在“语言包”选项卡上选择您已下载文件的语言 - 否则,它将尝试下载丢失的位。

安装程序仍会尝试访问网络

  • 发布遥测数据https://dc.services.visualstudio.com/v2/trackhttps://vortex.data.microsoft.com/collect/v1Microsoft.VisualStudio.Telemetry.Net35.dll是安装程序的一部分
  • 从以下位置检索相关签名证书的 CRLhttps://crl.microsoft.com

但两者都是可选的,安装程序不会失败,它也不能做——我刚刚成功安装了禁用网络连接的东西。