How to distribute an Access app? (1 Viewer)

Libre

been around a little
Local time
, 18:10
Joined
May 3, 2007
Messages
663
Hello and thanks in advance for any input. I'm about to deploy an Access db I've been working on for months.
I'm an independent developer and I've been as I say developing this huge application for months. There will be a front end and a back end. I'm almost ready to go with it - at least the first beta version - but my question is, how would you secure it?
What I found is there's Runtime Mode which I looked at and it does prevent any design mode views or code windows. I don't really like the red bar at the top but I can live with it. Aesthetics are very important in my applications. The other method is create an executable accde file. Here, however, I find I'm able to get the navigation pane, see the tables and queries, go into design mode. That surprised me.
What do you do? Previously, I've worked in companies and always had the original accdb - distribution wasn't a big issue. I've used the accde but again - the tables and queries etc are visible. The toolbar is there. Here, as I said, I'm selling a product. I don't want the user to ever see a code window or be in design mode.
 
I don't want the user to ever see a code window or be in design mode.
Test your accde file and make sure you have good error handling

how would you secure it?
I would worry more about the previous point, add some login form to serve as the only security before making things more complicated, once you see the product is viable and will grant you sales, migrate it to a secure platform if security is vital

I find I'm able to get the navigation pane, see the tables and queries, go into design mode.
Hide the app, show only forms

Users won't want to deal with hard setups, so I suggest you automate the installation and updates.
 
You can always hide the tables, queries etc in the navigation pane and you can hide the navigation pane also restrict allowing any keyboard method to show the navigation pane as well as using right mouse button. There are additional options to restrict anyone wanting to share (possible share in a company/organisation) without a deployment exe command which can include how many users can access the DB as well as administrative options. And notifying you if they looked to add additional users etc.

I think you've done a really good job on the creation of its potential and distribution to your target audience.

I'm sure others can add to my reply.
 
You can always hide the tables, queries etc in the navigation pane and you can hide the navigation pane also restrict allowing any keyboard method to show the navigation pane as well as using right mouse button. There are additional options to restrict anyone wanting to share (possible share in a company/organisation) without a deployment exe command which can include how many users can access the DB as well as administrative options. And notifying you if they looked to add additional users etc.

I think you've done a really good job on the creation of its potential and distribution to your target audience.

I'm sure others can add to my reply.
Thank you and above you for the comments.
Yes - I've turned off Navigation and Toolbar. Once I saved as accde the toolbar is gone but the nav pane pops up with good ole F11 - which I rely on heavily usually. But even though the nav pane comes up, there's no design mode which is a BIG relief.
HOWEVER the modules are there and dbl clicking brings up my code.
Is there a way that I can hide those modules? I do a lot of coding there.
Oh of course - select them and choose "hidden" I guess. Duh.
 
If I make an accde and try and go into the VBE window, I can see the modules, but cannot view/change them? :unsure:

1730413600234.png
 
There are several additional things you can do to make your ACCDE file more secure.
Have a look at my article on improving Access security for several suggestions to choose from:


I would also recommend you distribute your FE / BE using a professional installer app. This will make the installation process very straightforward for end users and also allow you to do things like ensure the install location is trusted automatically.
 
users can still see hidden objects simply by going into file>options>current database>navigation options

changing the file extension to .accdr will put the app into 'runtime' mode (no nav window, limited ribbon) but this will mean shortcut menus are also disabled. May not matter in your app, but if you expect users to rely on them, you will need to write your own - and of course there is nothing to stop users changing the file extension back again.

With a .,accde, users cannot go to design view for forms/reports/modules, but they can still do so for tables and queries. I assume your tables are in a password protected BE file. You can move your queries there as well with consideration for how you would pass parameters. Users can still view the design but not make changes.

Better still, don't have linked tables (or queries), instead when the app opens, the first lines of code would be something like.

if BE is nothing set BE = opendatabase "BEName", "Password"

where BE is a public object in a standard module
Publie BE as dao.database

to populate a form, instead of specifying a controlsource you would have code in the load event

set recordset=BE.somequery
 

Users who are viewing this thread

Back
Top Bottom