我基本上试图找到与this article中相同问题的答案:
如何在.NET Framework安装期间强制重新启动以确保我的设置能够正确处理它?</ p>
我完全按照这个人的建议行事:
但是,安装完成就好了,不需要重启!如何强制.NET v4.0安装程序完成后需要重新启动?我应该锁定写作的不同文件的任何想法?
我基本上想看看在推迟所需的重启并尝试运行.NET4.0应用程序或.NETv4.0 Windows服务后会发生什么。相关文章说:
如果您的应用程序试图在.NET Framework版本上运行,并且在安装结束时需要重新启动并且尚未重新启动,则可能会在应用程序中看到不可预测的行为。
但是我宁愿亲眼看看...为了记录,我滚动到链接文章中的讨论,并建议锁定64位Windows的%windir%\ syswow64文件夹中的mscoree.dll,但是也没有帮助,安装完成正常。
答案 0 :(得分:0)
今天我意外地发现了实现这一目标的方法。尝试使用相同的安装程序多次执行安装时,似乎总是需要重新启动。所以请按照以下步骤操作:
由于锁定mscoree.dll而导致的重启可能不是必需的,因为mscoree.dll的实现现在被拆分为mscoree.dll和mscoreei.dll,这是在.NET版本特定的文件夹中,因此不再需要重新启动。更多信息可以找到here,长话短说:
我们已经看到大量机器重新启动是.NET redist安装的一部分,通常是因为需要更新正在使用的文件。最常用的文件是mscoree.dll,它由每个.NET应用程序加载,甚至是某些服务,如MSI。结果,我们进行了mscoree“拆分”以避免机器重新启动。通过将填充程序实现移动到特定于版本的文件中,我们可以部署新版本的mscoreei.dll(例如在v5.0 .NET文件夹中,作为.NET 5.0安装的一部分),而无需触及整个机器mscoree.dll文件。
所以.NET v4.0修复过程需要替换v4.0文件夹中的mscoreei.dll,所以即使是这个分裂mscoree.dll实现的漂亮功能也无法帮助我们,重启将是必需的。