動作環境
WebサーバOS: Windows Server 2012 R2
Webサーバ: IIS8.5
使用言語: C#(ASP.NET)
使用ブラウザ: IE(基本的に11)(IE以外は未サポート)
上記組み合わせにて、社内向けのWebサイトを構築しております。
躓いている点
クライアント端末からブラウザでWebサイトにアクセスを行い、
特定のボタンを押下した際にWebサーバ上に配置しているexeを実行したいのですが、
どうやら実行ができていないみたいです。
(exe自体は引数に貰ったフォルダにCSVファイルを吐くような、すごく簡単なものです。)
別環境にて
WebサーバのOSがWindows Server 2008R2や、開発端末(Windows 7)であれば
正常に動作しており、IIS8.5(Windows Server 2012 R2)の問題と疑っております。
実装コード(該当部分のみ抜粋)
C#
1ProcessStartInfo pInfo = new ProcessStartInfo(); 2pInfo.FileName = module; 3pInfo.WorkingDirectory = di.FullName; 4pInfo.UseShellExecute = false; 5pInfo.RedirectStandardOutput = false; 6pInfo.RedirectStandardInput = false; 7pInfo.CreateNoWindow = true; 8pInfo.Arguments = args; 9 10using (Process p = Process.Start(pInfo)) 11{ 12 p.WaitForExit(Timeout); 13 14 if (!p.HasExited) 15 { 16 p.Kill(); 17 return false; 18 } 19}
その他試したこと
ProcessStartInfoのFileNameにcmd.exe(Environment.GetEnvironmentVariable("ComSpec"))を設定し、
引数に"/c"から始めて実行モジュールを指定したりしましたが、動作しませんでした。
モジュール自体を実行直後にCドライブ直下にログファイルを出力するように作成しましたが、
ログファイルが出力されないため、そもそも叩けていないと考えております。
また、アクセス権等はEveryoneにフルコンを付与しており、念の為Network Service(IIS実行ユーザ)にもフルコン等を付与しておりますが、
変わりはありませんでした。
但し、cmd.exeを指定し、Argumentsに"/c echo "a" > a.txt"のように記載をすると、
作業フォルダ直下にa.txtが出力されました。
五月雨となり申し訳ございませんが、必要な情報がありましたらご提供致しますので、
お知恵をお貸しいただければと存じます。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー