通过AppHlp实现程序的自动升级

应用程序的自动升级是一个很重要的功能。原理其实很简单,但实现起来却很有难度,尤其是找到一个持续性的稳固的方案,真是难上加难。

一般包而言,基本的模式是,包含两个程序, 一个是主程序,也就是除了升级功能以外的程序,另一个就是升级程序,常见的360,金山安全卫士都是这样。

在网上寻找成型的方案,发现一个AppHlp可用,对它做了简单的测试,特记录如下。

 

1、 在AppHlp下载其管理端工具AppHlp Admin

主页: http://www.app-helper.net/

下载地址: http://www.app-helper.net/bin/apphlp_admin.msi

 

2、 在AppHlp下载客户端的动态开发库。

它的开发库很简单,就是一个dll和几个头文件。

下载地址:http://www.app-helper.net/sdk/apphlp_sdk.rar

例子地址:http://www.app-helper.net/sdk/apphlp_exmaples.rar

 

3、 如果需要使用AppHlp来实现自动升级,则需要注册一个账户

clip_image002

 

4、 然后创建一个项目

clip_image004

需要注意的是,创建项目时必须要指定该项目的镜像目录,可以这样理解:程序的模块在服务器上有一个镜像,而这个镜像和目录关系是从本地映射过去的。

更新本地文件夹里面的模块,然后再将更新上载到服务器,这样新版本的镜像就存放到服务器去了,之后在客户端的程序就能得到升级。

 

5、 将程序发行版本编译好,更新到刚刚这个项目对应的目录里。

 

6、 在模块管理对话框里,引入这些模块,并对项目进行更新,上载模块

clip_image006

clip_image008

clip_image010

注意,项目一定要包含apphlp.dll这动态库,否则会弹出上面的错误。

 

7、 在程序代码里响应升级消息

在创建项目之后,编译新版本,提交到服务器之后,再运行程序,则可以得到通知消息,响应这个消息,具体的成品就是下面这样了。

clip_image012

你可能感兴趣的:(C++,自动升级)