Функция 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 для восстановления продукта. Если продукт не получил никаких исправлений или исправлений, это свойство содержит время установки этого продукта на этом компьютере.
INSTALLPROPERTY_INSTALLEDLANGUAGE
Установленный язык.

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

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

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

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

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

Значение Описание
Тип экземпляра Отсутствующее значение или значение 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 (1) указывает на продукт, который может обслуживаться неадминистраторами с помощью исправлений контроля учетных записей (UAC). Отсутствующее значение или значение 0 (ноль) означает, что исправление с минимальными привилегиями не включено. Доступно в установщике Windows 3.0 или более поздней версии.

[out] lpValueBuf

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

[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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Установщик 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.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

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

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

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