**因此,我的问题是:如何在确保脱机安装方案中不需要网络连接(即 * 至少 * --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--nocache
、without--passive
和 without--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
我在两个不同的虚拟机上尝试了这个方法,同时使用了一个已经提升的提示符和一个正常提示符。所有组合(即版本、脱机/联机、提升/未提升)的结果都与第一个问题中描述的相同。
2条答案
按热度按时间hkmswyz61#
发现了根本问题。事实上,挂载
.iso
文件意味着它被挂载为 * 只读 *。这似乎是这里的唯一定义因素。展示#1(我的场景具有只读布局目录):
是的,我本可以在最后留下更多几秒或几分钟的静止图像,但相信我的话,那里什么也没有发生。
展示2(内容相同,但复制到可写位置)
因此得出结论:这似乎是一个缺陷,或者委婉地说,是一个没有文档记录的设计决策。
plupiseo2#
这是否符合您的需要:
我使用了以下命令行: