如何在.NET Framework v4.0安装期间强制重新启动?

时间:2014-10-24 10:13:46

标签: .net windows-7 .net-4.0 installation

我基本上试图找到与this article中相同问题的答案:

  

如何在.NET Framework安装期间强制重新启动以确保我的设置能够正确处理它?<​​/ p>

我完全按照这个人的建议行事:

  1. 我安装了&lt; .NET v4.0的win7(win7默认为v3.5),
  2. 我使用lock.exe
  3. 锁定sys32目录中的文件mscorier.dll
  4. 运行从here
  5. 下载的.NET v4.0安装程序

    但是,安装完成就好了,不需要重启!如何强制.NET v4.0安装程序完成后需要重新启动?我应该锁定写作的不同文件的任何想法?

    我基本上想看看在推迟所需的重启并尝试运行.NET4.0应用程序或.NETv4.0 Windows服务后会发生什么。相关文章说:

      

    如果您的应用程序试图在.NET Framework版本上运行,并且在安装结束时需要重新启动并且尚未重新启动,则可能会在应用程序中看到不可预测的行为。

    但是我宁愿亲眼看看...为了记录,我滚动到链接文章中的讨论,并建议锁定64位Windows的%windir%\ syswow64文件夹中的mscoree.dll,但是也没有帮助,安装完成正常。

1 个答案:

答案 0 :(得分:0)

今天我意外地发现了实现这一目标的方法。尝试使用相同的安装程序多次执行安装时,似乎总是需要重新启动。所以请按照以下步骤操作:

  1. here
  2. 获取.NET v4.0 Web安装程序
  3. 运行下载的安装程序,
  4. 等待安装完成,
  5. 再次运行下载的安装
  6. 您可以选择是修理还是删除,选择修复
  7. 一旦.NET v4.0成功修复,就需要重启,宾果游戏。
  8. 由于锁定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实现的漂亮功能也无法帮助我们,重启将是必需的。