Функция MsiGetProductInfoExW (msi.h)
Функция MsiGetProductInfoEx возвращает сведения о продукте для объявленных и установленных продуктов. Эта функция может получить сведения
о экземпляре продукта, установленного под учетной записью пользователя, отличной от текущего пользователя.
Вызывающий процесс должен иметь права администратора для пользователя, который отличается от текущего пользователя. Функция MsiGetProductInfoEx не может запрашивать экземпляр продукта, объявленного в контексте, неуправляемом пользователем, для учетной записи пользователя, отличной от текущего пользователя.
Эта функция является расширением функции MsiGetProductInfo.
Синтаксис
UINT MsiGetProductInfoExW(
[in] LPCWSTR szProductCode,
[in] LPCWSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCWSTR szProperty,
[out, optional] LPWSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
Параметры
[in] szProductCode
Guid ProductCode экземпляра продукта, запрашиваемого.
[in] szUserSid
Идентификатор безопасности учетной записи, в которой существует экземпляр продукта, запрашиваемого. NULL указывает текущий идентификатор безопасности пользователя.
[in] dwContext
Контекст установки экземпляра продукта, запрашиваемого.
[in] szProperty
Свойство запрашивается.
Извлекаемое свойство. Свойства в следующей таблице можно получить только из установленных приложений. Все необходимые свойства гарантированно доступны, но другие свойства доступны только в том случае, если свойство задано. Дополнительные сведения см. в разделе
обязательные свойства и свойства.
Свойство | Значение |
---|---|
|
Состояние продукта, возвращаемого в строковой форме, как "1" для объявленных и "5" для установленных. |
|
Ссылка на поддержку. Дополнительные сведения см. в свойстве ARPHELPLINK. |
|
Телефон поддержки. Дополнительные сведения см. в свойстве ARPHELPTELEPHONE. |
|
Последний раз, когда этот продукт получил службу. Значение этого свойства заменяется при каждом применении исправления или удалении из продукта или параметра /v Command-Line, используется для восстановления продукта. Если продукт не получил исправления или исправления этого свойства содержит время установки этого продукта на этом компьютере. |
|
Установленный язык.
Установщик Windows 4.5 и более ранние: не поддерживается. |
|
Установленное имя продукта. Дополнительные сведения см. в свойстве ProductName |
|
Расположение установки. Дополнительные сведения см. в свойстве ARPINSTALLLOCATION. |
|
Источник установки. Дополнительные сведения см. в свойстве SourceDir |
|
Локальный кэшированный пакет. |
|
Издатель. Дополнительные сведения см. в свойстве производителя |
|
Сведения о URL-адресе. Дополнительные сведения см. в свойстве ARPURLINFOABOUT. |
|
Сведения об обновлении URL-адреса. Дополнительные сведения см. в свойстве ARPURLUPDATEINFO |
|
Дополнительная версия продукта, производная от свойства ProductVersion. |
|
Основная версия продукта, производная от свойства ProductVersion. |
|
Версия продукта. Дополнительные сведения см. в свойстве ProductVersion |
Чтобы получить идентификатор продукта, зарегистрированный владелец или зарегистрированную компанию из установленных приложений, задайте szProperty одному из следующих текстовых строковых значений.
Ценность | Описание |
---|---|
ProductID | Идентификатор продукта. Дополнительные сведения см. в свойстве ProductID |
RegCompany | Компания, зарегистрированная для использования продукта. |
RegOwner | Владелец, зарегистрированный для использования продукта. |
Чтобы получить тип экземпляра продукта, задайте szProperty следующим значением. Это свойство доступно для объявленных или установленных продуктов.
Ценность | Описание |
---|---|
InstanceType | Отсутствующее значение или значение 0 (ноль) указывает на обычную установку продукта. Значение одного (1) указывает на продукт, установленный с помощью преобразования нескольких экземпляров и свойства MSINEWINSTANCE. Дополнительные сведения см. в установке нескольких экземпляров продуктов и исправлений. |
Свойства в следующей таблице можно получить из приложений, объявленных или установленных. Эти свойства нельзя получить для экземпляров продукта, установленных в контексте неуправляемого пользователя для учетных записей пользователей, отличных от текущей учетной записи пользователя.
Свойство | Описание |
---|---|
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, optional] szValue
Указатель на буфер, получающий значение свойства. Этот буфер должен быть достаточно большим, чтобы содержать информацию. Если буфер слишком мал, функция возвращает ERROR_MORE_DATA и задает *pcchValue в число TCHAR в значении, а не включающее символ NULL.
Если для lpValueзадано значение NULL и pcchValue задан допустимый указатель, функция возвращает ERROR_SUCCESS и задает *pcchValue к числу TCHAR в значении, а не включающее символ NULL. Затем функцию можно вызвать еще раз, чтобы получить значение, с помощью буфера lpValue достаточно большого размера, чтобы содержать *pcchValue + 1 символов.
Если lpValue и pcchValue задано значение NULL, функция возвращает ERROR_SUCCESS, если значение существует без получения значения.
[in, out, optional] pcchValue
Указатель на переменную, указывающую количество
Этот параметр можно задать NULL только в том случае, если lpValue также NULL. В противном случае функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Функция MsiGetProductInfoEx возвращает следующие значения.
Возвращаемый код | Описание |
---|---|
|
Вызывающий процесс должен иметь права администратора, чтобы получить сведения о продукте, установленном для пользователя, отличного от текущего пользователя. |
|
Данные конфигурации повреждены. |
|
Недопустимый параметр передается функции. |
|
Буфер слишком мал для хранения запрошенных данных. |
|
Функция успешно завершена. |
|
Продукт непреднамерен или удален. |
|
Свойство не распознается.
Примечание Функция MsiGetProductInfo возвращает ERROR_UNKNOWN_PROPERTY, если запрашиваемое приложение объявляется и не установлено.
|
|
Непредвиденный внутренний сбой. |
Замечания
Когда функция msiGetProductInfoEx возвращает
Функция MsiGetProductInfoEx (INSTALLPROPERTY_LOCALPACKAGE) возвращает путь к кэшированному пакету. Кэшированный пакет предназначен только для внутреннего использования. Установка режима обслуживания должна вызываться с помощью MsiConfigureFeature, MsiConfigureProductили Функций MsiConfigureProductEx.
Функция MsiGetProductInfo возвращает ERROR_UNKNOWN_PROPERTY, если запрашиваемое приложение объявляется и не установлено. Например, если приложение объявлено и не установлено, запрос на INSTALLPROPERTY_INSTALLLOCATION возвращает ошибку ERROR_UNKNOWN_PROPERTY.
Заметка
Заголовок msi.h определяет MsiGetProductInfoEx как псевдоним, который автоматически выбирает версию 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, см. в разделе "Требования к установщику Windows Run-Time". |
целевая платформа | Виндоус |
заголовка | msi.h |
библиотеки |
Msi.lib |
DLL | Msi.dll |
См. также
производителя