- PR -

.net framworkについて

1
投稿者投稿内容
jojo
会議室デビュー日: 2007/03/19
投稿数: 16
投稿日時: 2007-03-19 17:38
お世話になります。

.NetFramework1.1と2.0について質問いたします。
(対象OS: Windows XP)

上記がインストール済のPCについて、
どのアプリケーションが、その.NetFrameworkを
使っているかを知りたいのですが方法がわかりません。

コントロールパネル→管理ツール→Microsoft .NET Framework2.0構成
のパネルの中のツリーを展開して「アプリケーション一覧」
から中をたどるとそれらしいものが見つかるのですが、
以下が明記されています。

----------------------------------
Note: .NET Framework 構成ツールは、このコンピュータにインストールされているマネージ アプリケーション、または構成ファイルを含むマネージ アプリケーションのどちらもすべて表示しているわけではありません。
----------------------------------

ですので、全てとは言い切れないと思います。
初歩的な質問で申し訳ありませんが、ご存知の方
ご教授ねがいます。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-03-19 18:25
引用:

jojoさんの書き込み (2007-03-19 17:38) より:
お世話になります。

.NetFramework1.1と2.0について質問いたします。
(対象OS: Windows XP)

上記がインストール済のPCについて、
どのアプリケーションが、その.NetFrameworkを
使っているかを知りたいのですが方法がわかりません。

コントロールパネル→管理ツール→Microsoft .NET Framework2.0構成
のパネルの中のツリーを展開して「アプリケーション一覧」
から中をたどるとそれらしいものが見つかるのですが、
以下が明記されています。

----------------------------------
Note: .NET Framework 構成ツールは、このコンピュータにインストールされているマネージ アプリケーション、または構成ファイルを含むマネージ アプリケーションのどちらもすべて表示しているわけではありません。
----------------------------------

ですので、全てとは言い切れないと思います。
初歩的な質問で申し訳ありませんが、ご存知の方
ご教授ねがいます。



初歩的じゃないですよ。奥深い疑問です。

基本的に、コンパイルされたバージョンで動作します。
_________________
jojo
会議室デビュー日: 2007/03/19
投稿数: 16
投稿日時: 2007-03-19 18:36
Jittaさま

早速のご返信ありがとうございます。

>初歩的じゃないですよ。奥深い疑問です。
>基本的に、コンパイルされたバージョンで動作します。

なるほど、、コンパイルされたバージョンで
1.1か、2.0か選択されるということですね。

私の質問の仕方が悪くて、申し訳なかったのですが、
ある特定のアプリケーションが
1.1か2.0のどちらが選択されるか、という意図ではなく

・1.1ではどのアプリケーションが、
・2.0ではどのアプリケーションが

このPC内で使われているか
という事をそれぞれ把握したいというのが
私の質問の主旨になります。

重ねて私の表現が拙く、
誤解を招いてしまったことをお詫びいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-03-19 19:10
引用:

jojoさんの書き込み (2007-03-19 18:36) より:

ある特定のアプリケーションが
1.1か2.0のどちらが選択されるか、という意図ではなく

?1.1ではどのアプリケーションが、
?2.0ではどのアプリケーションが

このPC内で使われているか
という事をそれぞれ把握したいというのが
私の質問の主旨になります。


そっちでしたか。失礼しました。

やっぱり、難しいです。
ライブラリ側から呼び出しているアプリケーションを探すのは、出来ないんじゃないかな?
レジストリにインストールされているアプリケーションの一覧があるから、そこからインストールしたディレクトリを読み出し、EXEをさがして、フォーマットを調べる。じゃないかなぁ?


お調べになったところは、ユーザーや管理者が、動作を制限するための設定です。登録しなければ、アセンブリが置いてある場所によって制御されます。
_________________
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-03-19 19:15
引用:

・1.1ではどのアプリケーションが、
・2.0ではどのアプリケーションが

このPC内で使われているか
という事をそれぞれ把握したいというのが



今現在、実行中のプロセスに限ってとかなら、
何らかの調査手段がありそうですが(といってもこっちは調べてみないとあるかどうかもわかりません)、
PCにインストールされているアプリで、
v1.1、v2.0で動作するものをピックアップするのは難しいと思います。
.NET製アプリケーションをPCにインストールするのは、
ただコピーをするだけでよいですから。

理屈的には、すべてのexe/dllを検索して、PEヘッダーを調べればわかります。
が、圧縮されたファイルの中にあるexeやdllは対象外でいいのか?という点もありますし、
「インストールされているアプリ」をどう定義するか?によります。

<補足>
手作業で行えるようなことじゃないので、
PEヘッダーを調べて、.NET製かどうか判定して.NETのバージョンを調べるまで
やってくれるようなツールが必要です。そういうツールがあるかはわかりません。
</補足>


[ メッセージ編集済み 編集者: よねKEN 編集日時 2007-03-19 19:19 ]
jojo
会議室デビュー日: 2007/03/19
投稿数: 16
投稿日時: 2007-03-19 19:53
Jittaさま よねKENさま

標準的な機能で一覧を出すのは難しい
ということですね。確かに、コピーされた
アプリなんかはどうにも調べられないですよね。。。

PEヘッダーという言葉は今回初めて知りました。
勉強になりました。

迅速な回答ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)