应用程序的自动更新策略

时间:2015-05-28 05:14:41

标签: c++ windows wxwidgets

我在C++上编写了应用程序,我希望能够像Google Chrome那样更新它:

  • 从服务器静默下载新版本,
  • 替换原始文件和
  • 重启应用。

我还想替换现在使用时已锁定的 exe 文件。 找不到此类autoupdate的任何解决方案。

也许wxWidgets有这样的工具?

或许你知道,怎么做?

3 个答案:

答案 0 :(得分:0)

制作2个节目。您的主要应用程序和启动器。启动程序是人们应该点击启动程序的,它负责启动主应用程序,然后可以自行关闭。如果需要在主应用程序运行时进行更新,则可以将更新的程序下载到单独的文件中,以及必要的任何其他文件。然后主应用程序可以启动启动器并自行关闭。然后,启动器负责删除旧程序并重命名新程序,然后重新启动它。

实际上,这甚至不必是两个不同的程序。它可以是以两种不同模式运行的相同程序(例如,通过命令行参数选择)。但是,您仍然需要2个磁盘上的可执行文件副本。请注意,这正是Google Chrome所做的。

答案 1 :(得分:0)

该理论在上面的评论中有所描述。在实践中,您应该查看WinSparkle

答案 2 :(得分:0)

将程序打包为MSI文件(Windows安装程序)。然后下载新的msi文件并启动它。 Windows安装程序负责更新您的程序,您可以创建安装程序以重新启动您的应用程序。

请查看http://wixtoolset.org/了解如何构建安装程序。