我们使用 Microsoft Access 来实现某些数据库功能,大多数人都知道,使用旧版本的 Access 访问 Access 数据库时,其性能会非常不稳定。为了控制这种情况,我使用了一个可以跟踪版本号并在必要时更新旧版本的设备。我注意到我的所有工作站都出现了一些奇怪的情况。
在工作站上如果我运行西米克然后运行以下命令:
product get name, version
它显示以下版本信息:
Name Version:
Microsoft Office Access MUI (English) 2010 14.0.6029.1000
但是当我打开 Microsoft Access 并转到文件->帮助显示版本:
Version:14.0.6112.5000
我知道 Access 中显示的版本号是正确的,并且西米克是不正确的。Windows 7 和 XP 机器上都发生了这种情况。我有没有办法更新 WMI,因为我依赖该信息进行版本控制?为什么即使已经更新,它仍显示如此旧的版本?
编辑1:
当我查看 MSACCESS.exe 的版本时,它显示14.0.6024.1000
,这是更旧版本的 Access!WMIC 究竟在哪里寻找版本号?它是一个可以编辑的注册表项吗?
编辑2:
我发现,版本号HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Userdata\userSID\00004109510090400000000000F01FEC\DisplayVersion
似乎是 WMIC 从中获取版本号的地方,这很合理。访问->文件->帮助菜单从那里提取版本号?它是否查看最新的服务包 exe 以获取此数据?
答案1
如果你执行以下操作,你会得到什么结果
获取 itemproperty “HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*” | ft displayname,displayversion
答案2
我发现访问->文件->帮助从中找到其版本号C:\Program Files\Common Files\microsoft shared\OFFICE14\MSO.dll
。因此,每当 Microsoft Office 更新时,它都会更新此文件的版本号,但不会更新上面提到的注册表项。如果不手动更改上面列出的注册表项,就没有可行的方法让 WMIC 读取正确的 Access 版本。