如何更新MS Access 2007的前端

Nit*_*ita 3 ms-access

我能够分割数据库并使用包装解决方案来分发前端.我测试了它的exe文件,它工作正常.现在我正在更新表单,我无法找到一种更新前端(后端在服务器上)的方法,而不会通过新软件包的新安装.我在完成打包数据库的过程中创建了模板文件.

我发现这个网站,但害怕解压缩文件.有没有人使用这个工具? http://www.btabdevelopment.com/ts/freetools 谢谢

Ren*_*uis 5

一些现有的工具

以下是Access前端的部署工具列表:

你列出的那个也可以帮忙.

有关部署的更多信息

问题是没有单一的方法来更新Access应用程序.
正如您所发现的那样,打包工具很不错,但它们并没有真正处理部署软件中最重要,最复杂的部分:如何更新现有安装?

Access在这里没有好故事,因此有许多自定义解决方案,每个解决方案都有其缺陷和优势.

你是对的,无论如何,你必须将包含表格的后端数据库与前端分开,包含代码,表单和报告.必须为每个用户部署前端:规则是前端仅供单个用户使用.

什么是一个好的更新程序

那么,在一个好的更新故事中你想要的特征是什么:

  • 用户不必做任何事情:您希望用户在自动生成前尽快获得前端的新版本.
    这可能意味着您的前端可以检查远程文件夹上是否有新版本,然后才允许用户登录或加注任何工作.
    如果版本可用,则会获取并部署该版本.

  • 有时,因为您的开发环境可能与用户的环境(不同的服务器名称,不同的共享文件夹等)不同,您可能还需要将前端的表重新链接到后端的正确路径.部署.

我用于部署的内容

几年来,我已经完善了我自己的系统,无需缝合.

  • 当用户单击应用程序图标时,将启动一个小型启动器应用程序,而不是直接启动应用程序.
    我使用的启动器是一个简单的Click-Once应用程序(因此它可以自动更新),用.Net编写.

  • 启动程序负责确保主应用程序仅运行一次,以及在更新可用时检查和部署新版本(或降级它们).

  • 更新只是打包成zip文件,其中包含新更新所需的所有文件.
    该文件的名称包含版本号,就像myAppFE-2013-08-01.zip按名称对客户端软件包列表进行排序一样,可以轻松选择最新的软件包.
    所有这些前端程序包都存储在服务器上的共享文件夹中,例如,如果我的后端数据库所在\\myServer\myApp\DB,则可以保留前端程序包\\myServer\myApp\FE.

  • 当启动程序检测到新程序包可用时,它将删除用户计算机上前端的现有文件夹,并在其中解压缩新程序包.

  • 一旦启动器完成其任务,它就会启动应用程序前端.

  • 当应用程序前端第一次启动时,如果表指向错误的位置,它可以执行更多检查以重新链接表.

笔记

  • 检测新包的另一种方法是在服务器上保留一个包含最新包的文件名的小文本文件.
    每当前端启动时,它都可以检查它运行的包名是否与文件中列出的包名相同.如果没有,则需要升级/降级.

  • 此解决方案的一个优点是,一旦安装了Access Runtime,用户就可以在计算机上的普通用户会话中运行,而无需管理员权限:click-once启动器不需要任何管理员权限,如果您部署了访问用户%APPDATA%文件夹下的前端,根本不需要提升权限来更新前端.

  • 第一次部署时,启动器还应负责将前端文件夹的位置注册为受信任位置,以便Access允许它在不禁用VBA /宏的情况下运行.
    这些只是一组您可以轻松添加的注册表项HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\(确切的注册表项取决于您的Office版本以及您是使用32位还是64位系统).