使用Advanced Installer为LabVIEW应用(exe)制作升级更新程序(updater)
0、前言
上一篇博文:《使用Advanced Installer为LabVIEW生成的exe制作安装程序》讲了弃用LabVIEW自带的安装程序部署,转而使用Advanced Installer来制作安装程序。
本篇博文,我们继续解决LabVIEW制作应用程序的另一个痛点:较难部署升级更新程序。当然,本文所讲内容适用于其他所有Advanced Installer所能支持的安装程序制作类型,并不限于LabVIEW程序生成的EXE。
要完成这部分工作,需要准备如下东西:
- 可执行应用程序(exe),最好生成多个版本来进行测试;
- Advanced Installer;
- 已部署了HTTP网站或者FTP的(云)服务器。
1 、使用Advanced Installer为软件添加updater.exe
在Advanced Installer制作安装程序,选择专业版、企业版或开发版时,都会有“更新程序”这一项,在“更新程序-更新器”里勾选“启用Advanced更新器”,就会在应用程序文件夹下多出updater.exe和updater.ini两个文件。
返回更新程序-更新器页面进行配置,必须要修改的是“更新配置文件URL:”,这是你在服务器端放置你的更新信息文件updates.txt的链接地址。updater.exe在执行时,会访问这个地址,将该updates.txt文件下载下来,比较里面的版本信息,如果里面的版本比当前电脑上的版本更新,则会执行程序更新操作。
在这里,我先填入一个网址:http://www.xcantec.cn/TestApp/updates.txt,这个updates.txt名字要与后面制作更新配置文件名字一致。http://www.xcantec.cn是我的网站,我打算在网站根目录下创建了一个名为“TestApp”的文件夹,并把“updates.txt”文件放进了这个文件夹,于是,就可以得到如上的URL了。
其他的内容,可以根据需要进行修改。在这里,我们直接点击构建,生成当前版本的安装程序。
可以看到,生成的程序安装后在安装目录下多了updater的两个文件,此时运行updater.exe会报错,因为我们还没讲updates.txt文件放在服务器上。
2、制作新版本应用程序exe
上一步中,涉及到了updates.txt文件,这个文件我们借助Advanced Installer来生成。在此之前,我们需先制作升级更新版本的应用程序(exe)。
以上一篇博文中讲到的TestApp为例:在LabVIEW打开TestApp,我们添加上手动更新功能,如下:
修改LabVIEW中的生成规范版本为1.0.1.0,也就是从1.0.0.0→1.0.1.0,生成exe。
再打开Advanced Installer,打开TestApp安装程序的工程,它会提示重大升级是否更新产品代码,点击是,更新产品代码,然后构建1.0.1.0的安装程序。得到如下图:
3、生成并部署更新配置文件
得到更新版本的应用安装程序后,我们在Advanced Installer了新建一个更新-更新配置。
进入编辑页面后,新建更新,并选择刚才制作的新版程序TestApp_Setup_v1.0.1.0.exe。
修改下载网址,注意,这是届时要把新的安装包放在这里的链接。
更新安装检测这里,注意勾选64位注册表位置。
描述这里,尽情描述吧:
添加一下更新目标:
在构建页,选择输出地址,并把文件名命名为updates,并勾选UCS-2编码,不然会中文乱码。
点击构建,即可得到updates.txt文件。
接下来,将updates.txt和TestApp_Setup_v1.0.1.0.exe上传到网站根目录的TestApp文件夹下:
到这里,更新程序和更新配置文件的部署就大功告成了。
4、直接运行updater.exe测试
由于我们的1.0.0.0版本中没有检查更新按钮,因此,我们直接在应用程序目录下手动运行updater.exe进行测试。
可见,updater检查到了新版本。点击Next即可下载并安装新版程序。
5、测试一下手动检查更新按钮
在TestApp 1.0.1.0版本中,我们放置了“检查更新”按钮,为了测试这一功能,我们制作1.0.2.0版本软件,并将其部署到服务器上。
现在,可以在v1.0.1.0软件里点击“检查更新”进行测试了。
点击“检查更新”后,成功检测到了新版本,下载安装更新时,还会提示关闭当前正在运行的老版本。
更新完成后,我们打开TestApp,就可以看到是v1.0.2.0版本了:
到这里,使用Advanced Installer为LabVIEW应用(exe)制作更新程序(updater)的示例就大功告成了。希望对大家有所帮助。