C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 28 を表示中)
■13030 / )  Re[6]: ランタイムパッケージインストール済みチェック方法
□投稿者/ とっちゃん (228回)-(2008/01/23(Wed) 16:42:50)
とっちゃん さんの Web サイト
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)。

返信 編集キー/


管理者用

- Child Tree -