私の.Net-Windows-Forms-Applicationは、別のユーザーになりすまして実行されています。プログラムは、相互運用機能アセンブリからインスタンス化する別の.net-exeを開始します。相互運用機能アセンブリからインスタンス化しようとすると、外部プログラムがクラッシュします。Shift-RightClick-RunAsOtherUserごとに外部exeを起動し、偽装と同じログインデータを入力すると、プログラムは正常に動作します。
おそらくそれはsthを持っています。私のプロセス開始呼び出しを行うには:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = Path.Combine(System.Windows.Forms.Application.StartupPath, exeFile);
startInfo.Arguments = arguments;
Process process = Process.Start(startInfo);
process.WaitForExit();
[編集]
クラッシュ の詳細:vmWareと私の開発マシンの場合:例外ウィンドウはなく、何もありません。外部アプリケーションが実行されてから消えます(チェックするためにいくつかのメッセージボックスを入れました)。
顧客のマシンの場合:例外ウィンドウ
Unknown error (0xffff...e)
Win32Exception
System
StartWithShellExecuteEx
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)