2013-02-13 30 views
0

我有ac#exe調用System.Diagnostics.Process來運行cmd.exe中的一些命令,被動地安裝一對安裝程序..我一直在我的機器上測試它(64位win8,它工作得很好, 。但是當我運行在Windows XP的32位版本的exe文件,程序簡單地跳過過程中部分有沒有拋出錯誤,它只是忽略了他們這是我的代碼:通過System.Diagnostics.Process安裝不適用於32位/ XP?

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("CMD.exe", @"/C [command stuff]}"); 
psi.CreateNoWindow = true;  
psi.UseShellExecute = false; 
System.Diagnostics.Process diag = System.Diagnostics.Process.Start(psi); 
diag.WaitForExit(); 
diag.Close(); 

什麼可能在這裏處理交易嗎?我再次得到沒有錯誤,它只是忽略它,它是interesing,因爲我可以在那裏做所有的事情,只是運行日期作爲命令,它工作正常,但它不會運行msi和exe文件需要安裝。我找不到有關它在64位而不是32位工作的任何信息。謝謝!

+0

您是否嘗試捕獲輸出和/或錯誤流?這個錯誤很可能在你沒有向我們顯示的「命令內容」中。 – 2013-02-13 05:27:38

+0

是的,我經歷了這一點,無論我做了什麼,我都無法讓它看到一個錯誤,但它是那些問題的命令。 – KJ3 2013-02-13 06:37:34

回答

0

所以我發現我的問題是什麼。在運行.msi進行安裝之前,我使用語法C:/folder/setup.msi更改了目錄。這在我的電腦上工作正常,但沒有在XP上做任何事。事實證明,它不知道如何處理正斜槓。我所要做的只是將其更改爲C:\ folder \ setup.msi並且它工作正常。我覺得自己像一個白癡,希望這可以幫助別人,雖然大聲笑。