MsiGetProductInfoA 関数 (msi.h)
MsiGetProductInfo 関数は、発行済みおよびインストール済み製品の製品情報を返します。
構文
UINT MsiGetProductInfoA(
[in] LPCSTR szProduct,
[in] LPCSTR szAttribute,
[out] LPSTR lpValueBuf,
[in, out] LPDWORD pcchValueBuf
);
パラメーター
[in] szProduct
製品の製品コードを指定します。
[in] szAttribute
取得するプロパティを指定します。
必須プロパティ は使用可能であることが保証されますが、その他のプロパティは、そのプロパティが設定されている場合にのみ使用できます。 詳細については、「プロパティの」を参照してください。 次の一覧のプロパティは、インストールされているアプリケーションからのみ取得できます。
財産 | 意味 |
---|---|
|
サポート リンク。 詳細については、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 (1) は、複数インスタンス変換と MSINEWINSTANCE プロパティを使用してインストールされた製品を示します。 Windows Server 2003 または Windows XP SP1 を実行しているインストーラーで使用できます。 詳細については、「製品およびパッチの複数インスタンスのインストール」を参照してください。 |
次の一覧のアドバタイズされたプロパティは、アドバタイズまたはインストールされているアプリケーションから取得できます。
財産 | 形容 |
---|---|
INSTALLPROPERTY_TRANSFORMS | 変換。 |
INSTALLPROPERTY_LANGUAGE | 製品言語。 |
INSTALLPROPERTY_PRODUCTNAME | 人間が判読できる製品名。 詳細については、ProductName プロパティ |
INSTALLPROPERTY_ASSIGNMENTTYPE | 製品がユーザーごとにアドバタイズまたはインストールされている場合は、0 (ゼロ) と等しくなります。
製品がすべてのユーザーに対してマシンごとにアドバタイズまたはインストールされている場合は、1 (1) と等しくなります。 |
INSTALLPROPERTY_PACKAGECODE | この製品がインストールされたパッケージの識別子。 詳細については、「パッケージ コードの」を参照してください。 |
INSTALLPROPERTY_VERSION | ProductVersion プロパティから派生した製品バージョン。 |
INSTALLPROPERTY_PRODUCTICON | パッケージのプライマリ アイコン。 詳細については、ARPPRODUCTICON プロパティを参照してください。 |
INSTALLPROPERTY_PACKAGENAME | 元のインストール パッケージの名前。 |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | 値が 1 の場合は、ユーザー アカウント制御 (UAC) パッチ適用を使用して管理者以外が処理できる製品を示します。 欠損値または 0 (ゼロ) の値は、最小特権パッチ適用が有効になっていないことを示します。 Windows インストーラー 3.0 以降で使用できます。 |
[out] lpValueBuf
プロパティ値を受け取るバッファーへのポインター。 このパラメーターには null を指定できます。
[in, out] pcchValueBuf
lpValueBuf パラメーターが指すバッファーのサイズを文字で指定する変数へのポインター。 入力時には、これはバッファーのフル サイズであり、終端の null 文字のスペースも含まれます。 渡されたバッファーが小さすぎる場合、返されるカウントには終端の null 文字は含まれません。
lpValueBuf
戻り値
価値 | 意味 |
---|---|
|
構成データが破損しています。 |
|
無効なパラメーターが関数に渡されました。 |
|
バッファーが小さすぎて、要求されたデータを保持できません。 |
|
関数は正常に完了しました。 |
|
製品が未変換またはアンインストールされている。 |
|
プロパティが認識されません。
注意MsiGetProductInfo 関数は、クエリ対象のアプリケーションがアドバタイズされ、インストールされていない場合にERROR_UNKNOWN_PROPERTYを返します。
|
備考
MsiGetProductInfo 関数が戻ると、pcchValueBuf パラメーターには、バッファーに格納されている文字列の長さが含まれます。 返されるカウントには、終端の null 文字は含まれません。 バッファーが十分な大きさでない場合、MsiGetProductInfo はERROR_MORE_DATAを返し、pcchValueBuf は、null 文字をカウントせずに文字列のサイズを文字数で格納します。
MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE)
MsiGetProductInfo を使用して、インストールされている製品でのみ使用できるプロパティについてアドバタイズされた製品に対してクエリを実行しようとすると、関数はERROR_UNKNOWN_PROPERTYを返します。 たとえば、アプリケーションがアドバタイズされ、インストールされていない場合、INSTALLPROPERTY_INSTALLLOCATION プロパティのクエリはERROR_UNKNOWN_PROPERTYのエラーを返します。
手記
msi.h ヘッダーは、MSIGetProductInfo をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | 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 Service Pack の詳細については、Windows インストーラーの Run-Time 要件を参照してください。 |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | msi.h |
ライブラリ | Msi.lib |
DLL | Msi.dll |
関連項目
インストール コンテキストの を決定する
Windows インストーラー 2.0 以前の ではサポートされていません