前一段时间,我为VS2017 Professional(版本15.5)创建了一个脱机安装布局-这是工作中的几个开发主机的基础。
现在我们要升级到VS2017-版本15.8-因此,我为现有布局创建了1:1副本并运行
vs_Professional.exe --layout <path_to_layout>
哪个运行了一段时间并更新了吗?布局中的软件包。
使用此更新的布局进行全新安装效果很好,但是-使用此布局更新已安装版本15.5的主机之一时,更新过程失败,退出代码为“ 1”。
边注:VS实际上声明它现在是15.8.4-但它退出并显示错误代码..所以..?
我用于安装/更新的命令是 (删除全新安装的“更新”)
vs_Professional.exe update --passive --norestart --wait --productkey $productKey --nocache --noUpdateInstaller --noWeb
使用collect.exe有一个state.errors.json文件,该文件指出布局路径中缺少几个软件包...
注意:我需要在离线布局中提供所有必需的软件包-因为某些PC无法访问互联网(尽管我们要求这些vs设置必须相同...)< / p>
我曾尝试与Microsoft支持部门联系,但直到现在都没有收到回音。 -其他遇到此问题的人/能够解决吗?
答案 0 :(得分:0)
MSFT Visual Studio脱机版面的更新过程似乎有很多漏洞,但是至少有一种方法可以始终如一地工作:
始终始终记录您用于创建离线版式的确切参数! (所有软件包,包括附加功能,语言-您所使用的确切命令行!
如果您需要能够继续使用旧的布局版本进行新安装,那么您将需要这样做,就像Sara Liu在原始问题的评论中指出的那样。 (不支持安装更新版式的“旧版本”。)
此外,如果在更新过程中出现问题-您不要松动任何东西;-)
vs_Professional.exe --layout <path_to_layout>
完成此操作后,您应该可以从此更新的布局中安装新的VisualStudio版本,但是升级旧版本可能会失败。
为解决此问题,MSFT为您提供了
vs_Professional.exe --verify
vs_Professional.exe --fix
您可以在布局中使用的工具-但不要指望它能工作-它从未弄清楚我的方案中缺少哪些软件包。
如果您遵循第3点,则还可以升级现有安装。
我知道这很奇怪-但这一直使我一直缺少升级方案的软件包。只是不要忘了之后修复您的ChannelManifest.json。