I am developing an .accdb that I want to distribute as a runtime version
but I do not want anyone to be able to see any of the objects. From reading
the Runtime Based Solutions article from the MS website it appears to me
that the .accdr format will do this. However, it also appears that all
someone has to do is change the file extension from .accdr back to .accdb
and then they will be able to see all the objects.
In addition, I can hide all the objects in the .accdb but then all one has
to do is hold down the shift key while opening the database and it will
bypass all the startup options and make the database fully accessible. I am
developing a package that I hope to market and do not want someone to be
able to copy my program.
Also, from reading the posts on this newsgroup it appears that the A2007
runtime is not ready for Primetime. Is this correct and, if so, what is the
suggested alternative.
Any help would be appreciated.
Thanks,
J
George Nicholson - 24 Sep 2007 01:13 GMT
1) In earlier versions of Access, you could use a command-line switch to
open a mdb file in Runtime mode. It sounds to me like accdr is just a
variation of that concept. You are right in thinking that this extension is
easy to change and provides no security in and of itself.
Making a accde file out of your accdb is what you want to do. Code is
compiled, all design elements are locked. This does not necessarily 'hide'
objects (you still need to set your startup options to hide db window, etc,
to do that), but even if they weren't unhidden code-bearing objects (forms,
reports) within a accde can't be opened in design view, even
programatically. If you are marketing your effort then you'd be
distributing the Runtime engine with your app anyway. The only security
threat in that case would be users who already have Access Retail. They are
the only ones that would even be capable of making design changes to an
accdb file. Runtime users can't.
2) The shift key bypass can be turned off.
http://support.microsoft.com/kb/826765 is only one source of information on
the subject.
3) AFAIK there is no alternative to Access 2007 runtime if you want to
distribute an Access 2007 app to users without Access 2007.
***************
2 notes of caution: when making a accde file, be sure to keep the original
accdb in a safe place. That's the file that you'll need to make any future
revisions before making a new accde since accde's are not editable.
When implementing a "turn off bypass key" strategy, consider leaving
yourself a "back door" so *you* can get back in. Alternatively, be sure you
know how to restore the bypass key setting from an external db. My point
is: careful not to lock yourself out of your own app. That can be soooo
embarassing.
HTH,
>I am developing an .accdb that I want to distribute as a runtime version
>but I do not want anyone to be able to see any of the objects. From reading
[quoted text clipped - 17 lines]
> Thanks,
> J