ВВЕДЕНИЕ
Установщик Windows предоставляет API-интерфейсы, которые позволяют пользователю запросить базу данных установщика Windows о присутствии определенного продукта. Каждый продукт однозначно определяется кодом продукта (GUID). В этой статье приводятся примеры кода, демонстрирующие способ программной проверки наличия продукта на базе установщика Windows с помощью его кода продукта.
Дополнительная информация
Вызов API в Visual C++
Ниже приведен пример того, как можно вызвать метод MsiGetProductInfoExW () в Visual C++, чтобы определить наличие определенного продукта. Продукт указан с помощью уникального идентификатора GUID кода продукта.
TCHAR szVersion[20];DWORD cchVersion = 20;BOOL fInstalled = (ERROR_SUCCESS == MsiGetProductInfoEx (TEXT("{ProductCode}"), NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, szVersion, &cchVersion));
В этом примере кода логическая переменная fInstalled содержит значение TRUE или FALSE в зависимости от того, установлен или не установлен продукт.
Вызов API из VBScript
В приведенном ниже примере показано, как можно вызвать метод ProductInfo () для объекта WindowsInstaller. Installer в сценарии Microsoft Visual Basic, чтобы определить присутствие определенного продукта. Продукт указан с помощью уникального идентификатора GUID кода продукта.
Dim msi : Set msi = CreateObject("WindowsInstaller.Installer")On Error Resume NextDim version : version = msi.ProductInfo("{ProductCode}", "VersionString")Dim installed : installed = ( Err.Number = 0 )
В следующем фрагменте кода установленная переменная содержит значение 0 или 1 в зависимости от того, установлен или не установлен продукт.Примечание. Свойство ProductCode , которое передается в функции в обоих примерах, включает фигурные скобки ({}) внутри кавычек. Дополнительные сведения об установщике Windows можно найти на веб-странице MSDN Installer Microsoft Windows:
http://msdn.microsoft.com/en-us/library/aa367449(VS.85).aspxДополнительные сведения о том, как получить последнюю версию установщика Windows для вашего компьютера, можно найти на веб-сайте корпорации Майкрософт по следующему адресу:
http://www.microsoft.com/download/details.aspx?familyid=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displaylang=en Дополнительные сведения можно найти на веб-страницах Майкрософт по следующим адресам:
-
Использование установщика Windows для инвентаризации продуктов и исправленийhttp://MSDN.Microsoft.com/en-US/Library/aa369558 (VS. 85). aspx
-
Определение контекста установкиhttp://MSDN.Microsoft.com/en-US/Library/aa368279 (VS. 85). aspx
-
Список продуктов, свойств, функций и компонентовhttp://MSDN.Microsoft.com/en-US/Library/aa369767 (VS. 85). aspx
-
Сбор сведений о приложенииhttp://MSDN.Microsoft.com/en-US/Library/aa368761 (VS. 85). aspx
-
MsiGetProductInfo функцияhttp://MSDN.Microsoft.com/en-US/Library/aa370131 (VS. 85). aspx
-
Installer.ProductInfo Propertyhttp://msdn.microsoft.com/en-us/library/aa369457(VS.85).aspx
-
MsiQueryProductState функция http://MSDN.Microsoft.com/en-US/Library/aa370363 (VS. 85). aspx
-
Метод свойства Installer. ProductState ://MSDN.Microsoft.com/en-US/Library/aa369463 (VS. 85). aspx
-
Свойство ProductCode http://MSDN.Microsoft.com/en-US/Library/aa370854 (VS. 85). aspx
Примечание к разделу "относится к"Кроме продуктов, перечисленных в разделе "относится к", информация в этой статье также относится к следующему продукту:
-
Установщик Windows 4,0