2012-09-01 90 views
4

我目前正在构建一个应用程序,并希望有一个安装程序和它自动静默更新。NSIS自动和静默更新

Dropbox,Spotify和Chrome在更新时都很棒,没有任何人注意到。于是我看了一下AppData中的Dropbox漫游文件夹,并找到一个名为DropboxUpdateHelper.exe的文件,并带有一个NSIS图标。在Spotify文件夹中,我只能找到SpotifyHelper.exe和条款中提及的NSIS。

是否有教程介绍如何在漫游文件夹中安装应用程序并拥有无声自动更新程序?我不是固定在NSIS上,而是喜欢开源和免费的安装程序。

回答

1

NSIS有INetC plugin可用于从互联网上下载东西,但我不知道是否有一个自动更新教程。你可能也想看看在VPatch plugin ...

有许多变数值得思考:

  • 如果你的主要应用程序的外观进行更新,或只是运行的应用程序的更新(或窗口)启动,所以它可以检查?
  • 服务器上的文件是否已签名或您是否有其他方式检测无效/损坏/ MitM更新?
  • 在下载/应用更新之前是否需要访问控制/ DRM?
  • 你将如何处理主要的版本号更新?你会支持多个主要版本还是强制升级?
  • 您是否需要管理员权限进行更新? UAC处理?
  • 你打算如何支持从1.0升级到1.2?首先更新到1.1或支持每个可能的次要版本升级路径?

我相信还有很多其他问题你也必须考虑。在开始编码之前,您应该尝试回答所有这些问题。在开发过程中,您可能会发现其他问题或者您必须完全更改设计。

恕我直言,这不是一个简单的问题,我不认为你可以找到适合您的具体设计/需求的插入式解决方案...

0

这是很容易从下载文件使用NSIS的互联网(为此目的有几个插件:NSISdl,InetC,...),但这种功能更多地是关于编码。

对此没有确切的解决方案 - 正如Anders所说,您需要指定每个细节以实现所需的行为。