2010-08-30 24 views
1

我完成了工作用C#應用程序,並希望做一個ClickOnce安裝程序。ClickOnce的,我的應用程序崩潰的Visual C#速成

現在,我只是想以確保安裝工作,並且我能不Visual Studio的運行exe。

所以我建立我的項目需要Windows Installer和.NET 3.5 SP1,並告訴它從一個供應商處下載(我會在以後的部件包括,但不適合這個測試)。這只是一個基本的實用程序,不需要更新,所以我禁用更新並告訴它使用CD/DVD安裝方法,因爲我只是想在本地運行它。當我運行生成的setup.exe時,出現安裝提示,MyApp出現在「添加/刪除程序」中。但是,只要安裝程序完成,它會與此消息一起崩潰:

[MyApp]遇到問題,需要關閉 。我們很抱歉 不便。

當您嘗試運行.exe時,彈出相同的消息。安裝期間不會創建「開始菜單」文件夾。我試圖完全不用創建安裝文件,所以它只是生成.application文件,但我仍然有同樣的錯誤。

我錯過了一些明顯的東西嗎?我的應用程序在Release配置中編譯並運行得很好。 ClickOnce是否應該與常規的WinForms應用程序一起工作?

這個問題: WPF application crash after ClickOnce publish 聽起來和我的問題類似,但我使用Windows窗體,因此沒有得到XAML異常。它只是拒絕運行。

回答

3

一個良好的開始是增加的處理程序AppDomain.UnhandledException事件。這是當一個異常代碼內發生時上升而不是由try/catch塊處理(或重新拋出永不再處理)的事件。 .NET在這種情況下的行爲是關閉應用程序 - 從它的角度來看,有一個失控的錯誤。

在這個事件處理程序中,您應該 - 至少 - 以確保在應用程序關閉前寫入的方式記錄錯誤。這可能是一個非常rudementary消息框來顯示錯誤內容,寫入到一個文本文件,或(最好)至書面方式共同記錄位置。

+0

> _ < 你是對的!感謝您幫助新手。原來我的一個架構沒有設置爲內容構建,所以XmlReader變得瘋狂。 – 2010-08-30 20:19:01