Поделиться через


Функция MsiGetProductInfoA (msi.h)

Функция MsiGetProductInfo возвращает сведения о продукте для опубликованных и установленных продуктов.

Синтаксис

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

Параметры

[in] szProduct

Задает код продукта для продукта.

[in] szAttribute

Указывает свойство, которое требуется извлечь.

обязательные свойства гарантированно доступны, но другие свойства доступны только в том случае, если это свойство задано. Дополнительные сведения см. в разделе Свойства. Свойства в следующем списке можно извлечь только из установленных приложений.

Свойство Значение
INSTALLPROPERTY_HELPLINK
Ссылка на службу поддержки. Дополнительные сведения см. в свойстве ARPHELPLINK.
INSTALLPROPERTY_HELPTELEPHONE
Телефон службы поддержки. Дополнительные сведения см. в свойстве ARPHELPTELEPHONE.
INSTALLPROPERTY_INSTALLDATE
Последний раз, когда этот продукт получил службу. Значение этого свойства заменяется при каждом применении исправления или удалении из продукта или параметра /v Command-Line, используется для восстановления продукта. Если продукт не получил исправления или исправления этого свойства содержит время установки этого продукта на этом компьютере.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Установленный язык.

Установщик Windows 4.5 и более ранние: не поддерживается.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
Установленное имя продукта. Дополнительные сведения см. в свойстве ProductName .
INSTALLPROPERTY_INSTALLLOCATION
Расположение установки. Дополнительные сведения см. в свойстве ARPINSTALLLOCATION.
INSTALLPROPERTY_INSTALLSOURCE
Источник установки. Дополнительные сведения см. в свойстве SourceDir .
INSTALLPROPERTY_LOCALPACKAGE
Локальный кэшированный пакет.
INSTALLPROPERTY_PUBLISHER
Издатель. Дополнительные сведения см. в свойстве производителя .
INSTALLPROPERTY_URLINFOABOUT
Сведения о URL-адресе. Дополнительные сведения см. в свойстве ARPURLINFOABOUT.
INSTALLPROPERTY_URLUPDATEINFO
Сведения об обновлении URL-адреса. Дополнительные сведения см. в свойстве ARPURLUPDATEINFO .
INSTALLPROPERTY_VERSIONMINOR
Дополнительная версия продукта, производная от свойства ProductVersion .
INSTALLPROPERTY_VERSIONMAJOR
Основная версия продукта, полученная из свойства ProductVersion.
INSTALLPROPERTY_VERSIONSTRING
Версия продукта. Дополнительные сведения см. в свойстве ProductVersion .
 

Чтобы получить идентификатор продукта, зарегистрированный владелец или зарегистрированную компанию из установленных приложений, задайте szProperty одному из следующих текстовых строковых значений.

Ценность Описание
ProductID Идентификатор продукта. Дополнительные сведения см. в свойстве ProductID .
RegCompany Компания, зарегистрированная для использования этого продукта.
RegOwner Владелец, зарегистрированный для использования этого продукта.
 

Чтобы получить тип экземпляра продукта, задайте szProperty следующим значением. Это свойство доступно для объявленных или установленных продуктов.

Ценность Описание
InstanceType Отсутствующее значение или значение 0 (ноль) указывает на обычную установку продукта. Значение 1 (один) указывает на продукт, установленный с помощью преобразования нескольких экземпляров и свойства MSINEWINSTANCE. Доступно в установщике под управлением Windows Server 2003 или Windows XP с пакетом обновления 1 (SP1). Дополнительные сведения см. в установке нескольких экземпляров продуктов и исправлений.
 

Объявленные свойства в следующем списке можно получить из приложений, объявленных или установленных.

Свойство Описание
INSTALLPROPERTY_TRANSFORMS Преобразует.
INSTALLPROPERTY_LANGUAGE Язык продукта.
INSTALLPROPERTY_PRODUCTNAME Имя удобочитаемого продукта. Дополнительные сведения см. в свойстве ProductName .
INSTALLPROPERTY_ASSIGNMENTTYPE Равно 0 (ноль), если продукт объявлен или установлен на пользователя.

Равно 1 (один), если продукт объявлен или установлен на компьютер для всех пользователей.

INSTALLPROPERTY_PACKAGECODE Идентификатор пакета, из который был установлен этот продукт. Дополнительные сведения см. в разделе Коды пакетов.
INSTALLPROPERTY_VERSION Версия продукта, полученная из свойства ProductVersion.
INSTALLPROPERTY_PRODUCTICON Первичный значок пакета. Дополнительные сведения см. в свойстве ARPPRODUCTICON .
INSTALLPROPERTY_PACKAGENAME Имя исходного пакета установки.
INSTALLPROPERTY_AUTHORIZED_LUA_APP Значение одного (1) указывает на продукт, который может обслуживаться неадминистраторами с помощью контроля учетных записей пользователей (UAC). Отсутствующее значение или значение 0 (ноль) указывает, что исправление с минимальными привилегиями не включено. Доступно в установщике Windows 3.0 или более поздней версии.

[out] lpValueBuf

Указатель на буфер, получающий значение свойства. Этот параметр может иметь значение NULL.

[in, out] pcchValueBuf

Указатель на переменную, указывающую размер буфера в символах, на который указывает параметр lpValueBuf. В входных данных это полный размер буфера, включая пробел для конца символа NULL. Если буфер, переданный слишком маленьким, возвращаемое число не включает завершающий символ NULL.

Если lpValueBuf имеет значение NULL, pcchValueBuf может иметь значение NULL. В этом случае функция проверяет, правильно ли зарегистрировано свойство в продукте.

Возвращаемое значение

Ценность Значение
ERROR_BAD_CONFIGURATION
Данные конфигурации повреждены.
ERROR_INVALID_PARAMETER
Недопустимый параметр был передан функции.
ERROR_MORE_DATA
Буфер слишком мал для хранения запрошенных данных.
ERROR_SUCCESS
Функция успешно завершена.
ERROR_UNKNOWN_PRODUCT
Продукт непреднамерен или удален.
ERROR_UNKNOWN_PROPERTY
Свойство не распознается.
ПримечаниеФункция msiGetProductInfo возвращает ERROR_UNKNOWN_PROPERTY, если запрашиваемое приложение объявляется и не установлено.
 

Замечания

Когда функция msiGetProductInfo возвращает , параметр pcchValueBuf содержит длину строки, хранимой в буфере. Возвращаемое число не включает завершающийся символ NULL. Если буфер недостаточно велик, MsiGetProductInfo возвращает ERROR_MORE_DATA и pcchValueBuf содержит размер строки в символах без подсчета null символов.

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) не обязательно возвращает путь к кэшированному пакету. Кэшированный пакет предназначен только для внутреннего использования. Установка режима обслуживания должна вызываться с помощью MsiConfigureFeature, MsiConfigureProductили Функций MsiConfigureProductEx.

Если вы пытаетесь использовать MsiGetProductInfo для запроса объявленного продукта для свойства, доступного только для установленных продуктов, функция возвращает ERROR_UNKNOWN_PROPERTY. Например, если приложение объявлено и не установлено, запрос к свойству INSTALLPROPERTY_INSTALLLOCATION возвращает ошибку ERROR_UNKNOWN_PROPERTY.

Заметка

Заголовок msi.h определяет MsiGetProductInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, требуемом версией установщика Windows, см. в разделе "Требования к установщику Windows Run-Time".
целевая платформа Виндоус
заголовка msi.h
библиотеки Msi.lib
DLL Msi.dll

См. также

определение контекста установки

не поддерживается в установщике Windows 2.0 и более ранних

функции состояния системы