我已经从Access 2016创建了访问前端ACCDR。为了让用户使用此文件,用户需要安装Access runtime 2016。
我的大多数用户已经安装了MS Office 2007或2010。因此,当用户尝试打开ACCRD文件时,在安装Access runtime 2016之后。他们仍然会在使用旧版本的Access(即2010)而不是2016版本打开文件时收到错误。
我的问题:
如何检查用户是否将正确版本的Access设置为默认值?我支付一个检查这个的软件我很好。我也可以编辑注册表(如果有的话)或导入注册表(如果有的话)。
[通过重命名ACCDE(访问编译文件)创建ACCDR文件]。
答案 0 :(得分:3)
您可以直接阅读版本:
Version = Application.Version
应该返回" 16.0"。如果没有,请使用Access 2016向用户弹出一条消息。
更好的是,为用户提供快捷方式,以便在运行时打开您的应用。
答案 1 :(得分:1)
最佳方法是在启动流程后立即查询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
for office 2016,您要查找的字符串为16.0
另一种方法是通过注册表检查办公室的GUID 并将其与已知的办公室指南进行比较(它们不是随机的)。
https://superuser.com/questions/1140114/how-to-detect-microsoft-office-version-name