Add or change module kills my app in Runtime? Sagekey Security

T

Tony Vrolyk

I am killing myself trying to determine what is wrong with my app. I have a
fairly large Access program that I sell to the public. I am using Office XP
Dev and distribute the app as an MDE with the Access Runtime which is
insatlled using the Sagekey MSI installation scripts.

I also use the SageKey Security program which is basically an OCX file and a
couple supporting DLLS that allow you to somewhat secure the program from
piracy. As I have it setup it installs in a 15 day demo. To unlock requires
the user must send me a computer fingerprint that the Sagekey OCX generates
which I use to generate an unlock code to send back which removes the demo
period.

It has worked beautifully so far. I am working on an update to my program
and have found that adding any modules to my app causes it to fail under
Access Runtime. It runs fine an my PC as an MDB or MDE where I am running it
with the full version of Access but it fails when run as an MDE on a PC
running only Access Runtime. Specifically is returns a Type Mismatch when
first using the Set statement to setup the security module.

Here is what I have done to troubleshoot the problem
Going back to a previous version and recreating the MDE and verify it
works - it does
I delete a module from that version and recreate the MDE and test - it
works
I reimport that module from another copy, recreate MDE and test - it fails
Go back to clean previous copy, add dummy module that only has one line of
comments, recreate MDE and test - it fails
Go back to clean previous copy, merge contents of one module into another
and delete original (to reduce the numbef of modules), recreate MDE and
test - it fails
Deompile, compile, compact & repair has no effect
All references are good
Importing all objects from the clean version to a new MDB, create MDE -
fails

I guess that last point leads me to beleive there is something wrong with
the supposedly clean previous version. Something that allows it to run OK
but that gets corrupted or creates a conflict once the app is modified.

Any suggestions on where to start looking would be greatly appreciated.
Below are some specs on the app and a sample of the line where the Type
Mismatch error occurs.

Thanks
Tony Vrolyk


more below...

Here are some specs (from the clean copy before it goes berserk)
14 local tables
27 linked tables to an MDB located on the same PC in the same folder
75 queries
92 forms
82 reports
no pagse
no macros
25 modules
File size about 10MB as MDB
File size about 7 Mb as MDE
Linked MDB is under 5 MB


The beginning of the module where the error occurs looks like this
'------------------------
Option Compare Database
Option Explicit
Public SecurityControl As SagekeySecurity.SecurityCtrl

Public Function DefineSecurityParameters()
On Error GoTo Error_Handler
Set SecurityControl = CreateObject("SagekeySecurity.SecurityCtrl")

'etc etc
'------------------------
 
D

Douglas J. Steele

Does it make a difference if you use Late Binding: if you change that
initial declaration to

Public SecurityControl As Object

?

If not, my advice would be to contact SageKey.
 
T

Tony Vrolyk

That seems simple enough. I should have thought of it. But you know how when
you have been working on a problem for a while and the small things just
don't seem obvious.

Well at first try it appears to work except that other problems arise. I
will have to see if those are related or not but at first glance that
appears to have worked.

Thanks
Tony
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top