私たちのアプリケーションは、Win32アンマネージドアプリケーションと.NET2.0マネージドアプリケーションのハイブリッドです。Win32部分はメインの実行可能ファイルであり、ある時点で.NET 2.0ランタイムをロードしてホストし、いくつかの管理対象モジュールをロードして新しいWinFormsウィンドウを開きます。
私たちはCASPOLタイプの問題を共有してきましたが、今日は非常に奇妙な問題があり、誰かが私にいくつかの指針やアイデア、または基本的には何かを教えてくれることを望んでいます。これを解決します。
citrixを介してアクセスするサーバーで、アプリケーションファイルが、サーバー/ドメイン管理者である現在ログオンしているユーザーのデスクトップにあるディレクトリにある場合、プログラムは正常に実行されます。.NETウィンドウは期待どおりに開きます。
ただし、ディレクトリを同じディスクのルートに移動すると、サーバー内の物理ディスクになり(SANマッピングなど、私の知る限りCASPOLコマンドをトリガーするものはありません)、他のすべてを同じ、同じユーザーに保ちます。同じ構成などの場合、.NETウィンドウを呼び出そうとすると、アプリケーションがサイレントにクラッシュします。消えるだけでクラッシュします。これは、スタックオーバーフローのようなものである可能性を示唆しています。アプリの一部にロギングを追加して、何がどこで発生するかを把握できるようにすることを検討していますが、この質問もここに投稿しています。
これまでのところ、CASPOLアクセスリストに異常がなく、NGENキャッシュに異常がなく(サーバーの所有者が以前から破損した画像があった可能性があると考えていました)、異常がないことを確認しました。 GAC(アセンブリにはGACを使用しません)。
要約:
- プログラムがU:\ Documents and Settings \ USERNAME \ Desktop \ directoryから実行される場合、プログラムは機能します
- U:\ directoryから実行された場合、実行されません
- U:サーバー内の物理ディスクです
- NGENまたはGACキャッシュに明らかな異常はありません
- 適切な.NETランタイムがインストールされ、アプリケーションに適切なファイルがインストールされています(デスクトップの場所から実行した場合は実際に正常に機能します)
役立つかもしれない何かを持っている人はいますか?
編集:問題はここで別の/他の情報で再質問され、「解決」されました。