Функция MsiOpenPackageExW (msi.h)
Функция MsiOpenPackageEx открывает пакет для использования с функциями, обращаюющимися к базе данных продукта. Функция MsiCloseHandle должна вызываться с дескриптором, если дескриптор больше не нужен.
Синтаксис
UINT MsiOpenPackageExW(
[in] LPCWSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Параметры
[in] szPackagePath
Путь к пакету.
[in] dwOptions
Битовые флаги, указывающие, следует ли игнорировать состояние компьютера. Передайте значение 0 (ноль), чтобы использовать поведение msiOpenPackage.
Постоянный | Значение |
---|---|
|
Игнорируйте состояние компьютера при создании дескриптора продукта. |
[out] hProduct
Указатель на переменную, которая получает дескриптор продукта.
Возвращаемое значение
Ценность | Значение |
---|---|
|
Сведения о конфигурации повреждены. |
|
Не удалось открыть продукт. |
|
Установщик Windows не разрешает установку из подключения к удаленному рабочему столу. |
|
Недопустимый параметр передается функции. |
|
Функция успешно завершается. |
Если эта функция завершается ошибкой, она может вернуть системный код ошибки. Дополнительные сведения см. в системных кодов ошибок.
Замечания
Чтобы создать ограниченный дескриптор продукта, который не зависит от текущего состояния компьютера и не может изменять текущее состояние компьютера, используйте MsiOpenPackageEx с MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE, установленными в dwOptions.
Обратите внимание, что если
Ограниченный дескриптор, созданный с помощью MsiOpenPackageEx с MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE позволяет выполнять диалоги, подмножество стандартных действий и настраиваемых действий, которые задают свойства (настраиваемый тип действия 35, настраиваемый тип действия 51и настраиваемый тип действия 19). Ограниченный дескриптор запрещает использование пользовательских действий, которые выполняют библиотеки Dynamic-Link, исполняемых файлов или скриптов.
Вы можете вызвать MsiDoAction для следующих стандартных действий с помощью ограниченного дескриптора. Все остальные действия возвращаются ERROR_FUNCTION_NOT_CALLED при вызове с ограниченным дескриптором.
-
администратора
- ОБЪЯВЛЕНИЕ
- INSTALL
- SEQUENCE
- действие AppSearch
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- действие IsolateComponents
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- ValidateProductID
Заметка
Заголовок msi.h определяет MsiOpenPackageEx как псевдоним, который автоматически выбирает версию 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 |