Solved

Need to sign and deploy an Access 2007 database *with* an installation wizard.

Posted on 2011-02-13
13
572 Views
Last Modified: 2012-05-11
I have developed a database application in Access 2007 for a client.  The client needs to be able to distribute this application in an install package to end users (paying customers) who may or may not have Access 2007 installed.  I've been using the Package Solution Wizard and it suits my needs fine, except for one issue.  We can't have the Access security alerts pop-up every time the user starts the application.

A signed certificate seemed the obvious solution; however, the ability to sign and distribute code in Access 2007 seems very limited (quite surprising to me).  I tried the "Package and Sign", but that just seems to create signed self-extracting zip file, which is entirely insufficient for my needs, and even when I click "Always trust this publisher", I still get the security alerts when running the extracted database.

It seems that I probably have no choice but to ditch the Package Solution Wizard entirely and use a third-party installation wizard.  I have limited experience with Inno Setup, but I've only done pretty plain-vanilla install scripts with it.

I need a packaging and distribution option that will allow the following:
Sign the application files so that when a user clicks "always trust", they are never prompted again when they start the application.
Set a desktop icon and start menu short cut.
Distribute multiple files in the package.
Easy to use installation wizard.
Include a EULA that must be agreed to, to install the application.

Thanks.
0
Comment
Question by:mlunsford
  • 7
  • 5
13 Comments
 
LVL 22

Expert Comment

by:Kelvin Sparks
ID: 34884520
The best package I know of is distrubuted by Sagekey - www.sagekey.com. They are generally accepted as the best available for Access.

Kelvin
0
 
LVL 21
ID: 34884568
I've been using the Package Solution Wizard and it suits my needs fine, except for one issue.  We can't have the Access security alerts pop-up every time the user starts the application.

Sounds like you are not having the P&D wizard create the trusted locations registry keys.

With Access 2007/2010 you do not need to sign the code. The new security model is to create a trusted location.


0
 
LVL 21

Accepted Solution

by:
Boyd (HiTechCoach) Trimmell, Microsoft Access MVP earned 500 total points
ID: 34884592
I would agree the SageKey is the industry leader.

I also use Inno (free tool). I have this sample script: Inno Installer Script (Like Sagekey)
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 1

Author Comment

by:mlunsford
ID: 34884593
Sounds like you are not having the P&D wizard create the trusted locations registry keys.

Can you tell me how to do this?
0
 
LVL 1

Author Comment

by:mlunsford
ID: 34884617
I just downloaded the SageKey 14 day trial to test it out.  I created an installer; however, when I try to run the installer it created on my Win7 VM, i get an error that it can't register a DLL.
0
 
LVL 21

Assisted Solution

by:Boyd (HiTechCoach) Trimmell, Microsoft Access MVP
Boyd (HiTechCoach) Trimmell, Microsoft Access MVP earned 500 total points
ID: 34884717
On  Page 3 of the Package Solution Wizard contains there is an option to add additional registry keys.


YOu might also want read this article I wrote here Access FAQs
*** there you will find a  link toDeploying Access 2007 Runtime-Based Solutions
0
 
LVL 1

Author Comment

by:mlunsford
ID: 34885345
Thanks for the link.  Is the registry modification considered a recommended practice?  Having a program trust itself seems a little odd.
0
 
LVL 21
ID: 34885475
Glad the link was helpful.

If someone   makes the choice to install a program are they not trusting it already?

Yes,  the registry modification is considered a recommended practice. Did you happen to read  Sagekey's page?

This is on Sagekey's Page: http://www.sagekey.com/installation_access.aspx

No digital signature
No macro security warnings and no need for a digital certificate. Your application will always be trusted so no annoying pop-ups.


0
 
LVL 1

Author Comment

by:mlunsford
ID: 34915635
I was able to test his out last night.  My app is installing to %localappdata%, so when I set the trusted locations via the registry key, I used that path variable; however, when it set the registry key, it actually set the location to "%localappdata" instead of resolving it.  Is there a way to set an OS-independent path key via the installer or will I have to set the trusted location the first time it runs via VBA?
0
 
LVL 1

Author Comment

by:mlunsford
ID: 34933483
Any thought on setting a relative path in the installer or whether it has to be done through VBA?
0
 
LVL 21

Assisted Solution

by:Boyd (HiTechCoach) Trimmell, Microsoft Access MVP
Boyd (HiTechCoach) Trimmell, Microsoft Access MVP earned 500 total points
ID: 34934051
mlunsford,

Are you making sure that you are log on as a use that has Admin rights before attempting  any install?

I have had good luck using this environment variable in all versions of Windows:  %appdata%

Note: %localappdata% is new starting in  Vista.


Which installer are you using?





0
 
LVL 1

Author Comment

by:mlunsford
ID: 34934195
TheHiTechCoach:  

Yes, I'm logged in as admin when installing.  I didn't realize that %localappdata% was new to Vista, I will most likely switch to %appdata% in that case, but I don't think that was causing my problem.  

I'm using the Access Package Solution Wizard (the limitations of this tool are quickly becoming quite apparent to me).  I've been using very simple Inno Setup scripts for updates to the main application (they simply install a new front end) and I'm strongly considering switching to it for initial installation, as well, but that will take some time to create and test the script (I appreciate the link to your script and the Inno Setup GUI tool, I'm looking over those) and the client is extremely anxious to get a product out the door.

What I attempted that didn't work was setting the path via the "Additional Registry Keys" section in Package Solution Wizard.  Here are the values I was using and the result I got:
Root: Current user
Key: Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\LocationA
Name: path
Value: %localappdata%\[App Name]\

What I got was a trusted location of "%localappdata%\[App Name]\" instead of the expanded version of %localappdata%.  This is on a Win7 machine.  What I'm trying as an intermediate solution is using WshShell to test the value of the key path and if it doesn't match the application path, I change it.  This is clearly a sub-optimal solution for many reasons (not least of which is it creates an additional reference), but if I can't get another solution that I can setup and test today (tomorrow at the latest), this is my current "get it out the door" solution.
0
 
LVL 1

Author Closing Comment

by:mlunsford
ID: 34935315
I finally confirmed that the VBA code I'm using is actually setting the correct trusted location.  I would still like to be able to have the key correctly set during installation, but that looks like it's going to take Inno Setup or another installer and I'll ask another question if I need help with that.

Unfortunately, it seems that adding the correct Tl was not my only problem (client is still getting the Microsoft Access Security Notice saying it can't determine if the content is trustworthy, etc) so I asked a new question here: http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_26834025.html
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question