Visual Studio 2017 (Professional) 离线更新布局是缺少包的问题

问题描述 投票:4回答:1

不久前,我为VS2017专业版(15.5版)创建了一个离线安装布局--这是工作中几个开发主机的基础。

现在我们想升级到VS2017 - 版本15.8 - 所以我创建了一个1:1的现有布局副本,并运行

vs_Professional.exe --layout <path_to_layout> 

运行了一段时间,更新了布局中的所有软件包。

用这个更新的布局进行干净的安装确实很好,但是--当使用这个布局来更新一个已经安装了15.5版本的主机时,更新过程失败,退出代码为 "1"。

附注:VS实际上说明现在是15.8.4版本--但是它的退出代码是错误的...所以...?

我用于安装update的命令是(删除干净安装的 "update")

vs_Professional.exe update --passive --norestart --wait --productkey $productKey --nocache --noUpdateInstaller --noWeb

在使用 collect.exe 时,有一个 state.errors.json 文件,其中说明布局路径上缺少几个包...... 注意:我需要在离线布局中提供所有所需的包--因为有些电脑无法上网(尽管我们要求这些 vs-setups 需要完全相同......

注意:我需要在离线布局中提供所有所需的包--因为有些电脑无法访问互联网(尽管我们要求这些vs-设置必须是相同的......)。

我试着联系微软的技术支持,但到现在都没有收到回复。- 有谁能解决这个问题?

visual-studio installation visual-studio-2017 updates offline
1个回答
0
投票

MSFT Visual Studio离线布局的更新过程似乎相当错误,但至少有1种方法似乎可以稳定工作。

始终,始终,始终注意你用来创建离线布局的确切参数!(所有的包,包括额外的东西,所有的包,包括所有的包,包括所有的包。(所有的软件包,包含的附加功能,语言--你使用的确切命令行)

1: 创建一个现有离线布局的副本。

如果你需要能够在新的安装中继续使用旧版布局,你会想要这样做,正如Sara Liu在原始问题的评论中指出的那样。(不支持安装更新布局的 "旧版本"。)

另外,万一在更新过程中出现什么故障--你不会丢失任何东西;-)

2:更新复制的离线布局

vs_Professional.exe --layout <path_to_layout> 

完成后,你应该可以从这个更新的布局安装新的VisualStudio版本,然而升级旧版本可能会失败。

为了解决这个问题,MSFT给你

vs_Professional.exe --verify
vs_Professional.exe --fix

工具,你可以扔在你的布局 - 但不要指望它的工作 - 它从来没有弄清楚什么包一直缺少在我的情况下。

如果你按照第3点,你也可以升级现有的安装。

3:创建一个新的布局,参数与原来的布局相同,并将文件复制到更新后的布局上。

我知道这很奇怪--但这让我在升级的情况下一直缺少包。只是别忘了在升级后修复你的ChannelManifest.json。

© www.soinside.com 2019 - 2024. All rights reserved.