次の方法で共有


MsiGetProductInfoA 関数 (msi.h)

MsiGetProductInfo 関数は、発行済みおよびインストール済み製品の製品情報を返します。

構文

UINT MsiGetProductInfoA(
  [in]      LPCSTR  szProduct,
  [in]      LPCSTR  szAttribute,
  [out]     LPSTR   lpValueBuf,
  [in, out] LPDWORD pcchValueBuf
);

パラメーター

[in] szProduct

製品の製品コードを指定します。

[in] szAttribute

取得するプロパティを指定します。

必須プロパティ は使用可能であることが保証されますが、その他のプロパティは、そのプロパティが設定されている場合にのみ使用できます。 詳細については、「プロパティの」を参照してください。 次の一覧のプロパティは、インストールされているアプリケーションからのみ取得できます。

財産 意味
INSTALLPROPERTY_HELPLINK
サポート リンク。 詳細については、ARPHELPLINK プロパティを参照してください。
INSTALLPROPERTY_HELPTELEPHONE
サポート電話。 詳細については、ARPHELPTELEPHONE プロパティを参照してください。
INSTALLPROPERTY_INSTALLDATE
この製品がサービスを最後に受信した時刻。 このプロパティの値は、パッチが適用または製品から削除されるたびに置き換えられます。または、/v Command-Line Option を使用して製品を修復します。 製品が修理やパッチを受け取っていない場合、このプロパティには、この製品がこのコンピューターにインストールされた時刻が含まれます。
INSTALLPROPERTY_INSTALLEDLANGUAGE
インストールされている言語。

Windows インストーラー 4.5 以前の: サポートされていません。

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
インストールされている製品名。 詳細については、ProductName プロパティ を参照してください。
INSTALLPROPERTY_INSTALLLOCATION
インストール場所。 詳細については、ARPINSTALLLOCATION プロパティを参照してください。
INSTALLPROPERTY_INSTALLSOURCE
インストール ソース。 詳細については、SourceDir プロパティを参照してください。
INSTALLPROPERTY_LOCALPACKAGE
ローカル キャッシュ パッケージ。
INSTALLPROPERTY_PUBLISHER
発行者。 詳細については、「Manufacturer プロパティ」を参照してください。
INSTALLPROPERTY_URLINFOABOUT
URL 情報。 詳細については、ARPURLINFOABOUT プロパティを参照してください。
INSTALLPROPERTY_URLUPDATEINFO
URL の更新情報。 詳細については、ARPURLUPDATEINFO プロパティを参照してください。
INSTALLPROPERTY_VERSIONMINOR
ProductVersion プロパティから派生したマイナー 製品バージョン。
INSTALLPROPERTY_VERSIONMAJOR
ProductVersion プロパティから派生したメジャー 製品バージョン。
INSTALLPROPERTY_VERSIONSTRING
製品バージョン。 詳細については、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 が null の場合、pcchValueBuf は null にすることができます。 この場合、関数はプロパティが製品に正しく登録されていることを確認します。

戻り値

価値 意味
ERROR_BAD_CONFIGURATION
構成データが破損しています。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。
ERROR_MORE_DATA
バッファーが小さすぎて、要求されたデータを保持できません。
ERROR_SUCCESS
関数は正常に完了しました。
ERROR_UNKNOWN_PRODUCT
製品が未変換またはアンインストールされている。
ERROR_UNKNOWN_PROPERTY
プロパティが認識されません。
注意MsiGetProductInfo 関数は、クエリ対象のアプリケーションがアドバタイズされ、インストールされていない場合にERROR_UNKNOWN_PROPERTYを返します。
 

備考

MsiGetProductInfo 関数が戻ると、pcchValueBuf パラメーターには、バッファーに格納されている文字列の長さが含まれます。 返されるカウントには、終端の null 文字は含まれません。 バッファーが十分な大きさでない場合、MsiGetProductInfo はERROR_MORE_DATAを返し、pcchValueBuf は、null 文字をカウントせずに文字列のサイズを文字数で格納します。

MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE) は、キャッシュされたパッケージへのパスを必ずしも返すわけではありません。 キャッシュされたパッケージは内部でのみ使用されます。 メンテナンス モードのインストールは、MsiConfigureFeatureMsiConfigureProduct、または msiConfigureProductEx 関数 呼び出す必要があります。

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 以前の ではサポートされていません

システムステータス機能