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源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)