Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access开发平台

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

时 间:2018-06-22 11:45:34
作 者:lmqlt   ID:18637  城市:广州
摘 要:采用后台升级程序方式,增强用户使用体验。
正 文:

      最近在开发单位信息系统,体会到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群 (群号:321554481)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助