MsiGetProductInfoExA 関数 (msi.h)
MsiGetProductInfoEx 関数は、アドバタイズされた製品とインストールされている製品の製品情報を返します。 この関数は情報を取得できます
現在のユーザー以外のユーザー アカウントにインストールされている製品のインスタンスについて説明します。
呼び出し元プロセスには、現在のユーザーとは異なるユーザーの管理特権が必要です。 MsiGetProductInfoEx 関数は、現在のユーザー以外のユーザー アカウントについて、ユーザーごとのアンマネージド コンテキストでアドバタイズされた製品のインスタンスに対してクエリを実行できません。
この関数は、MsiGetProductInfo 関数の拡張機能です。
構文
UINT MsiGetProductInfoExA(
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR szValue,
[in, out, optional] LPDWORD pcchValue
);
パラメーター
[in] szProductCode
ProductCode クエリ対象の製品インスタンスの GUID です。
[in] szUserSid
クエリ対象の製品のインスタンスが存在するアカウントのセキュリティ識別子 (SID)。 NULL は、現在のユーザー SID を指定します。
SID | 意味 |
---|---|
|
現在ログオンしているユーザー。 |
|
システム内の特定のユーザーの列挙。 ユーザー SID の例として、"S-1-3-64-2415071341-1358098788-3127455600-2561" があります。 |
[in] dwContext
クエリを実行する製品インスタンスのインストール コンテキスト。
[in] szProperty
クエリ対象のプロパティ。
取得するプロパティ。 次の表のプロパティは、既にインストールされているアプリケーションからのみ取得できます。 すべての必須プロパティは使用可能であることが保証されますが、その他のプロパティは、プロパティが設定されている場合にのみ使用できます。 詳細については、次を参照してください。
必須プロパティ プロパティと プロパティします。
財産 | 意味 |
---|---|
|
アドバタイズされた場合は "1"、インストールされている場合は "5" として文字列形式で返される製品の状態。 |
|
サポート リンク。 詳細については、ARPHELPLINK プロパティを参照してください。 |
|
サポート電話。 詳細については、ARPHELPTELEPHONE プロパティを参照してください。 |
|
この製品がサービスを最後に受信した時刻。 このプロパティの値は、パッチが適用または製品から削除されるたびに置き換えられます。または、/v Command-Line Option を使用して製品を修復します。 製品が修理やパッチを受け取っていない場合、このプロパティには、この製品がこのコンピューターにインストールされた時刻が含まれます。 |
|
インストールされている言語。
Windows インストーラー 4.5 以前の: サポートされていません。 |
|
インストールされている製品名。 詳細については、ProductName プロパティ |
|
インストール場所。 詳細については、ARPINSTALLLOCATION プロパティを参照してください。 |
|
インストール ソース。 詳細については、SourceDir プロパティを参照してください。 |
|
ローカル にキャッシュされたパッケージ。 |
|
発行元。 詳細については、「Manufacturer プロパティ」を参照してください。 |
|
URL 情報。 詳細については、ARPURLINFOABOUT プロパティを参照してください。 |
|
URL の更新情報。 詳細については、ARPURLUPDATEINFO プロパティを参照してください。 |
|
ProductVersion プロパティから派生したマイナー 製品バージョン。 |
|
ProductVersion プロパティから派生したメジャー 製品バージョン。 |
|
製品バージョン。 詳細については、ProductVersion プロパティを参照してください。 |
インストールされているアプリケーションから製品 ID、登録済み所有者、または登録された会社を取得するには、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 を、終了する NULL 文字を含まない値の TCHAR の数に設定します。
lpValue
lpValue と
[in, out, optional] pcchValue
lpValue バッファー内の TCHAR の数を指定する変数へのポインター。 関数が戻るときに、関数が指定したバッファーに値をコピーするかどうかに関係なく、このパラメーターは要求された値のサイズに設定されます。 サイズは、要求された値 TCHAR の数として返されます。終端の null 文字は含まれません。
このパラメーターは、
戻り値
MsiGetProductInfoEx 関数は、次の値を返します。
リターン コード | 形容 |
---|---|
|
現在のユーザー以外のユーザーにインストールされている製品の情報を取得するには、呼び出し元プロセスに管理特権が必要です。 |
|
構成データが破損しています。 |
|
無効なパラメーターが関数に渡されます。 |
|
バッファーが小さすぎて、要求されたデータを保持できません。 |
|
関数は正常に完了しました。 |
|
製品が未変換またはアンインストールされている。 |
|
プロパティが認識されません。
注MsiGetProductInfo 関数は、クエリ対象のアプリケーションがアドバタイズされ、インストールされていない場合に ERROR_UNKNOWN_PROPERTY を返します。
|
|
予期しない内部エラー。 |
備考
MsiGetProductInfoEx 関数が返されると、pcchValue パラメーターには、バッファーに格納されている文字列の長さが含まれます。 返されるカウントには、終端の null 文字は含まれません。 バッファーの大きさが十分でない場合、MsiGetProductInfoEx は ERROR_MORE_DATAを返し、pcchValue パラメーターには、null 文字をカウントせずに、文字列のサイズ TCHARに含まれます。
MsiGetProductInfoEx 関数 (INSTALLPROPERTY_LOCALPACKAGE) は、キャッシュされたパッケージへのパスを返します。 キャッシュされたパッケージは内部でのみ使用されます。 メンテナンス モードのインストールは、
MsiGetProductInfo 関数は、クエリ対象のアプリケーションがアドバタイズされ、インストールされていない場合に ERROR_UNKNOWN_PROPERTY を返します。 たとえば、アプリケーションがアドバタイズされ、インストールされていない場合、INSTALLPROPERTY_INSTALLLOCATION のクエリは ERROR_UNKNOWN_PROPERTYのエラーを返します。
手記
msi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MsiGetProductInfoEx を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | 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 インストーラーのバージョンで必要な最小 Windows Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。 |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | msi.h |
ライブラリ | Msi.lib |
DLL | Msi.dll |
関連項目
ARPHELPLINK の
ARPURLUPDATEINFO を
Windows インストーラー 2.0 以前の ではサポートされていません
ProductCode を
ProductID の
ProductName を
SourceDir の