用于软件更新的服务或计划任务?

时间:2014-02-13 19:36:27

标签: windows-services scheduled-tasks auto-update

我目前正在设计一个我想用于自己的应用程序的软件更新程序。由于更新本身通常需要管理员权限(写入程序文件等),我希望有一些可用的管理员或系统本身。我完全了解我对验证我下载并自动运行的文件的尽职调查。我将使用强哈希和数字签名。

我更感兴趣的是是否使用Windows服务或Windows任务计划程序进行定期更新检查。

这是我到目前为止所发现的:

  • Google使用定期检查更新的计划任务。它附带一个据称可以运行更新的服务。任务和服务都以SYSTEM身份运行,并按需启动。该服务通常会停止,并且不能由普通用户控制。在后台随时检查和安装更新。
  • Mozilla Firefox使用的服务可能是在下载要安装的内容时由浏览器启动的。该服务按需启动,以SYSTEM身份运行,允许常规用户启动和停止该服务。仅在应用程序运行时检查更新。
  • 其他应用程序只需检查,下载并以普通用户身份执行。然后更新本身将要求UAC。仅在应用程序运行时检查更新。

谷歌的做法对我来说似乎是最理想的,但我不知道我是否需要额外的服务。实际上我认为应该足以设置一个计划任务,以SYSTEM身份启动,它将检查,下载和运行更新。由于所有内容都在SYSTEM(或者也许是管理员)上下文中,因此对“用户破坏”应该是合理安全的......

我的设计是否足够好,或者我是否会单独遇到计划任务的问题?

0 个答案:

没有答案