我有一個VB6 EXE,我想通過C#代碼觸發,如下所示。在這段代碼執行後,我可以看到EXE已經在taskmanager中啓動了,並且在某個時候完成了。VB6 EXE參數在CMD文件中工作,但不在C#代碼中
我在IIS服務器中部署代碼。開始瀏覽網站並點擊啓動VB6SOME.exe的c#代碼按鈕。 Exe開始但從未完成(Taskmanager顯示用戶NETWORK服務的VB6SOME.exe)。
prcstrinfo.FileName = "VB6SOME.exe";
prcstrinfo.Arguments = "USERID,PASSWORD," + DateTime.Now.ToShortDateString();
Process proc = Process.Start(prcstrinfo);
此外,我試圖通過CMD調用VB6SOME.exe傳遞所有必要的參數。它開始並正確完成。 (我也監視了TaskManager,我看到它開始時我的ID不是網絡服務)。請幫助解決問題。
你可以嘗試捕捉應用程序的退出代碼,看看是否給你任何見解。你能夠在服務器上手動運行exe(使用相同的參數)嗎? – 2014-11-20 21:50:44
是的 - 我可以通過服務器中的CMD運行exe,無任何問題。唯一不同的是當我運行CMD文件時,用戶名顯示我的ID,但是當它通過C#運行時,用戶名顯示爲網絡服務 – vicage 2014-11-20 22:02:43
那麼你的答案就是......! – 2014-11-20 23:13:13