我目前正在设计一个我想用于自己的应用程序的软件更新程序。由于更新本身通常需要管理员权限(写入程序文件等),我希望有一些可用的管理员或系统本身。我完全了解我对验证我下载并自动运行的文件的尽职调查。我将使用强哈希和数字签名。
我更感兴趣的是是否使用Windows服务或Windows任务计划程序进行定期更新检查。
这是我到目前为止所发现的:
谷歌的做法对我来说似乎是最理想的,但我不知道我是否需要额外的服务。实际上我认为应该足以设置一个计划任务,以SYSTEM身份启动,它将检查,下载和运行更新。由于所有内容都在SYSTEM(或者也许是管理员)上下文中,因此对“用户破坏”应该是合理安全的......
我的设计是否足够好,或者我是否会单独遇到计划任务的问题?