2011-11-17 25 views
1

我的問題是爲什麼.net程序在不同計算機(兩者都具有相同的操作系統)之間運行不同?應用程序崩潰在一臺計算機上而不是其他部署後

這裏是背景資料:

  1. 我已經建立在C#.NET大4應用程序。
  2. 我已經創建了一個安裝程序並安裝了該應用程序。
  3. 我已經在Windows 7 64位下的虛擬機上運行應用程序;它工作正常。
  4. 我創建了一個默認的未處理的異常對話框,我可以強制使用調用拋出新異常(「強制異常進行測試」的菜單選項。

現在這個對話框的作品,如果unfortuniate確實發生等等

,但

當我安裝了Win 7的64位則軟件不處理異常另一個工作站上這個應用程序以同樣的方式,它崩潰在各個點,我的測試版本不?

我們正在嘗試重新安裝.NET框架。

+1

對你問題的回答很簡單,兩臺電腦都不一樣(更新,文化設置等),或者你的安裝在兩臺電腦上都不一樣。 – Peter

+0

實現AppDomain.CurrentDomain.UnhandledException事件的處理程序,所以我們不必猜測。 –

+0

感謝您提供這些建議。 AppDomain.CurrentDomin.UnhandledException實際上已經在使用,但調試/發佈問題以及缺少Windows更新似乎阻止了它。我想特定的機器正在嘗試鍛鍊哪裏或哪些JIT調試器使用... – James

回答

2

有很多原因可能會發生這種情況,我會首先檢查操作系統事件日誌,看看他們是否給你指示哪裏可以看到。

顯而易見的要點: 調試/發佈版本。

OS補丁不匹配(特別是包括.NET)

NET版本不匹配。

DLL依賴項版本不匹配。

從屬DLL未正確註冊。

項目路徑不匹配。

防病毒軟件。

硬件相關的差異。

而對Vista/Windows 7程序訪問權限的一個巨大的bugbear程序。

我會先在開發機器上安裝該程序的發行版本。

+0

我認爲這是一個Windows更新和調試/發佈組合。 [Ophs pressng進入沒有開始新行。]感謝您的建議,他們確實幫助:-) – James

相關問題