如何区分 MS Access 完整版和 Access 运行时

Posted

技术标签:

【中文标题】如何区分 MS Access 完整版和 Access 运行时【英文标题】:How to distiguish between MS Access Fullversion with Access Run-Time 【发布时间】:2009-07-27 09:16:53 【问题描述】:

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

问题:

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

解决方案:

只需要完整版的 MS Access。

建议:

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

是否可以在安装工具时使用 Run-Time 识别 MS Access 完整版?

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

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

谢谢。

【问题讨论】:

【参考方案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

【讨论】:

请注意 if syscmd() 将不起作用,因为他说他们正在使用 vb.net。

以上是关于如何区分 MS Access 完整版和 Access 运行时的主要内容,如果未能解决你的问题,请参考以下文章

我可以在后端使用 MS-Access 而不是 MYSQL

MS ACCESS 过滤器组合框所有选项

MS Access + Postgres 口音/不区分大小写的可编辑过滤器

指纹验证完整版处理小结

Dos命令大全完整版

.netcore consul实现服务注册与发现-集群完整版