验证使用--layout选项创建的Visual Studio(2019或2022)的脱机安装

tktrz96b  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(363)

**因此,我的问题是:如何在确保脱机安装方案中不需要网络连接(即 * 至少 * --noweb)的同时,验证/确认脱机情况下的布局?

注意:为了确定,我也喜欢在验证时关闭网络(从VM中),但--noweb背后的想法似乎是 that
背景
我更喜欢为Visual Studio创建一个离线安装,它将不同的版本合并到一个.iso(UDF)文件中。如果打包程序知道如何处理硬链接,那么他们也可以实现同样的效果。例如,生成的.iso for VS 2022(17.3.6)的大小仅为36 GiB,包括以下版本:构建工具(“28 GiB”)、社区(“35 GiB”)、专业(“35 GiB”)和企业(“35 GiB”)。硬链接过程总共节省了100 GiB多一点。
由于我通常至少会得到一些下载错误during a single run,所以我倾向于至少运行两次初始的vs_<Edition>.exe --layout %CD%\vs2022\<Edition> --lang en-us命令,直到看到最终的成功消息。
然而,现在我想确保每个布局对于脱机安装都是有效的。唉,帮助页面对这个场景没有什么帮助,我想出的命令似乎也没有什么作用。
cmd.exe(无论是否提升)和准备期间在--layout中指定的目录中执行:

.\vs_setup.exe --layout %CD% --verify --noweb --passive --lang en-us

NB:我还尝试了 with--nocachewithout--passivewithout--lang en-us(原始布局仅为该语言生成,因此我假设必须给出)。
在所有情况下,我都会看到一个对话框,其中有一个进度条,指示内容已经加载并解包到%LOCALAPPDATA%\Temp中(考虑到只读介质,这是有意义的),但随后就没有声音了,相应的进程似乎什么都没做就退出了。所以我甚至没有得到我可能错误调用了什么的指示。我还检查了事件日志,但一无所获。
我问这个问题是专门针对VS 2019和2022的,但引导程序似乎在很大程度上是统一的。所以选择其中一个版本来回答。
PS:或者,如果你告诉我如何提高详细程度,这样我就可以诊断为什么被调用的程序会安静地退出,这也会有所帮助。
已在网络连接和未连接时尝试以下操作;其中,X:是挂载的.iso文件。所有操作都以失败告终,没有任何提示,也没有出现任何UAC提升提示。

  • x1米15英寸
  • X:\Enterprise\vs_setup.exe --layout X:\Enterprise --verify --noweb --lang en-us
  • X:\BuildTools\vs_setup.exe --layout X:\BuildTools --verify --noweb --lang en-us
  • X:\Community\vs_setup.exe --layout X:\Community --verify --noweb --lang en-us

我在两个不同的虚拟机上尝试了这个方法,同时使用了一个已经提升的提示符和一个正常提示符。所有组合(即版本、脱机/联机、提升/未提升)的结果都与第一个问题中描述的相同。

hkmswyz6

hkmswyz61#

发现了根本问题。事实上,挂载.iso文件意味着它被挂载为 * 只读 *。似乎是这里的唯一定义因素。

展示#1(我的场景具有只读布局目录):

是的,我本可以在最后留下更多几秒或几分钟的静止图像,但相信我的话,那里什么也没有发生。

展示2(内容相同,但复制到可写位置)

因此得出结论:这似乎是一个缺陷,或者委婉地说,是一个没有文档记录的设计决策。

plupiseo

plupiseo2#

这是否符合您的需要:

我使用了以下命令行:

.\vs_setup.exe --layout C:\Demo --verify --noweb --lang en-us

相关问题