Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2011-02-13
13
Medium Priority
?
595 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 2000 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
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
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 2000 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 2000 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

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

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

The Windows Phone Theme Colours is a tight, powerful, and well balanced palette. This tiny Access application makes it a snap to select and pick a value. And it doubles as an intro to implementing WithEvents, one of Access' hidden gems.
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

722 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