製品コードを使用して Windows Installer ベースの製品が存在するかどうかをプログラムで確認する方法

はじめに

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 Insider に参加する

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

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

×