Question

While opening any MS Access database, a security warning appears saying that the file can be harmful to the computer. However, is there a way to remove this message. Or should it remain a necessary evil

Was it helpful?

Solution

You can probably sign your program. I don't know for sure. Read this article and see if the same principle applies.

OTHER TIPS

If you lower the security settings in your Access options it will go away I believe. Of course those settings are set where they are for a reason.

Here are some more notes on certification and security.

Certification, including self-certification: http://office.microsoft.com/en-us/access/HP010397921033.aspx

General information on security principals for Office code and macro security: http://office.microsoft.com/en-us/ork2003/CH011480831033.aspx

Trusted location defaults for Office 2003 http://office.microsoft.com/en-us/ork2003/HA011403181033.aspx?pid=CH011480851033

Macro security in Office 2003 http://office.microsoft.com/en-us/ork2003/HA011403071033.aspx?pid=CH011480831033

You can eliminate the security warning at the startup of a ms-access project by putting the access project in a Trusted Location. Or Better yet, make your own Trusted Location.

I recommend creating a folder in the System (C) drive with the name of your project. For example, we could call the folder Database (Path: C:\Database)

Then enter this path as a registry key like this:

[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location20] "Path"="C:\Database" "Description"="Access Project location"

Now lets explain a few things about what this key did:

  • The number "14.0" is the version of MS Office. You can simply change that to the number that represents the version you are running.
  • The "Location20" is a unique name that we assigned. The 20 can be any number that is not already used. Other programs, including default MS Access wizards, already may have used other numbers. Or if you want to make more then one path as a trusted location, then each location must end with a different number.
  • The "C:\Database\" actually is the physical path that you want to set to be a Trusted Location. You can put any path that you choose here. I am not sure why it uses double \, but I just copied the example of how the previous keys were set up and this seemed to work best.
  • The Description is not needed, but obviously any description can be used.

For more details on how to make Trusted Locations work for your MS Access project, read our detailed explanation here: http://blog.ideaz.net/2013/12/how-to-remove-microsoft-access-security.html

Here's my notes from a similar, internal issue with Access 2003 a few years back:

Okay, so here's (evidently) the deal.

  • The network server was not in the Trusted Zone. Starting, IIRC, with SP2, this causes a Open/Save/Warning box when opening a file. By default, UNC paths are supposed to be in the Trusted Zone. I'm not sure why it wasn't, but here's the fix: Add server.dns and server to Internet Options->Security Zones->Local Intranet.
  • Unsafe Expressions Are Not Blocked. This is some ridiculously overcomplicated Access security model (Google for unsafe expressions and Access Sandbox Mode for more). Basically, Access (starting with 2003 and/or Jet 4.0 SP8, I think) warns you if a registry key is not set to disallow "unsafe expressions". The fix: Set HKLM\Software\Microsoft\Jet\4.0\Engines\SandBoxMode to 3, which blocks "unsafe expressions" for anything using Jet. This has to be done by an Administrator. Alternatively, I think that answering "Yes" to the Block Unsafe Expressions prompt as Administrator sets that key for you.
  • This file may not be safe to open. This is an easy one, and follows the whole macro security model in Office. Just set the Tools->Macro->Security (don't look in the Tools->Security menu...that'd be too obvious) to Low.
BTW, I still have no idea what an "unsafe expression" is - nor why it continually asks to upgrade to Jet 4.0 SP8 when it already has been (I verified that it was updated by checking the file versions). But with those changes, it no longer asks anything when starting up. --MB

  1. In Control Panel, click 'Internet Options'.
  2. In the 'Internet Properties' popup, select the 'Security' tab.
    • Select 'Local Intranet' zone.
    • Click 'Sites' button.
    • In the 'Local Intranet' popup, clear the "Automatically detect..." checkbox and set the following checkboxes:
      • "Include all local (Intranet) sites not listed in other zones"
      • "Include all network paths (UNCs)"
    • 'OK'.
  3. 'OK'.

Now all Access dbs anywhere on your Intranet or any referenced by a UNC will open immediately without warning. You assess the convenience/security tradeoff.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top