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

わんくま同盟

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

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


(過去ログ 28 を表示中)
■13181 / )  Re[17]: ランタイムパッケージインストール済みチェック方法
□投稿者/ とっちゃん (235回)-(2008/01/25(Fri) 13:50:02)
とっちゃん さんの Web サイト
No13126 (セイン さん) に返信
>
> インテルのライブラリや.NET Framework 2.0のインストールチェックも下の関数でできるのであれば、
> 統一したいです!
>
こっち忘れてた...w

インテルのライブラリについては、専用のランタイムインストーラがどういう形なのかが
わからないので、何とも言えません。

持ってませんしねw

で、.NET Framework 2.0 のインストールチェックですが、こちらは「公式には」
msi の ProductCode による判定ではなく、専用のEXEによるチェック方法になります。

実際に、Vistaマシンでチェックするとわかりますが ProductCode で検査しても
インストールされていないと判断されます。

VSセットアップでは、dotnetfx フォルダにある dotnetchk.exe を呼び出して
その戻り値で判断するという形で規定されています。
#このあたりの詳細は、Package.xml や Product.xml を参照してください

実際は、.NET Framework のレジストリがあるのでそこのセットアップ情報を見て
判断も可能なはずなのですが、どういうわけか、.NET Framework 2.0 については
この情報が公開されていません(1.0 や 1.1はある。3.0以降も必須モジュールでは
レジストリチェックなので事実上公開されているに等しい)。

なので、msi 形式のインストーラがあるからといっても必ずしもそれだけに
頼ることができるというわけではないということは覚えておいてください。

ランタイムインストーラを提供している場合、その提供元からインストールチェックの
方法がドキュメント化されているあるいは、インストールの方法そのものが
公開されているはずです(この点に関してのMSはお世辞にも親切とは言えない)。

ですので、まずは根気よくランタイムインストーラの配布に関する事項を
探してみるということから始めることをお勧めします。

返信 編集キー/


管理者用

- Child Tree -