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

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

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

Re[5]: Process.StartでバッチやEXEが起動できない


(過去ログ 60 を表示中)

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

■34497 / inTopicNo.1)  Process.StartでバッチやEXEが起動できない
  
□投稿者/ たろ (30回)-(2009/03/31(Tue) 11:30:24)

分類:[C#] 

お疲れ様です。たろです。。

環境は、visualstudio2005でc#を使いWEBアプリを作成しています。

初歩的な質問です。

System.Diagnostics.Process.Start("c:\\windows\\notepad.exe");

上記の記述でWebアプリからノートパッドが起動できるかと思ったのですが、
タスクには追加されるのですが、ノートパッドが画面にでてきません。。


実行している環境は、自分の端末(windows XP)をWEBサーバー(IIS)にしています。
windows serverで動かせばキチンと起動するとかでしょうか?

初歩的な質問ですが、どなたかご回答お願いします。。
引用返信 編集キー/
■34498 / inTopicNo.2)  Re[1]: Process.StartでバッチやEXEが起動できない
□投稿者/ オショウ (137回)-(2009/03/31(Tue) 11:38:03)
> 環境は、visualstudio2005でc#を使いWEBアプリを作成しています。
>
> 初歩的な質問です。
>
> System.Diagnostics.Process.Start("c:\\windows\\notepad.exe");
>
> 上記の記述でWebアプリからノートパッドが起動できるかと思ったのですが、
> タスクには追加されるのですが、ノートパッドが画面にでてきません。。

  IISは、システムサービスで、デスクトップを持ってません。
  よって、Webアプリ上からはGUIアプリは起動できません。

  ただし別のシステムサービスを作って、そのサービスがデスクトップに
  アクセス権限可能な設定にして、ややこしいことすれば、デスクトップ
  に表示できます。

  ただしそれは、サーバー上でです。

  ブラウザを起動しているクライアントで行う場合は、ActiveX等仲立ち
  する機能が必要ですが、セキュリティ的に100%起動できるとは言えませ
  ん。クライアントの設定に依存します。

以上。参考まで
引用返信 編集キー/
■34499 / inTopicNo.3)  Re[2]: Process.StartでバッチやEXEが起動できない
□投稿者/ たろ (31回)-(2009/03/31(Tue) 12:58:23)
早速のご返信ありがとうございます。

なるほど、Webアプリ上からはGUIアプリは起動できないんですね。。

やりたかったことは、
WebアプリでIISのリサイクルを行うのに、
「IisApp /a WebAppPool /r」と記述されたバッチファイルをWEBアプリから起動したかったのです。。

バッチを起動できないのであれば、WEBアプリからIISをリサイクルする方法って他にありますでしょうか?



No34498 (オショウ さん) に返信
>>環境は、visualstudio2005でc#を使いWEBアプリを作成しています。
>>
>>初歩的な質問です。
>>
>>System.Diagnostics.Process.Start("c:\\windows\\notepad.exe");
>>
>>上記の記述でWebアプリからノートパッドが起動できるかと思ったのですが、
>>タスクには追加されるのですが、ノートパッドが画面にでてきません。。
>
>   IISは、システムサービスで、デスクトップを持ってません。
>   よって、Webアプリ上からはGUIアプリは起動できません。
>
>   ただし別のシステムサービスを作って、そのサービスがデスクトップに
>   アクセス権限可能な設定にして、ややこしいことすれば、デスクトップ
>   に表示できます。
>
>   ただしそれは、サーバー上でです。
>
>   ブラウザを起動しているクライアントで行う場合は、ActiveX等仲立ち
>   する機能が必要ですが、セキュリティ的に100%起動できるとは言えませ
>   ん。クライアントの設定に依存します。
>
> 以上。参考まで
引用返信 編集キー/
■34501 / inTopicNo.4)  Re[1]: Process.StartでバッチやEXEが起動できない
□投稿者/ aetos (125回)-(2009/03/31(Tue) 13:10:18)
aetos さんの Web サイト
No34497 (たろ さん) に返信
> System.Diagnostics.Process.Start("c:\\windows\\notepad.exe");
>
> 上記の記述でWebアプリからノートパッドが起動できるかと思ったのですが、
> タスクには追加されるのですが、ノートパッドが画面にでてきません。。

タスクに追加されているのであれば起動はしています。
ただ、そのウィンドウが見えていないだけです。

クライアントマシン上でアプリを実行したいわけではないんですよね?
サーバ上で GUI を要しないバッチを実行したいだけであれば、Process.Start でできるはずですよ。
引用返信 編集キー/
■34502 / inTopicNo.5)  Re[2]: Process.StartでバッチやEXEが起動できない
□投稿者/ たろ (32回)-(2009/03/31(Tue) 13:19:04)
aetosさん、ご返信ありがとうございます。

そうです!

クライアントマシン上でアプリを実行したいわけではなく、IISをリサイクルするバッチを起動
したいだけです。。

実際にリサイクル可能かもう一度、試してみますね。。

ちなみに、WEBアプリから直接IISをリサイクルするやり方ってないでしょうか?
※バッチが問題なければ、必要ないのですが・・・。


No34501 (aetos さん) に返信
> ■No34497 (たろ さん) に返信
>>System.Diagnostics.Process.Start("c:\\windows\\notepad.exe");
>>
>>上記の記述でWebアプリからノートパッドが起動できるかと思ったのですが、
>>タスクには追加されるのですが、ノートパッドが画面にでてきません。。
>
> タスクに追加されているのであれば起動はしています。
> ただ、そのウィンドウが見えていないだけです。
>
> クライアントマシン上でアプリを実行したいわけではないんですよね?
> サーバ上で GUI を要しないバッチを実行したいだけであれば、Process.Start でできるはずですよ。
引用返信 編集キー/
■34506 / inTopicNo.6)  Re[3]: Process.StartでバッチやEXEが起動できない
□投稿者/ オショウ (138回)-(2009/03/31(Tue) 14:34:36)
> WebアプリでIISのリサイクルを行うのに、
> 「IisApp /a WebAppPool /r」と記述されたバッチファイルをWEBアプリから起動したかったのです。。
>
> バッチを起動できないのであれば、WEBアプリからIISをリサイクルする方法って他にありますでしょうか?

  リサイクル?IISを再起動したいと言うことですか?

  サービスを再起動する権限も必要になりますネ!〜

  私はそういうシステムサービスを別途作って、.NETリモートで
  そのサービスに命令を出して再起動かけるような仕組みを考えますが・・・

  通常アプリでやってやれないことはないので、頑張って下さい!
  いろいろ知らないことをやらないといけませんが、技術的には
  楽しいと思いますヨ。

以上。

  
引用返信 編集キー/
■34551 / inTopicNo.7)  Re[3]: Process.StartでバッチやEXEが起動できない
□投稿者/ かたぎり (3回)-(2009/04/01(Wed) 10:59:24)
んー、そもそもとして、
IISを介してASPワーカープロセスを動かしている時のユーザー権限はどうなんかしらん?

IISでそのASPのプログラムページに匿名アクセス許可してたら、
バッチや他プロセス制御等の処理はかなり制限されるはず……

だいたい、そんなことホイホイされたら、
IISサーバーがハッキングされてプログラム入ったらとんでもないことになるし
そのあたりの制限がしっかり作られてるWEBサーバーアプリですよ、IISって。

ASPのプログラム側で、権限を持ったユーザーで詐称したProcess.startを実行
もしくは
再起動用プログラムを別途に作って常駐させておき(サービスでもいいですが)
ASP側からそのプログラムへRPC、もしくは、WCFでCALL。
かなぁ、現実的には。






引用返信 編集キー/
■34553 / inTopicNo.8)  Re[4]: Process.StartでバッチやEXEが起動できない
□投稿者/ なちゃ (262回)-(2009/04/01(Wed) 11:26:06)
IISレベルでの再起動が必要ですか?
アプリケーションの再起動だけなら、
HttpRuntime.UnloadAppDomainだったかでできませんかね?

いずれにしても下手に実行されることが無いように注意は必要ですが。

引用返信 編集キー/
■34626 / inTopicNo.9)  Re[5]: Process.StartでバッチやEXEが起動できない
□投稿者/ たろ (33回)-(2009/04/03(Fri) 11:27:32)
皆様、お疲れ様です。。

windowsサービスから
IISリサイクルバッチをSystem.Diagnostics.Process.Startで起動し、
リサイクルできる事が確認できました!!!

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


No34553 (なちゃ さん) に返信
> IISレベルでの再起動が必要ですか?
> アプリケーションの再起動だけなら、
> HttpRuntime.UnloadAppDomainだったかでできませんかね?
>
> いずれにしても下手に実行されることが無いように注意は必要ですが。
>
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -