Как определить, работает ли на компьютере XP с пакетом обновления 3 - PullRequest
5 голосов
/ 14 мая 2009

Использование реестра или файловой системы. Причина ограничения заключается в том, что я делаю это как условный оператор MSI.

Ура!

Ответы [ 5 ]

5 голосов
/ 14 мая 2009

в разделе реестра

HKLM \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion

искать пару ключей:

CurrentVersion = Microsoft Windows NT 5.1.2600 с пакетом обновления 3

4 голосов
/ 14 мая 2009

Вы должны найти достаточно информации для определения пакета обновления ОС (в худшем случае вы всегда можете использовать строку сборки) в следующем разделе реестра:


HKLM\Software\Microsoft\Windows NT\CurrentVersion
2 голосов
/ 04 июля 2009

Если вы используете MSI, вы сможете использовать свойства VersionNT и ServicePackLevel прямо в условном выражении.

например. Следующий код проверяет наличие Windows XP sp3 или выше:

VersionNT=501 And ServicePackLevel>2

Вы также можете проверить свойство WindowsBuild , если вам также нужен номер сборки.

1 голос
/ 14 мая 2009

Функция VerifyVersionInfo должна позволить вам проверить, какая версия Windows соответствует требованиям вашего приложения, без ошибок, которые могут возникнуть при проверке точной версии с GetVersionEx (например как серьезные изменения в версии - ваше приложение, скорее всего, будет работать в Vista и Windows 7, а будущие версии еще не разработаны).

0 голосов
/ 01 декабря 2016

«Выполнить» (клавиша Windows + r или запуск / запуск) msinfo32 или sysdm.cpl

...