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

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

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

実行ファイルを別マシンへとコピーsiteすると例外が発生してしまいます


(過去ログ 8 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■8117 / inTopicNo.1)  実行ファイルを別マシンへとコピーsiteすると例外が発生してしまいます
  
□投稿者/ kou 二等兵(5回)-(2006/11/07(Tue) 13:51:58)

分類:[C#] 


分類:[C#] 

Visual Studio 2005を使用してC#でWindowsアプリケーションを作成しております。

内容はOpenFileDialogコントロールを使用して、利用者にファイルを選択して
もらい、選択したファイル内にキーワードとなる文字があるかを調べて結果を
「有り/無し」で返すようなプログラムです。

このプログラムの実行ファイル.exeをビルドしたマシンで起動することはできるのですが、
別のマシンへとコピーして起動すると

"System.Security.SecurityException例外"が発生してしましたした。

どうもOpenFileDialogを使用していると発生しているみたいです。
ただ文字を出力するようなサンプルは問題なく動作しました。

MSDN2を調べているのですが、ClickOnceやPermissionなど関係ありそうな文字は
見つけるのですが、それがこの問題とどう結びつくのかがわからず困っております。

ご存知の方がおられましたらご教授願います。
よろしくお願いいたします。

0
引用返信 編集キー/
■8118 / inTopicNo.2)  Re[1]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ kou 二等兵(6回)-(2006/11/07(Tue) 13:54:19)

分類:[C#] 

No8117に返信(kouさんの記事)

すみません、No8117のTitleが化けてしまいました。
再掲載します。

> Visual Studio 2005を使用してC#でWindowsアプリケーションを作成しております。
>
> 内容はOpenFileDialogコントロールを使用して、利用者にファイルを選択して
> もらい、選択したファイル内にキーワードとなる文字があるかを調べて結果を
> 「有り/無し」で返すようなプログラムです。
>
> このプログラムの実行ファイル.exeをビルドしたマシンで起動することはできるのですが、
> 別のマシンへとコピーして起動すると
>
> "System.Security.SecurityException例外"が発生してしましたした。
>
> どうもOpenFileDialogを使用していると発生しているみたいです。
> ただ文字を出力するようなサンプルは問題なく動作しました。
>
> MSDN2を調べているのですが、ClickOnceやPermissionなど関係ありそうな文字は
> 見つけるのですが、それがこの問題とどう結びつくのかがわからず困っております。
>
> ご存知の方がおられましたらご教授願います。
> よろしくお願いいたします。

0
引用返信 編集キー/
■8120 / inTopicNo.3)  Re[2]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ ROY 伍長(44回)-(2006/11/07(Tue) 14:19:05)

分類:[C#] 

作成したexeファイルをネットワーク越しに
実行しようとすると発生するのではないでしょうか。
実行環境にコピーまたは、インストールして使ってみてください。

0
引用返信 編集キー/
■8123 / inTopicNo.4)  Re[3]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ kou 二等兵(7回)-(2006/11/07(Tue) 15:33:40)

分類:[C#] 

No8120に返信(ROYさんの記事)
> 作成したexeファイルをネットワーク越しに
> 実行しようとすると発生するのではないでしょうか。
> 実行環境にコピーまたは、インストールして使ってみてください。

ROYさんのおっしゃる通り、実行環境のマシンのローカルディスクに実行ファイル
をコピーした場合は正常に起動できました。ありがとうございます。

続けてご教授いただきたいのですが、ネットワーク越しに他のマシンへとインストール
されているプログラムを実行することはできるのでしょうか?
といいますのも、VC++6.0などで作成したプログラムは共有しているマシンに置いてある
プログラムを実行できるのに、なぜ、VS2005では例外が発生しているかがよく分かって
おりません。やはりセキュリティ上の制約なのでしょうか?

よろしくお願いいたします。

0
引用返信 編集キー/
■8129 / inTopicNo.5)  Re[4]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ NZ-000 二等兵(19回)-(2006/11/07(Tue) 16:44:39)

分類:[C#] 

過去ログに似たようなスレッドがありました。
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=6596&no=0&KLOG=37

強烈にセキュリティが働いているため、通常の設定ではネットワーク越しの.NET Frameworkアプリケーションは全てはじかれます。
色々と選択肢はあるようですが、私はセキュリティを緩めて使っています。
(LAN内だけなのである程度は安心だし、.NET Frameworkのセキュリティだけあげてもウィルスはふせげねーよってことで)
ClickOnceは確かにすばらしい技術ですがかなりニーズがしぼられおり使い勝手が激しく悪い。
CASはあまり詳しくないのでおいそれと言える立場ではありませんが、めんどくさいのとあと上記の理由もあって除外。
あと.NET Framework2.0からは(SDKをインストールしないと)構成ウィザードが使えないので設定がたるいという理由も。
私が知らないだけかもしれませんが。

0
引用返信 編集キー/
■8133 / inTopicNo.6)  Re[5]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ kou 二等兵(8回)-(2006/11/07(Tue) 19:16:56)

分類:[C#] 

No8129に返信(NZ-000さんの記事)

NZ-000さんありがとうございます。

やはり、.NET Frameworkでの制約なんですね。
とりあえず、現段階ではインストールしたマシンでのみ実行することにします。

これからネットワークを通して実行するプログラムを開発するかもしれないので
CASやClickOnceをもっと詳しく調べてみようと思います。

ありがとうございました。

> 過去ログに似たようなスレッドがありました。
> http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=6596&no=0&KLOG=37
>
> 強烈にセキュリティが働いているため、通常の設定ではネットワーク越しの.NET Frameworkアプリケーションは全てはじかれます。
> 色々と選択肢はあるようですが、私はセキュリティを緩めて使っています。
> (LAN内だけなのである程度は安心だし、.NET Frameworkのセキュリティだけあげてもウィルスはふせげねーよってことで)
> ClickOnceは確かにすばらしい技術ですがかなりニーズがしぼられおり使い勝手が激しく悪い。
> CASはあまり詳しくないのでおいそれと言える立場ではありませんが、めんどくさいのとあと上記の理由もあって除外。
> あと.NET Framework2.0からは(SDKをインストールしないと)構成ウィザードが使えないので設定がたるいという理由も。
> 私が知らないだけかもしれませんが。

解決済み
引用返信 編集キー/
■8172 / inTopicNo.7)  Re[6]: 実行ファイルを別マシンへとコピーして実行すると例外が発生してしまいます
□投稿者/ Jitta 少尉(122回)-(2006/11/08(Wed) 21:29:36)
Jitta さんの Web サイト

分類:[C#] 

 読み込みを指定したつもりで、そのファイルに何か上書きされるかもしれません。絶対パスがわかってしまうので、そこからシステム ディレクトリを推測し、システム ファイルを書き換えられてしまうかもしれません。
 .NET Framework では、そういったリスクを、アプリケーション使用者がコントロールできるようになっています。なので、開発者が許可させることは出来ません。

 .NET Framework の構成管理ツールで、アクセス許可セットを作り、その中で「ファイル ダイアログ」に対して[ファイルを開く]以上の権限を与え、「ファイル IO」で、使用する予定のファイル パスに対して「読み取り」と「パス探索」の許可を与え、コード グループを作って適切に設定すればいいんだけど、それだけで記事が書けちゃうのさ(^-^;
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
第6〜9回

 んで。。。先に「開発者が許可させることは出来ません」と書きましたが、実はコードから設定できてしまいます。しかし、ネットワークの向こうから実行することは出来ません。
 はい。ネットワークの向こうから実行できないなら、ローカルに保存してもらって、実行すればいいのです。許可を設定するだけのプログラムなら、一度配布するだけでいいでしょう。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -