visual-studio - Visual Studio 2017(专业版)离线更新布局缺少包

标签 visual-studio installation visual-studio-2017 updates offline

不久前,我为 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-setup 需要相同......)

我曾尝试联系 Microsoft 支持,但直到现在都没有收到回复。 - 还有其他人遇到这个问题/能够解决它吗?

最佳答案

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。

关于visual-studio - Visual Studio 2017(专业版)离线更新布局缺少包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52428110/

相关文章:

python - 即使使用conda安装后也无法安装tensorflow

visual-studio - 如何将非核心csproj转换为VS2017格式

ios - VS2017 - Ionic/Cordova - 无法构建 iOS RemoteBuild - 路径太长

.net - 没有安装Visual Studio的应用程序崩溃

vb.net - 将 ASCII 字符转换为其十六进制值

windows-7 - 如何在 Windows 7 上安装 Umbraco

ubuntu - ubuntu 安装上的 Virtualbox 测试模式

c++ - 如何修复Visual Studio Project寻找不存在的头文件?

c# - Visual Studio 停止,进入 Debug模式,但我不知道它暂停在哪一行

c++ - CMake(忍者后端)用/MT编译