检查用户是否将正确的 Access 版本设置为默认

Check if the user has correct version of Access set as default

我已经从Access 2016创建了访问前端ACCDR。为了让用户使用这个文件,用户需要安装Access runtime 2016。

我的大多数用户已经安装了 MS Office 2007 或 2010。因此,当用户在安装 Access runtime 2016 后尝试打开 ACCRD 文件时。他们仍然会收到错误消息,因为他们使用旧版本的 Access(又名 2010)而不是 2016 版本打开文件。

我的问题:

如何检查用户是否将正确的 Access 版本设置为默认版本?我愿意花钱买一个检查这个的软件。我也可以编辑注册表(如果有)或导入注册表(如果有)。

[ACCDR 文件是通过重命名 ACCDE(访问编译文件)创建的]。

最好的方法是在启动进程后立即查询 COM 并采取相应措施。

如果您还没有访问进程 运行,只需启动一个,查询它,然后在您刚刚调用的进程中执行操作。

   Microsoft.Office.Interop.Access.Application _accessApp = new Microsoft.Office.Interop.Access.Application();
   string version = _accessApp.Version;       

将版本字符串与 Microsoft 的版本历史记录进行匹配: https://en.wikipedia.org/wiki/History_of_Microsoft_Office

对于 Office 2016,您要查找的字符串是 16.0


另一种方法是通过注册表检查办公室的 GUID 并将其与已知的办公室指南进行比较(它们不是随机的)。

https://superuser.com/questions/1140114/how-to-detect-microsoft-office-version-name

您可以直接阅读版本

Version = Application.Version

应该return“16.0”。如果没有,则向用户弹出消息以使用 Access 2016 打开。

更好的是,为用户提供一个快捷方式,以使用运行时打开您的应用程序。