如何区分MS Access完整版和Access Run-Time

时间:2009-07-27 09:16:54

标签: vb.net ms-access

我的应用程序是为了在vb.net 2005中扫描MS Access数据库而构建的。

问题:

MS Access DB在系统中也安装了Access Run-Time(但没有完整版的MS Access)时打开。但是在扫描我们的工具时显示错误。

解决方案:

只需要完整版的MS Access。

建议:

要确定是否在安装我们的工具(通过MSI)时安装了所需的应用程序(例如我们需要MS Access完整版)。

安装工具时是否可以使用运行时识别MS Access完整版?

据我所知,可以在安装时识别应用程序及其版本。

有人可以建议我是否可能,如果是,那么请提供一些有用的参考或链接。

谢谢。

1 个答案:

答案 0 :(得分:1)

由于您要求在安装过程中进行测试,因此最简单的答案是查询注册表。在Access 2007之前,Access Run Time有一个特定的密钥,但是在2007年,您需要检查Office注册表层次结构的Installed Packages路径。

以下是Access 2007 Runtime的关键:

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

这是Access 2007的关键:

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

如果您以后想要重新验证设置是否仍然符合您的需要,请尝试以下操作:

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