Hello All!
Does anyone know how to list all the paths to one or several (if they exist) versions of msaccess.exe on a PC. I'm using VB2005 and have a project with an Access backend that contains reports which are called at various points. These need to be opened with the correct Access version.

A client pc may have Access 97, Access 2000, Access2003 plus maybe also runtime versions with any combination of these and I need to identify the different versions in order to use the correct one (Access 2003 or Access 2003 RT).

thanks
Waldek

Recommended Answers

All 5 Replies

Navigate to the base registry key HKEY_LOCAL_MACHINE and subkey SOFTWARE/Classes using the Sysytem.Windows.Forms.Application.CommonAppDataregistry (OpenBaseKey/OpenSubkey) or the Microsoft.Win32.Registry.Localmachine OpenSubKey.

For each existing version you will find a subkey like Access.Application.x (where x means the version number: 12 => 2007)

If the version was installed, you should find a subkey like /shell/open/command having a default value pointing to the executable path for the version.

Hope this helps

Thanks Lolafuertes,
Will try checks but am sure this is what I need.
Waldek

Please, let us know if this solved your problem or found a better solution.

Thanks in advance

LolaFuertes,
Yes, it helped me to find the path and version being used so its definately a solution to the question I posed. Many thanks for your help.

As nearly always, though, solving one issue reveals another. If Access 2000 is already on the client PC I deploy onto, as well as access 2003 RT being loaded during deployment, after opening 2003 there are problems in opening other existing access 2000 databases on the client. I get a message saying that whichever access version I'm switching to is being configured. It seems you cant have more than 1 version of access in use at the same time. Installing another seems to make it the default version.

I think I will need to create a Primary Interop Assembly for Access 2000 and create a solution with just that for access 2000 users and use my existing solution for access 2003 users. I read something on that a while ago.
Thanks
Waldek

Tx for the feedback. Please be so kind to mark this thread as solved.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.