4

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

Dropbox、Spotify 和 Chrome 在更新方面都非常出色,没有人注意到。因此,我查看了 AppData 中的 Dropbox Roaming 文件夹,发现了一个名为 DropboxUpdateHelper.exe 的文件,其中包含一个 NSIS 图标。在 Spotify 文件夹中,我只能找到 SpotifyHelper.exe 和条款中提到的 NSIS。

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

4

2 回答 2

1

NSIS 有INetC 插件,可用于从 Internet 下载内容,但我不知道是否有自动更新教程。您可能还想看看VPatch 插件...

这里有很多变量需要考虑:

  • 您的主应用程序应该寻找更新还是只在应用程序(或 Windows)启动时运行更新程序以便检查?
  • 服务器上的文件是否已签名,或者您是否有其他方法来检测无效/损坏/中间人更新?
  • 在下载/应用更新之前是否需要访问控制/DRM?
  • 您将如何处理主要版本号更新?您会支持多个主要版本还是强制升级?
  • 您是否需要管理员权限才能更新?UAC处理?
  • 您将如何支持从 1.0 升级到 1.2?先更新到 1.1 还是支持所有可能的次要版本升级路径?

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

恕我直言,这不是一个简单的问题,我认为您无法找到适合您确切设计/要求的嵌入式解决方案...

于 2012-09-02T06:41:42.763 回答
0

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

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

于 2012-09-03T04:34:46.703 回答