- - PR -
.net framworkについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-19 17:38
お世話になります。
.NetFramework1.1と2.0について質問いたします。 (対象OS: Windows XP) 上記がインストール済のPCについて、 どのアプリケーションが、その.NetFrameworkを 使っているかを知りたいのですが方法がわかりません。 コントロールパネル→管理ツール→Microsoft .NET Framework2.0構成 のパネルの中のツリーを展開して「アプリケーション一覧」 から中をたどるとそれらしいものが見つかるのですが、 以下が明記されています。 ---------------------------------- Note: .NET Framework 構成ツールは、このコンピュータにインストールされているマネージ アプリケーション、または構成ファイルを含むマネージ アプリケーションのどちらもすべて表示しているわけではありません。 ---------------------------------- ですので、全てとは言い切れないと思います。 初歩的な質問で申し訳ありませんが、ご存知の方 ご教授ねがいます。 | ||||
|
投稿日時: 2007-03-19 18:25
基本的に、コンパイルされたバージョンで動作します。 _________________ | ||||
|
投稿日時: 2007-03-19 18:36
Jittaさま
早速のご返信ありがとうございます。 >初歩的じゃないですよ。奥深い疑問です。 >基本的に、コンパイルされたバージョンで動作します。 なるほど、、コンパイルされたバージョンで 1.1か、2.0か選択されるということですね。 私の質問の仕方が悪くて、申し訳なかったのですが、 ある特定のアプリケーションが 1.1か2.0のどちらが選択されるか、という意図ではなく ・1.1ではどのアプリケーションが、 ・2.0ではどのアプリケーションが このPC内で使われているか という事をそれぞれ把握したいというのが 私の質問の主旨になります。 重ねて私の表現が拙く、 誤解を招いてしまったことをお詫びいたします。 | ||||
|
投稿日時: 2007-03-19 19:10
そっちでしたか。失礼しました。 やっぱり、難しいです。 ライブラリ側から呼び出しているアプリケーションを探すのは、出来ないんじゃないかな? レジストリにインストールされているアプリケーションの一覧があるから、そこからインストールしたディレクトリを読み出し、EXEをさがして、フォーマットを調べる。じゃないかなぁ? お調べになったところは、ユーザーや管理者が、動作を制限するための設定です。登録しなければ、アセンブリが置いてある場所によって制御されます。 _________________ | ||||
|
投稿日時: 2007-03-19 19:15
今現在、実行中のプロセスに限ってとかなら、 何らかの調査手段がありそうですが(といってもこっちは調べてみないとあるかどうかもわかりません)、 PCにインストールされているアプリで、 v1.1、v2.0で動作するものをピックアップするのは難しいと思います。 .NET製アプリケーションをPCにインストールするのは、 ただコピーをするだけでよいですから。 理屈的には、すべてのexe/dllを検索して、PEヘッダーを調べればわかります。 が、圧縮されたファイルの中にあるexeやdllは対象外でいいのか?という点もありますし、 「インストールされているアプリ」をどう定義するか?によります。 <補足> 手作業で行えるようなことじゃないので、 PEヘッダーを調べて、.NET製かどうか判定して.NETのバージョンを調べるまで やってくれるようなツールが必要です。そういうツールがあるかはわかりません。 </補足> [ メッセージ編集済み 編集者: よねKEN 編集日時 2007-03-19 19:19 ] | ||||
|
投稿日時: 2007-03-19 19:53
Jittaさま よねKENさま
標準的な機能で一覧を出すのは難しい ということですね。確かに、コピーされた アプリなんかはどうにも調べられないですよね。。。 PEヘッダーという言葉は今回初めて知りました。 勉強になりました。 迅速な回答ありがとうございました! |
1