Lazarus信创之路:启程,自动升级程序

相信国内做Delphi开发的不在少数,信创大趋势下,很多转Lazarus开发了。最近我也研究了一下,决定也转到这下面来,主要考虑:1、商业化方便,无版权纠纷;2、兼容Delphi语法,上手很快;3、原有的源码还可以再利用。

首先,我规划一个云诊所的产品,主要是给诊所使用,利用三层技术,兼顾了C/S的操作便利与B/S的实施方便。第一步要先写一个自动升级程序,软件肯定要不断的迭代,有了新版本就要能自动升级,那么我考虑要实现如下功能:

1、升级包有完整的目录结构,因为每次升级不可能就一个文件,多个文件或者报表模板保持软件安装目录的结构,方便覆盖升级;

2、能自动解压缩;

3、支持HTTPS协议,目前HTTPS为主流,也更安全。

实现效果如下:

开发中主要遇到几个问题:

1、MessageBox提示框中文乱码,搜遍网上的解决方案,有的说要改源码编辑器编码,有的说要用Utf8ToAnsi转一下,其实都不对,主要是这个代码:

2、解压缩过程中获取解压文件名中文乱码,主要解决代码如下: