我有一个与MySql服务器通信的前端Access 2007应用程序。
我想要一个功能,用户计算机上的应用程序可以检测到网络上有新版本(这并不困难),并将最新版本下载到本地驱动器并启动它。
是否有人知道如何做到这一点?
由于
答案 0 :(得分:5)
您确实需要以确定是否有更新的版本?
我们也有类似的设置,我们只需复制前端和所有相关文件每次有人启动应用程序。
我们的用户无法启动Access或前端本身。他们实际上启动了一个类似于这样的批处理文件:
@echo off
xcopy x:\soft\frontend.mde c:\app\ /Y
c:\app\frontend.mde
当我们开始编写应用程序时,我们也考虑了自动更新,并决定每次复制所有内容就足够了。
我们有足够的带宽,因此复制不会产生任何性能问题(约有200个用户)。
另外,作为开发人员,当我确信每次启动应用程序时,无论如何都会覆盖前端,这对我来说更容易。 我不必关心前端关闭时自动压缩前端(并且用户抱怨关闭应用程序需要太长时间......),而且我不必在崩溃后处理损坏的前端。
@Lumis - 关于自定义图标:
好吧,也许我应该更明确地说明这一点。只有一个批处理文件,它与前端位于同一个网络文件夹中。
用户只需在桌面上有链接,这些链接都指向网络文件夹中的同一个批处理文件
这意味着:
(顺便说一句,我们做了不更改图标。我们的应用仅供内部使用,我在一家制造公司工作,这意味着除了极少数用户绝对不是技术性的,对图标也不在乎,只要它在所有机器上都是一样的,并且他们知道它的样子,以便他们可以在桌面上快速找到它......) < / p>
答案 1 :(得分:2)
Tony Toews有一个:Access Auto FE Updater
它似乎是免费的,但我不是百分百肯定。
答案 2 :(得分:0)
Lumis的选项很可靠,但是如果您想检查版本并且仅在数据库是新版本时复制数据库,请使用&#39;版本&#39;后端表中的字段和版本&#39;在前端模块中保持不变。使这些与每个新的生产版本保持同步。当前端数据库的主窗体打开时,将表版本与模块中的版本进行比较。
如果它们不匹配,请关闭数据库,但让数据库调用批处理文件作为要关闭时运行的最后一段代码。数据库应在批处理文件开始复制过程之前完成关闭。如果需要,请在批处理文件代码中稍加延迟,以确保没有文件锁定问题。