为什么应用程序安装让您重新启动和关闭其他应用程序?

image

这是发生在大家在某些时候 - 你去安装一个新的应用程序,Windows会告诉你先重新启动。 或重新启动后。 或者它要求您先关闭每个其他应用程序。 为什么会这样做?

在今天的极客课程中,我们将解释为什么Windows可以这么刺激与所有这些重新启动,并希望给你一个更好的观点,为什么这样的事情。

那么为什么安装程序烦恼?

简单的答案是,大多数安装程序是恼人的,因为他们或者不是写得很好,或者他们集成太深入Windows,以便能够复制系统文件和启动一切必要,而无需重新启动。

问题是复杂的,因为Windows应用程序经常使用在多个应用程序之间共享的DLL(动态链接库)文件。 这是一个好主意,但是当涉及到安装和卸载应用程序时,可能会刺激需要重新启动。 真正令人伤心的是,这些天的许多应用程序是完全自包含的,并不是替换内置的Windows DLL,但他们的安装程序仍然让你重新启动。

这里有几个例子,安装程序可能会讨厌:

  • 如果您安装的应用程序需要复制另一个应用程序当前正在使用的文件的新版本,它将提示您关闭所有其他应用程序,否则将使您重新启动。
  • 如果有以前的安装或Windows更新有挂起的更改需要重新启动,一些安装将失败,并要求您先重新启动。
  • 如果要安装的应用程序有另一个应用程序的插件,例如Explorer上下文菜单或浏览器插件,它将提示您重新启动或关闭其他应用程序。
  • 有时严重的安装程序会要求您重新启动,因为他们不能自行启动所需的服务。

让我们进一步了解一些这些实例,以便您可以完全了解发生了什么。

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

如果应用程序安装程序需要复制一些文件,但它们当前正在使用,或在Windows更新的情况下是系统文件,它将使用Windows中的挂起功能,允许安装程序指定重新启动后发生文件操作,并在Windows中的一切之前启动。

安装程序将向注册表中的以下位置写入一个键:

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

如果您收到一条错误消息说您需要首先重新启动,您可以打开此密钥,您将看到在下次重新启动时需要更换的所有文件。

image

你可能不想混淆这个键的内容,否则事情会很快开始变得奇怪。 有一些非常罕见的情况下,即使在多次重新启动后,此密钥也不会被清空,您可能必须擦除密钥的内容,但是您应该避免这样做,除非你非常确定。

安装已在进行中

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

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

我没有这个的屏幕截图,但你可以从键的名称得到想法。

Windows更新使您重新启动

如果您收到一条消息,指出在重新启动计算机之前无法安装应用程序,这是因为Windows Update需要强制重新启动。 因此,例如,如果您收到此错误消息:

image

这是因为当你看到这个对话框弹出时你可能点击Postpone:

image

如果你进入注册表,你会看到在注册表中的这个位置有一个RebootRequired键:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Auto Update

在右侧有一大堆GUID值,虽然它们不属于注册表中的任何内容,但它们在那里是触发该消息的事实。

image

技术上,你可能可以导出密钥的内容,安装应用程序,然后把它们放回 - 但它可以打破的东西,重新启动不是那么痛苦吗?


所以现在你已经学到了一些关于为什么应用程序安装程序工作方式。 还有什么你想知道的吗? 解释你在评论中的失望,我们将看看我们是否能够对他们说明一些光。

赞 (0)
分享到:更多 ()