1

背景:我的一位同事有一个用 VBA 编写的项目,使用 MS Access 2003 Run-time 作为 MSSQL 数据库的前端。这是一个内部项目,供在 Server 2008 R2 机器上的终端会话中操作的多个用户使用。

问题:每次打开 Access 项目时,都会向用户显示安全警告:

如果此文件包含旨在损害您的计算机的代码,则该文件可能不安全。

他们可以选择取消或打开。用户希望能够跳过此提示。

由于未安装完整版 Access,用户无法更改其个人安全级别,并且无法使用 selfcert.exe 证书对 VBA 项目进行签名。(我不确定它是否适用于多个用户?)。

理想的解决方法: 我希望有 GPO 或注册表项可以更改 Access Runtime 的安全设置,但我愿意接受其他建议。我确信可以通过购买完整版 Access 的许可证和来自批准的 CA 的证书来解决这个问题,但是这个项目没有任何预算。

更新:已确认将这个项目放在一起的人是在 Access 2003 中完成的,并且不想重新测试 Access 2007/2010 运行时。所以我们坚持使用 2003 Runtime。

4

2 回答 2

2

很晚的答案,但它可能会帮助某人。有一种方法可以做到这一点。我为我的 Access 应用程序创建了一个 shell(最初只是为了自动更新我的应用程序),并且在此期间发现您可以完全解决 Access 2003 安全性(以及 Remou 的受信任位置的 2007 等)。

在注册表中设置 SecurityLevel,通过命令行运行 mdb,重置注册表。词根:香港中文大学;子项:SOFTWARE\Microsoft\Office\11.0\Access\Security;值类型:双字;值名称:级别;价值数据:1;检查: IsAccInstalled('11.0'); 标志:dontcreatekey 级别 1 = 低,无操作;2 =(默认)中,提示;3 = 高,拒绝?

您还可以使用 COM 运行 mdb,在打开 mdb 之前通过 COM 设置 SecurityLevel。但是 COM 不适用于运行时(并且您以后无法根据需要通过唯一的命令行识别操作系统进程)

于 2013-03-28T02:53:40.443 回答
-1

回答这个只是说不,似乎没有办法在没有实际签署项目的情况下避免 Access 2003 Runtime 的安全警告。

于 2011-11-13T01:20:56.237 回答