Access快速开发平台--自动升级新思路-lmqlt
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access开发平台


Access快速开发平台--自动升级新思路

发表时间:2018/6/22 11:45:34 评论(1) 浏览(6601)  评论 | 加入收藏 | 复制
   
摘 要:采用后台升级程序方式,增强用户使用体验。
正 文:

      最近在开发单位信息系统,体会到Access快速开发平台的便利,特别是大系统的整体部署,可以和专业系统媲美。由于单位针对不同用户群体,研发不同的信息系统版本,大一统的版本升级解决不了实现需要,而且开发初期可能会频繁升级程序,启动主程序升级的方式让用户感觉不智能。考虑上述情况,可以转换一个思路:1、使用批处理,自动降低宏安全为低,根据不同程序自动从服务器FTP(不同文件夹)下载升级包;2、自定义系统版本,不同程序有不同的版本号;3、设置系统1小时无操作将自动退出,在Main窗体卸载程序上增加版本号比对;4、如果版本号不同将启动升级程序,自动下载升级包到客户端进行解压。考虑升级程序运行的隐密和安全,可将批处理转换成EXE程序,再用系统自带的iexpress进行包装,确保系统不拦截。

点击下载此附件



'‘在系统增加版本对比程序,在SysLocalParameters(本机) 和Sys_ServerParameters(服务器)增加 LgcVersion 函数

Function Upcx() 

On Error Resume Next

   Dim fwqbb As String

   Dim yhdbb As String

   fwqbb = GetParameter("LgcVersion", dbText, False, , , True)  '服务器版本

   yhdbb = GetParameter("LgcVersion", dbText, False, , , False) '用户端版本

   If fwqbb <> yhdbb Then

      ShellExecute CurrentProject.Path & "\Update.EXE"

   End If

End Function


 ‘在Main窗体关闭卸载程序加上版本比对程序 

Private Sub Form_Unload(Cancel As Integer) 

    On Error Resume Next

    Dim intResult As Long

    Call Upcx

End Sub



批处理程序

批处理程序原理:退出主程序时延迟5秒启动升级程序,步骤:1、关闭ACCESS程序;2、设置宏安全为低;3、从服务器下载升级包;4、下载完毕后删除升级包。为提升客户体验,这些程序都是隐藏运行的,由于升级包采用自解压方式,客户端无需安装压缩软件。

@echo off

color9F

title [离退休系统升级程序]

 

if "%1" == "h" goto begin

: begin

ping 127.0.0.1 -n 5

taskkill /f /t /im MSACCESS.EXE 

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Access\Security" /v "Level" /t REG_DWORD /d "1" /f

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security" /v "Level" /t REG_DWORD /d "1" /f

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security" /vvbawarnings" /t REG_DWORD /d "1" /f

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security" /v "vbawarnings" /t REG_DWORD /d "1" /f

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Shared Tools\Graphics Filters\Import\JPEG\Options" /v "ShowProgressDialog" /t REG_SZ /d "No" /f

REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Graphics Filters\Import\JPEG\Options" /v "ShowProgressDialog" /t REG_SZ /d "No" /f

REG ADD HKEY_CLASSES_ROOT\MSPaper.Document /v EditFlags /t REG_DWORD /d 65536 /f

REGSVR32.EXE /s MSCOMCTL.OCX

REGSVR32.EXE /s MSCOMCT2.OCX

ping 127.0.0.1 -n 1

 

 set ftpUser=lgc                       (服务器用户名)

 set ftpPass=8311****              (登陆密码)

 set ftpIP=192.168.2.2              (IP地址)

 set ftpFolder=/lgc/                    (服务器FTP文件夹)

 set LocalFolder=C:/                   (下载升级包至客户端电脑位置)

 set ftpFile=%temp%/TempFTP.txt

>"%ftpFile%" (

echo,%ftpUser%

echo,%ftpPass%

echo cd "%ftpFolder%"

echo lcd "%LocalFolder%"

echo bin

echo mget *.*

echo bye

)

start /min ftp -v -i -s:"%ftpFile%" %ftpIP%

ping /n 5 127.0.0.1>nul

:jiancha

dir /a-d C:\lgcsj.exe >nul 2>nul

if %errorlevel%==0 (goto :yunxin) else ping /n 2 127.0.0.1>nul & goto :jiancha

:yunxin

start/wait ""  "C:\lgcsj.exe"

ping /n 3 127.0.0.1>nul

:jiancha1

dir /a-d C:\lgcsj.exe >nul 2>nul

if %errorlevel%==0 (goto :try) else ping /n 1 127.0.0.1>nul & goto :jiancha1

:try

del /a /f /q "C:\lgcsj.exe"

echo 完成新程序安装,感谢你的大力支持!

 

Exit



Access软件网交流QQ群(群号:198465573)
 
 相关文章
快速开发平台--使用快速开发平台自动升级功能升级到新版本的步骤\快...  【麥田  2014/12/20】
[经验分享]快速平台升级,是/否类型字段升级到SQL变为BIT型对...  【王三平  2015/3/16】
Access开发平台--客户端自动更新功能详解\客户端自动升级步骤  【易勋  2015/4/16】
平台升级后续事项  【xull  2016/4/9】
将Access开发平台升级为AccessS2013数据库格式的方法  【爱好  2017/8/17】
Access快速开发平台--客户端点UPDATE升级后,发现没有压...  【祝康胜  2018/1/16】
局域网系统升级改进版  【凯凯  2018/6/12】
常见问答
技术分类
相关资源
文章搜索
关于作者

lmqlt

文章分类

文章存档

友情链接