今、ローカルの開発環境で作ったアプリを本番環境のサーバにデプロイして動作検証をしています。
作成したアプリはwebアプリ(VB.NET)とC++で作ったexeファイルの2つです。
処理としてはwebアプリでボタンを押すとサーバーでVBのコードが処理され、C++のexeが起動するという流れになります。
【フォルダ構成】
[sampleフォルダ]
┣webアプリ(VB.NET)
┗[appフォルダ]
┣ライセンスファイル
┗exe(C++)
【環境】
開発環境
webアプリ:visual studio pro 2015, win7 32bit
exeファイル:visual studio 2012 express , win7 32bit, コンソールアプリ
本番環境:IIS, Windows Server 2012 R2 Standard 64bit
【問題点】
ローカルの開発環境ではwebアプリ→exeが起動され、正常動作が確認できました。
一方、本番環境ではexe単体では起動し正常動作するものの、webアプリ→exe起動に関しては、exeは起動するものの途中で処理が落ちてしまうという現象が起きます。エラーとしてはライセンスエラーが取得されたので、開発元に確認したところ、ライセンスファイルの読取が失敗しているとのことです。
(本exeファイルは実行するためにライセンスファイルが必要です)
解決したいことは本番環境下でwebアプリ→exeを起動させ、exeの正常動作を確認することです。
【対処したこと】
開発環境と本番環境では実行環境がVSとIISで違うので、まずはここを疑いました。
・IISの権限をチェックし、ユーザーがフルコントロールであることを確認
・webアプリからexeを起動する際に管理者権限で実行
続いてカレントディレクトリを疑いました。
・webアプリのサーバー処理の中で、カレントディレクトリをexeと同階層に設定して実行
ライセンスファイルの期限も疑いましたが、本番環境下で単体でexeが起動し正常処理されていることから特に問題ないと考えております。
改善すべき着眼点すらも思い浮かばず、八方塞になってしまいました(泣)
もしよろしければ、着眼点だけでもご助言いただけないでしょうか。
開発環境と本番環境の動作差異について
Re: 開発環境と本番環境の動作差異について
>エラーとしてはライセンスエラーが取得されたので、開発元に確認したところ、ライセンスファイルの読取が失敗しているとのことです。
これが原因と分かっているならマイクロソフトに相談すれば一発のはず。(私のいた仕事場はクリチカルだった為3時間以内にマイクロソフトからレスポンスをもらえるメンテナンス契約を結んでいたはず。そうでなくては実際の所どこBugったかわからない時大変ですよ)
まあ、コンソールならライセンスファイルの読取が失敗しそうなところのprintfデバッグをしてマイクロソフトに相談されてはいかがですか。
これが原因と分かっているならマイクロソフトに相談すれば一発のはず。(私のいた仕事場はクリチカルだった為3時間以内にマイクロソフトからレスポンスをもらえるメンテナンス契約を結んでいたはず。そうでなくては実際の所どこBugったかわからない時大変ですよ)
まあ、コンソールならライセンスファイルの読取が失敗しそうなところのprintfデバッグをしてマイクロソフトに相談されてはいかがですか。
Re: 開発環境と本番環境の動作差異について
>Mathさん
返信が遅れ申し訳ありません。
ご返答ありがとうございました。
幸いにも今回はエラー箇所が特定できていますので、
本件の確認をマイクロソフトにしてみようと思います。
どうもありがとうございました。
返信が遅れ申し訳ありません。
ご返答ありがとうございました。
幸いにも今回はエラー箇所が特定できていますので、
本件の確認をマイクロソフトにしてみようと思います。
どうもありがとうございました。