每个人在某个时候都发生了这种情况-您去安装一个新的应用程序,然后Windows告诉您先重新启动。或重启后。或者它要求您先关闭所有其他应用程序。为什么这样做呢?

在今天的极客课中,我们将确切解释Windows为什么在所有重新启动后都如此令人烦恼,并希望为您提供更好的视角来了解为什么这种方式会起作用。

那么,安装程序为什么令人讨厌?

简短的答案是,大多数安装程序很烦人,因为它们编写得不太好,或者它们与Windows的集成度太高,无法复制系统文件并无需重新启动就可以启动所需的一切。

由于Windows应用程序经常使用在多个应用程序之间共享的DLL(动态链接库)文件,因此问题变得更加复杂。这是一个好主意,但是在安装和卸载应用程序时,需要重新启动会很烦人。真正可悲的是,如今许多应用程序都是完全独立的,并不能替换内置的Windows DLL,但它们的安装程序仍会使您重新启动。

这是安装程序可能令人讨厌的几个例子:

  • 如果您正在安装的应用程序需要复制另一个应用程序当前正在使用的文件的新版本,它将提示您关闭所有其他应用程序,或者使您重新启动。
  • 如果以前的安装或Windows Update的更改尚待重启,则某些安装将失败,并要求您先重启。
  • 如果要安装的应用程序具有另一个应用程序的插件,例如添加了Explorer上下文菜单或浏览器插件,它将提示您重新启动或关闭其他应用程序。
  • 有时写得不好的安装程序会要求您重新启动,因为他们自己没有启动所需的服务。

让我们仔细看看其中的一些实例,以便您完全了解发生了什么。

重新启动时需要复制使用中的文件

如果应用程序安装程序需要复制某些文件但当前正在使用它们,或者对于Windows Update,它们是系统文件,它将利用Windows中的“待处理”功能,该功能允许安装程序指定重启后发生文件操作,在Windows中的所有功能启动之前。

安装程序将密钥写入注册表中的以下位置:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
\ PendingFileRenameOperations

如果收到错误消息,提示您需要首先重新启动,则可以打开此密钥,然后将看到在下次重新启动时需要替换的所有文件。

您可能不想弄乱此键的内容,否则事情很快就会开始变得怪异。在极少数情况下,即使多次重新启动后,该密钥也不会被清空,您可能不得不擦除密钥的内容,但是除非非常确定,否则您应该避免这样做。

安装正在进行中

如果当前正在进行安装,某些安装程序将不会启动,因此他们将检查以下密钥以查看是否已经在进行安装:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress

我没有该屏幕截图,但是您可以从密钥名称中获得想法。

视窗 Update使您重新启动

如果您收到一条消息,提示您必须重新启动计算机才能安装应用程序,这是因为Windows Update需要强制重新启动。因此,例如,如果您收到以下错误消息:

这是因为看到此对话框弹出时,您可能单击了“延迟”:

如果您进入注册表,则会看到注册表中此位置有一个RebootRequired键:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \自动更新

右侧有一堆GUID值,尽管它们与注册表中的任何内容都不相关,但事实是它们触发了该消息。

从技术上讲,您可能会导出密钥的内容,安装应用程序,然后将其放回原处,但是它可能会损坏某些东西,重新启动不是很痛苦吗?


因此,您现在已经了解了更多有关应用程序安装程序为何以这种方式工作的知识。您还有什么想知道的吗?在评论中说明您的挫败感,我们将看看是否能为您提供一些帮助。

洛厄尔·海丁斯 洛厄尔·海丁斯
Lowell是How-To Geek的创始人兼首席执行官。自2006年创建网站以来,他一直在主持展览。在过去的十年中,洛厄尔(Lowell)亲自撰写了1000多篇文章,被超过2.5亿人观看。在开始How-To Geek之前,Lowell在IT部门工作了15年,从事咨询,网络安全,数据库管理和编程工作。
阅读完整的传记»