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)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)
- 最精简的组合框行来源数据快速输入(...(10.25)