2

We use Microsoft Access for certain database functions and as most of you already know an Access database can be very grumpy when accessed by an outdated version of Access. In order to control this I have an appliance that can track version number's and update outdated verions if need be. I noted something strange that is happening on all of my workstations.

On a work station if I run wmic and then run the following:

product get name, version

It shows the following version info:

Name                                                 Version:
Microsoft Office Access MUI (English) 2010           14.0.6029.1000

Yet when I open Microsoft Access and go to File->Help it shows version:

Version:14.0.6112.5000

I know the version number that is showing up in Access is correct and the one showing up in wmic is incorrect. This is happening both on Windows 7 and XP machines. Is there a way for me to update the WMI since I rely on that info for version control? Why is it showing such an old version even though it has been updated?

EDIT1:

When I look at the version of MSACCESS.exe it shows 14.0.6024.1000, which is an even older version of access! Where exactly is WMIC looking for the version number? Is it a registry key that can be edited?

EDIT2:

I have found that the version number at HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Userdata\userSID\00004109510090400000000000F01FEC\DisplayVersion seems to be where WMIC is pulling it's verison number from, which makes sense. Where does the Access->File->Help menu pull the version number from then? Does it look at the latest service pack exe for this data?

  • overall this ends up being a good question, I'm thinking its one of the many office dll's but I don't know which one. – tony roth Jan 06 '12 at 14:57
  • wonder if using the version (not the display version) info located at that reg key would be more appropriate? – tony roth Jan 06 '12 at 15:12
  • if you had procmon you could see which key wmic is using, but I'm quite sure its the regkey listed below. – tony roth Jan 06 '12 at 19:56

2 Answers2

0

what result do you get if you do the following

get-itemproperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" | ft displayname, displayversion

tony roth
  • 3,844
  • 17
  • 14
  • When I try to run that command in wmic I get: `get - Alias not found.` I am pretty new to wmic so I am not sure if I am doing it wrong. –  Jan 04 '12 at 17:51
  • oops sorry are you on a windows 7 machine if so run this within powershell with an elevated prompt. – tony roth Jan 04 '12 at 17:54
  • I have ran this on powershell with administrator rights and I get no output from the command. –  Jan 04 '12 at 17:57
  • get-itemproperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" | ft displayname, displayversion – tony roth Jan 04 '12 at 18:38
  • ah crap serverfault is removing the last backslash! so just prior to the * add a backslash – tony roth Jan 04 '12 at 18:39
  • ok corrected the original post – tony roth Jan 04 '12 at 18:40
  • OK, I ran the command at it shows the version number for Access to be `14.0.6029.1000` which is the incorrect version. –  Jan 04 '12 at 18:42
  • I'd look at the actual .exe file for access and check its version. – tony roth Jan 04 '12 at 18:51
  • Checking the file version of the .exe it shows: `14.0.6024.1000`, so an even older version than what wmic is showing. –  Jan 04 '12 at 19:01
0

I have found that Access->File->Help finds its version number from C:\Program Files\Common Files\microsoft shared\OFFICE14\MSO.dll. So whenever Microsoft Office updates it updates this file's version number but not the registry entry noted above. There is no viable way of getting WMIC to read the correct Access version without changing the registry key listed above manually.