トップ回答者
IISにデプロイしたアプリケーションが正常に動作しません。

質問
-
webアプリ(VB.NET)とコンソールアプリ(C++/exeファイル)を作成し、IIS上での動作確認を試みています。このアプリは、webアプリのボタンを押下すると、サーバーでVBの処理が行われ、上記exeファイルがキックされます。キックされたexeファイルは別途ライセンスファイルを認識した上で、処理が進んでいきます。
【環境】
開発環境 webアプリ:visual studio pro 2015, win7 32bit、exeファイル:visual studio 2012 express , win7 32bit, コンソールアプリ
本番環境 IIS, Windows Server 2012 R2 Standard 64bit
【問題点】
現状の問題点は、webアプリからexeファイルをキックするとexeファイルの処理が途中で落ちてしまう点です。exeファイルのエラーとしては、ライセンスエラーが出力されており、正常にライセンスファイルを読めていないため処理が落ちているようです。尚、IISではなくVS経由で実行すると、webアプリからexeファイルが起動され、exeファイルの正常動作が確認されました。解決したいことは、webアプリ経由でexeをキックしたときに正常にexeがキックされることです。
【考察と対応】
・単体のexeファイル実行では正常に動いているのでライセンスファイルが不正ではないと考えられる
・VSで動作しIISでエラーになるので、権限設定を疑い設定を確認したものの、IIS USERはフル権限で問題なし
・webアプリのサーバー処理で管理者権限でexeファイルを実行するように修正。しかしwebアプリ→exeファイルは途中で落ちる
・webアプリのサーバー処理でカレントディレクトリをexeファイルの階層に設定した上でexeをキックするよう修正。しかしwebアプリ→exeファイルは途中で落ちる
以上を踏まえ、もし可能でしたらexeファイルが途中で落ちる原因をご教授頂けないでしょうか。
- 編集済み devBgner 2017年2月24日 5:20
回答
-
質問者さんの言う web アプリというのは ASP.NET Web アプリの話だと理解して・・・(質問の最初に書いてくださいね)
開発環境(IIS Express や ASP.NET 開発サーバーで実行)では問題なく動いて、運用環境(IIS で実行)では動かないというのは、
(1) ワーカープロセスの権限の問題。
(2) Environment.UserInteractive の違い。(開発環境は true、運用環境は false)
によると思います。
「単体のexeファイル」というのは何だか分かりませんが、コンソールを表示しようとしているとすれば、それも UI ですので、そこで例外がスローされて web アプリが落ちているのではないかと思われます。
【追伸】
コンソールアプリは 32-bit のようですが、64-bit OS の IIS で動かす Web アプリからそれを起動して、別プロセスとして WOW 上で問題なく動くんでしたっけ? そこは問題ないということでしてら失礼しました。この追伸は忘れてください。
- 編集済み SurferOnWww 2017年2月24日 7:54 追伸追加
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年2月27日 2:35
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年3月6日 0:32
すべての返信
-
質問者さんの言う web アプリというのは ASP.NET Web アプリの話だと理解して・・・(質問の最初に書いてくださいね)
開発環境(IIS Express や ASP.NET 開発サーバーで実行)では問題なく動いて、運用環境(IIS で実行)では動かないというのは、
(1) ワーカープロセスの権限の問題。
(2) Environment.UserInteractive の違い。(開発環境は true、運用環境は false)
によると思います。
「単体のexeファイル」というのは何だか分かりませんが、コンソールを表示しようとしているとすれば、それも UI ですので、そこで例外がスローされて web アプリが落ちているのではないかと思われます。
【追伸】
コンソールアプリは 32-bit のようですが、64-bit OS の IIS で動かす Web アプリからそれを起動して、別プロセスとして WOW 上で問題なく動くんでしたっけ? そこは問題ないということでしてら失礼しました。この追伸は忘れてください。
- 編集済み SurferOnWww 2017年2月24日 7:54 追伸追加
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年2月27日 2:35
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年3月6日 0:32
-
> (1)、(2)の確認結果を開発元に伝え、対応を相談したところパッチファイルを頂き、
> それを使用することで本件は解決しました。可能な範囲で結構ですので、そのパッチが何に対するものなのか、どういう点を修正したかを教えていただけませんか?
このフォーラムは技術者同士の情報交換の場所として設けられているということで、そのあたりの情報を提供していただけると幸いです。
#「単体のexeファイル」に対するパッチで、Environment.UserInteractive が false の運用環境でも動くように修正するものではないかと想像していますが・・・