是否可以在不签署项目的情况下禁止MS Access“安全警告”提示?

时间:2011-02-16 20:24:07

标签: vba ms-access security-warning

后台:我的一位同事有一个用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。

2 个答案:

答案 0 :(得分:2)

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

在注册表中设置SecurityLevel,通过命令行运行mdb,重置注册表。 根:HKCU;子项:SOFTWARE \ Microsoft \ Office \ 11.0 \ Access \ Security; ValueType:dword; ValueName:等级; ValueData:1;检查:IsAccInstalled('11 .0');标志:dontcreatekey 等级1 =低,无动作; 2 =(默认)中,提示; 3 =高,拒绝?

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

答案 1 :(得分:-1)

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