MsiOpenPackageA 関数 (msi.h)
MsiOpenPackage 関数は、製品データベースにアクセスする関数で使用するパッケージを開きます。 ハンドルが必要ない場合は、 MsiCloseHandle 関数をハンドルと共に呼び出す必要があります。
メモMsiOpenPackage、MsiOpenPackageEx、または MsiOpenProduct 関数を呼び出す前に、同じスレッドで COM を初期化します。
構文
UINT MsiOpenPackageA(
[in] LPCSTR szPackagePath,
[out] MSIHANDLE *hProduct
);
パラメーター
[in] szPackagePath
パッケージのパスです。
[out] hProduct
製品ハンドルを受け取る変数へのポインター。
戻り値
値 | 意味 |
---|---|
|
構成情報が破損しています。 |
|
製品を開くことができませんでした。 |
|
Windows インストーラーでは、リモート デスクトップ接続からのインストールは許可されません。 |
|
無効なパラメーターが関数に渡されます。 |
|
関数は正常に完了します。 |
この関数が失敗すると、システム エラー コードが返される可能性があります。 詳細については、「 システム エラー コード」を参照してください。
注釈
MsiOpenPackage では、開いているデータベース ハンドルを "#nnnn" 形式で受け入れることができ、nnnn はパッケージへのパスではなく、文字列形式のデータベース ハンドル (つまり #123) です。 これは、検証アクションの実行などの開発タスク、またはデータベース管理ツールでの使用を目的としています。
注意
msi.h ヘッダーは、MSIOpenPackage をエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー。 Windows インストーラーのバージョン別に必須となる最小 Windows サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。 |
対象プラットフォーム | Windows |
ヘッダー | msi.h |
Library | Msi.lib |
[DLL] | Msi.dll |