- PR -

ASP.NET(C#)で、Webサーバー上のEXEを実行

1
投稿者投稿内容
H.N
会議室デビュー日: 2003/04/17
投稿数: 7
投稿日時: 2003-08-19 20:39
いつも御世話になっております。

今、ASP.NET(C#)でWebサーバー上にあるEXEを実行するプログラムを作っています。

プログラムはこのようなものです。
using System.Diagnostics;
Process.Start( "c:/temp/test.exe" );

しかし、上記の処理を実行しても、プログラムは動きません。
エラーを発生せずに、終了します。

環境は、Windows2000Pro,VS2003Proです。
実行ファイルのアクセス権限は、Everyoneのフルコントロールです。

宜しくお願いします。
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2003-08-19 21:44
今日は

ベストな方法かどうか分かりませんが、下記の方法で起動できると思います。
Dim wc As System.Net.WebClient = New System.Net.WebClient
Dim st As System.IO.Stream = wc.OpenRead("http://*****/****.exe")
アンサーを取り出す時は下記を追加すれば、文字列で取り出せます。
Dim braw() As Byte = wc.DownloadData("http://*****/****.exe")
Dim sret As String = System.Text.UTF8Encoding.UTF8.GetString(braw)

using System.Diagnostics;
Process.Start( "c:/temp/test.exe" );
はクライアント内の起動方法だと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-20 08:10
 同種の質問は過去に数回出ているんですけど、検索してみました?

1.サーバにあるファイルをサーバで実行するのでしょうか?
2.クライアントにあるファイルをクライアントで実行するのでしょうか?
3.サーバにあるファイルをクライアントで実行するのでしょうか?
4.クライアントにあるファイルをサーバで実行するのでしょうか?


1はWindowsアプリのようなGUIをもつものは実行できません。
2はJavaScript、ActiveXなどで行いますが、セキュリティ設定が。。。
3はrvmxさんの方法や、IEのアドレスに直接exeを指定するという方法も。
4は不可能だと思います。
H.N
会議室デビュー日: 2003/04/17
投稿数: 7
投稿日時: 2003-08-20 22:04
rvmxさん、Jittaさん
大変にありがとうございました。

結局、実行させていたファイルが、GUIを持っているものでした。
サーバーで実行させたいのにGUI有りのアプリを動かそうとしていたとは。
とても滑稽でした。

GUI無しのアプリを指定すると、正常に稼動しました。
・・・ソース・・・
using System.Diagnostics;
Process.Start( "c:/temp/test.exe" );
1

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