我目前正在建设一个应用程序,并希望有一个安装程序,它自动无声更新。
Dropbox的,Spotify和Chrome浏览器都是在没有任何人的注意更新惊人。 所以我看了看Dropbox的文件夹漫游在应用程序数据,发现了一个名为DropboxUpdateHelper.exe与NSIS图标文件。 在Spotify的文件夹,我只能找到一个SpotifyHelper.exe和NSIS在一个条款提及。
是否有关于如何安装漫游文件夹中的应用程序,并有一种无声的自动更新程序的教程? 我不是固定在NSIS但宁愿一个开源和免费安装。
NSIS有INetC插件 ,可用于从互联网上下载的东西,但我不知道是否有一个自动更新教程在那里。 你可能也想看看在VPatch插件 ...
有许多变数值得思考:
- 如果你的主应用程序查找更新,或只是运行的应用程序(或窗口)启动更新程序,因此它可以检查?
- 在服务器上的文件签字或者你有其他的方式来检测无效/损坏/ MITM更新?
- 你需要下载/应用更新之前,访问控制/ DRM?
- 你将如何处理主版本号更新? 你会支持多个主要版本或升级的力量?
- 你需要管理员权限来更新? UAC处理?
- 你将如何支持升级为1.0到1.2? 更新到1.1第一或支持每一个可能的次版本升级路径?
我敢肯定有,你还必须考虑许多其他问题。 你应该尝试在开始编码之前,回答所有这些问题。 在开发过程中你可能会发现其他问题,或者你必须完全改变设计。
恕我直言,这不是一个简单的问题,我不认为你可以找到适合您的具体设计/需求的插入式解决方案...
这是很容易使用NSIS互联网下载文件(有几个插件用于此目的:NSISdl,InetC,...),但这样的功能更多是编码。
目前对此没有确切的解决方案 - 如安德斯说,你需要指定每一个细节,以达到要求的行为。