.net – How to distiguish between MS Access Fullversion with Access Run-Time

ms-accessvb.net

My application is built to scan MS Access database in vb.net 2005.

Problem:

MS Access DB is opening when Access Run-Time (But no Full version of MS Access) is installed in the system as well. But showing error while scanning through our Tool.

Solution:

Need only Full version of MS Access.

Suggestion:

To Identify, whether the required application (like here we need MS Access Full version) is installed or not at the time of installing our Tool(Through MSI).

Is it possible to identify MS Access Full version with Run-Time while installing the Tool?

As per my knowledge it is possible to identify the application along with its version while installing.

Could anyone suggest me is it possible or not, if yes then please provide me some useful reference or links.

Thank you.

Best Answer

Since you are asking for an answer that tests during your install process, the simplest answer is to query the registry. Prior to Access 2007 there was a specific key for Access Run Time, but it seems that with 2007 you need to check the Installed Packages path of the Office registry hierarchy.

Here's the key for Access 2007 Runtime:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common
\InstalledPackages\90120000-001C-0409-0000-0000000FF1CE

And here's the key for Access 2007:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Common\
InstalledPackages\90120000-0015-0409-0000-0000000FF1CE

If you later want to re-verify that the setup remains as you want/need it, then try this:

IF SysCmd(acSysCmdRuntime) = true THEN
  ...
END IF