メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

はじめに

Windows Installer には、ユーザーが Windows インストーラーデータベースに特定の製品が存在するかどうかを問い合わせるための Api が用意されています。 各製品は、製品コード (GUID) で一意に識別されます。 この記事では、製品コードを使用して Windows Installer ベースの製品が存在するかどうかをプログラムで確認する方法を示すコードサンプルを紹介します。

詳細情報

Visual C++ から API を呼び出す

次の例では、Visual C++ のMsiGetProductInfoExW ()メソッドを呼び出して、特定の製品の存在を検出できます。 製品は、一意の製品コード GUID で指定されます。

TCHAR szVersion[20];DWORD cchVersion = 20;BOOL fInstalled = (ERROR_SUCCESS == MsiGetProductInfoEx (TEXT("{ProductCode}"), NULL, MSIINSTALLCONTEXT_MACHINE, INSTALLPROPERTY_VERSIONSTRING, szVersion, &cchVersion));

このコード例では、指定された製品がインストールされているか、インストールされていないかに応じて、fInstalled ブール変数に TRUE または FALSE の値が格納されます。

VBScript から API を呼び出す

次に示すのは、Microsoft Visual Basic スクリプトのwindowsinstaller. インストーラオブジェクトのproductinfo ()メソッドを呼び出して、特定の製品の存在を検出する方法の例です。 製品は、一意の製品コード GUID で指定されます。

 Dim msi : Set msi = CreateObject("WindowsInstaller.Installer")On Error Resume NextDim version : version = msi.ProductInfo("{ProductCode}", "VersionString")Dim installed : installed = ( Err.Number = 0 )

このコード例では、指定された製品がインストールされているか、インストールされていないかに応じて、インストールされる変数に0または1の値が格納されます。注: 両方の例の関数に渡されるProductCodeプロパティには、引用符内に中かっこ ({}) が含まれています。 Windows インストーラーの詳細については、次の Microsoft Windows インストーラー MSDN Web ページを参照してください。

http://msdn.microsoft.com/en-us/library/aa367449(VS.85).aspx使用しているコンピューター用の最新バージョンの Windows インストーラーの入手方法については、次の Microsoft Web ページを参照してください。

http://www.microsoft.com/download/details.aspx?familyid=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displaylang=en 詳細については、次の Microsoft Web ページを参照してください。

[適用先] セクションについての注意この記事の情報は、このセクションに記載されている製品に加えて、以下の製品にも該当します。

  • Windows インストーラー4.0

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×