Мы используем Microsoft Access для определенных функций базы данных, и, как многие из вас уже знают, база данных Access может быть очень сварливой при обращении к устаревшей версии Access. Чтобы контролировать это, у меня есть устройство, которое может отслеживать номера версий и при необходимости обновлять устаревшие версии. Я заметил нечто странное, что происходит на всех моих рабочих станциях.
На рабочем месте, если я бегу wmic а затем запустите следующее:
product get name, version
Он показывает следующую информацию о версии:
Name Version:
Microsoft Office Access MUI (English) 2010 14.0.6029.1000
Но когда я открываю Microsoft Access и перехожу в Файл-> Справка он показывает версию:
Version:14.0.6112.5000
Я знаю, что номер версии, отображаемый в Access, правильный, а номер версии отображается в wmic это неверно. Это происходит как на машинах с Windows 7, так и XP. Есть ли способ обновить WMI, поскольку я полагаюсь на эту информацию для управления версиями? Почему отображается такая старая версия, хотя она была обновлена?
РЕДАКТИРОВАТЬ1:
Когда я смотрю на версию MSACCESS.exe, она показывает 14.0.6024.1000
, что является еще более старой версией доступа! Где именно WMIC ищет номер версии? Это ключ реестра, который можно редактировать?
РЕДАКТИРОВАТЬ2:
Я обнаружил, что номер версии на HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Userdata\userSID\00004109510090400000000000F01FEC\DisplayVersion
похоже, это то место, откуда WMIC берет свой номер версии, что имеет смысл. Где Доступ-> Файл-> Справка меню вытащить номер версии оттуда? Смотрит ли он на эти данные последний пакет обновлений exe?
Я обнаружил что Доступ-> Файл-> Справка находит номер своей версии из C:\Program Files\Common Files\microsoft shared\OFFICE14\MSO.dll
. Поэтому всякий раз, когда Microsoft Office обновляет, он обновляет номер версии этого файла, но не запись в реестре, указанную выше. Невозможно заставить WMIC прочитать правильную версию Access без изменения ключа реестра, указанного выше, вручную.
какой результат вы получите, если сделаете следующее
get-itemproperty "HKLM: \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ *" | ft displayname, displayversion