Compile Access 2007 applications??

Richard McCabe

Registered User.
Local time
Today, 12:24
Joined
Mar 6, 2012
Messages
19
I have been reading a lot about Access Runtime and the problems that occur when a runtime application is installed on a machine that already has a full version of Access. There appears to be a major potential for problems here. Does anyone know of a program that can be used to create an .EXE type file for an access application that will eliminate all of these problems? The cost of the compiler program is not a major concern if it works!!!
 
Access 2007 uses accdb and accde files instead of mdb and mde files. I tried making and accde file, but MS Access was needed on the target computer to run the application. I found several articles that talk of a newer version of ACCESS Runtime disrupting an older full version of MS Access where it was installed.
Thanks,
Rich McCabe
rwmmc@juno.com
 
Regardless of whether you have an accdb or accde file, you can rename them to accdr to run them with Access Runtime (or Runtime mode if you have full Access installed).

The one major issue I have with compiling an accdb is that compatibility goes down, at least in runtime mode. For instance, I'm using Access 2007 SP2. If I save an accdb file, someone using Access 2007 SP0 can still run it without any known issues. The instant I compile it into an accde though, it errors on SP0.

I don't know of a program that converts Access to run as an EXE. I don't know if that's even possible considering what Access is. If you really want an EXE, you may have to re-write it, such as using VB.NET.

If you're concerned about installing a Runtime over a full Access installation, maybe you can consider converting your database to an older version. Then, you can have an installer that checks to see if Access is installed before installing the Runtime. Thus your situation will be something like this:
- If Access 2007 is installed, don't install runtime (Access 2007 will run older database versions)
- If Access 2007 runtime is installed, don't install runtime
- If Access 2003 is installed, don't install runtime
- If Access 2003 runtime is installed, don't install runtime
- If none of the above is true, install runtime

Although, you will have to check to see if anything stops working properly if you downgrade as obviously, 2007 has a lot of features and references that aren't available in older versions.
 
That will work. Now if there is no version of Access or Access Runtime on a computer does the owner need to download Runtime or what? Are there step by step instructions about how to do all this??
Richard McCabe
rwmmc@juno.com
 
Yes, if there is no installation of Access or Access Runtime, then it will need to be installed. For very small deployments, it might be easier just to check and install manually. Otherwise, I've heard SageKey is a commercial software that works well with creating Access application installers. I haven't used it before though, so I really don't have much else to say about it. There is also a free solution using Inno Installer. It requires some scripting, so it can be a bit challenging to use. There's a sample script for Inno that does pretty much what I mentioned:
http://www.hitechcoach.com/index.php?option=com_docman&task=cat_view&gid=45&Itemid=28
 
Take a look at the SageKey installer. I don't think it is smart enough to figure out if an appropriate version of Access is already installed but you can make two installs. One that includes the runtime engine and one that doesn't and have the user choose the correct one to install. Or, you can write your own code to determine the version of Access installed (if any) and run the correct install yourself. Of course you can't write this as "Access", you'll need to use VB.Net or VBScript.
 
It isn't just the version of Access that affects the ability to run a compiled database. The version of Windows can aslo be a problem. For example if it is compiled in Win7 it won't work in XP.

Having the XP virtual machine on your Win7 PC with an older version of Access installed can be a handy tool.
 
First create an autoexec macro, this macco's function is to start your application, then activate developpers options, then generate a run time package logical files linked to tables and of course the help files.

your code will take a .accdr suffixe

uninstall previous access runtime version, then install the package like any other package.

do this even

run it from the desktop
 
Galaxiom, I haven't had any problem with XP/Win7. My client-site PC has XP with service pack 3 and at home I have Win7. I haven't run into problems transferring databases. I do have a problem with XP though since it won't let me upgrade past the Office build that is currently installed and the build I'm using at the office has a bug that causes frequent corruption. To get around it, I added code to export all objects to text before the app closes if I am the one logged on.
 
if it is compiled in Win7 it won't work in XP

@Pat

I haven't had any problem with XP/Win7

Lucky you. I too had a mixed environment, and 2007 accde compiled under Win 7 would not run under XP
 
I don't know about Access 2007 compiled on different systems because we changed the development environment from Access 2007 on XP to Access 2010 on Windows 7. (BTW I only use mdb files.)

Databases compiled with Access 2010 on Win 7 will not run in Access 2010 runtime on XP machines. Same database works fine when compiled in Access 2007 on XP.
 
I was using A2010 and when Win XP would corrupt it, I would copy the .accdb to my laptop open it, close it without doing anything else, and copy it back. My laptop was running Win 7 and upto date with patches for Windows and Office. Win XP wouldn't update Office past service pack 1 so it was over a year behind with Office patches compared to my laptop.

I'm not saying that I recommend this. Microsoft doesn't support it and they don't support Win XP anymore so there will be no help from MS regarding issues.
 

Users who are viewing this thread

Back
Top Bottom