为什么安装新软件后需要重新启动计算机?

为什么安装新软件后需要重新启动计算机?

为什么有时安装新软件后需要重新启动计算机,而有时则不需要?

为什么需要重新启动,或者为什么不总是这样或那样?

答案1

这取决于。

如果正在安装的软件影响操作系统的组成部分,则需要重新启动。例如,为操作系统安装新内核。

在 Windows 系统上,它经常被使用,因为人们认为用户太笨,无法正确使用他们的计算机。例如,微软发布了如何更改用于网络的“节点类型”的详细信息在其网站上,包括“重新启动计算机”的指令,而实际上只需要重新启动网络服务,详情如下因为我们作为用户太愚蠢,不会重新启动服务,所以我们被告知要重新启动一切。

对于某些软件,我得出的结论是,这是一种习惯,即使被告知这样做也往往没有必要。如果我认为某个软件不会对操作系统造成任何重大影响,我倾向于不去理会它,并且不会遇到任何问题(如果有问题,它们很容易解决)。

答案2

有时,软件会做出一些更改,但这些更改在计算机使用时无法生效。原因可能是 - 文件正在使用中、更改只能在计算机启动时发生、可能存在安全问题(只能在计算机联网之前进行)、病毒扫描程序可能会干扰安装。

有时,这只是开发人员的编程粗心所致。

我确信还有很多。

答案3

通常,当您安装新软件时,许多其他软件包使用的 DLL(文件)需要升级到新版本。(升级已安装的应用程序时更有可能出现这种情况。)

如果正在运行的应用程序正在使用该 DLL,则其中一部分将被加载到内存中,其余部分将在需要时从磁盘读取。因此,DLL 将被锁定在磁盘上。(想想如果它没有被锁定会有什么问题!)

被锁定的 DLL 无法更新,因此安装程序将在下次重新启动计算机时要求 Windows 用新版本替换 DLL。因此需要重新启动。

一些更好的安装程序会告诉您在运行安装程序之前应关闭的应用程序,这样无需重新启动即可更新 DLL。 然而,这会使安装程序的 UI 更加复杂,并导致更多的支持呼叫。

应用程序的安装程序还可以让应用程序保存其状态,自行关闭,然后在 DLL 更新后重新启动。这只有在 DLL 由单个应用程序使用时才能完成。大多数自更新应用程序都会这样做 - 当有大量用户时,这应该是大众市场应用程序的常态。

以上所有情况都可能导致难以测试的复杂逻辑。测试安装程序需要很长时间,因为您需要尝试猜测用户机器可能处于的每个状态。因此,安装程序最好简单且始终有效,即使这会导致用户多重启几次。

用户由于安装程序重新启动而决定购买其他应用程序的情况并不常见,因此供应商会花时间(金钱)来研究如何让用户购买他们的应用程序。

您在安装应用程序后遇到的问题,有多少次在重启后自动解决?想想许多用户打电话咨询问题,而这些问题只需重启即可解决,这需要多少支持成本。作为一名开发人员,您很快就会忍不住让用户在安装软件后重启,即使您认为没有必要。



大多数操作系统和软件都是在磁盘空间和内存成本很高的时代编写的很多的钱。现在有一种趋势是,应用程序拥有它们使用的所有 DLL 的私有副本,因此升级更加容易,但会占用更多的存储空间。

在服务器上,这是通过“容器”实现的,但是“容器”不适用于桌面软件,因为您希望能够使用另一个应用程序访问一个应用程序保存的数据。(否则只需使用 iPhone。)

答案4

说实话,如果软件开发人员认为更新总是会导致重新启动,那么他们就可以少做些工作(因此也少花些钱)。这可能既是开发人员的决定,也是会计人员的决定。

最终,在理想情况下,很少有更新可以在不重启的情况下完成,但这需要大量的预先规划,而且考虑到系统可能具有的多种配置,也存在一些风险。

相关内容