| ■13030 / ) |
Re[6]: ランタイムパッケージインストール済みチェック方法 |
□投稿者/ とっちゃん (228回)-(2008/01/23(Wed) 16:42:50)
|
■No13019 (セイン さん) に返信
> 調べる方法はあるのでしょうか? > 下の方法でよいのですよね? > >if( MsiQueryProductState( _T("{7299052b-02a4-4627-81f2-1818da5d550d}") ) >= >INSTALLSTATE_ABSENT ) > >{ > > // インストール済み > >} > はい。これで行けます。 「ただし」VS2005 でモジュールを作っているのであれば、別途 WindowsSDK か、PlatformSDK(どっちを入れてもよい)が必要です。 なぜかって?x86用のmsi.libがないから... #VS2008なら入ってるんですけどね...orz
WindowsInstaller のAPIを使う場合や、Custom Actions(.NET FrameworkのInstallerクラスを使うカスタム動作ではありません)を利用する場合は、必ずSDKを別途入れないとだめなんですよね...
> すいません→product.xml を探してみたのですが、どのファイルのことなのでしょうか? > お願いします。 > おいらの環境(VS2005でインストール先を変えずに入れた環境)では C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\product.xml になります。 ただし、このパスはおいらの環境なので、Microsoft Visual Studio 8 の部分までは違う可能性はあります。 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages のサブフォルダ(フォルダごとにproduct.xmlがあります)にあるものがそのまま 必須コンポーネントの個々のエントリーになります。
ちなみに、VS2008では C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages ですね(これもおいらの環境の場合ですけどねw)。
|
|