2014-10-02 64 views
0

我們在.NET 4.0上有一個內部公司的Windows窗體應用程序。我們的問題是,有些用戶在更新應用程序時遇到麻煩,因爲它已經安裝。.NET Windows窗體應用程序更新部署

,我們發佈應用程序的方法是:

  • 轉到項目
  • 設置新版本的應用程序的性能,設置應用程序的更新URL。
  • 將應用發佈到本地。
  • 將應用程序部署到更新URL。

由此,應用程序始終會檢查是否部署了新版本,如果是,則會下載並安裝它。

正如我所說的,我們的問題是,有些用戶無法正確安裝應用程序更新和應用程序崩潰。然後,我們告訴用戶卸載程序並從部署位置下載安裝包(實際上,因爲我們無法修復程序,所以我們不得不編寫另一個應用程序來執行此操作!)。

因爲它對所有的用戶都不一樣,所以我不明白爲什麼會發生這種情況。我們的一位開發人員堅持認爲這是一個與網絡有關的問題,但我想知道我們是否可以爲此設置絕對解決方案。

爲什麼這不起作用?如何解決它?

+2

對於SO,這個問題可能過於開放。你會更好地問一個非常直接的問題。一個措辭寬泛的「爲什麼整個過程不起作用」在這裏是不能回答的。 – DonBoitnott 2014-10-02 10:49:05

+0

@DonBoitnott編輯。謝謝。 – 2014-10-02 11:09:57

+0

這是可能的應用程序是針對特定平臺(32/64位)和有問題的用戶正在運行另一個? – Crowcoder 2014-10-12 00:10:08

回答

1

還有一種解決問題的方法。 您應該在數據庫端維護版本並更新表用戶vise。 當用戶登錄時,它將檢查服務器上的版本以及當前版本(如果它不同)。 只是一個帶有命令的批處理文件,用於更新特定的可執行文件。

+0

嘗試檢測應用程序是否爲最新版本,但在更新它時,我們沒有遇到任何問題。我沒有得到這將如何幫助。 – 2014-10-15 05:51:46

+0

雅..剛剛得到你的觀點,但批處理文件可以處理..你可以檢測問題的情況,並保持批處理文件中的解決條件。 – 2014-10-15 06:08:16

1

您必須從ClickOnce安裝日誌中找到特定安裝失敗的詳細信息。這是默認在「Internet臨時文件夾」中。見the answer herearticle here。您一定要在日誌文件中查看原因才能排除故障。

通常可以從控制面板卸載應用程序,然後從相同的URL或UNC路徑重新安裝。也可能需要清除ClickOnce應用程序緩存%userprofile%\Local Settings\Apps\2.0

點擊一次通常適用於較小的應用程序,從我的經驗來看,更多情況下,隨着具有多個庫的較大應用程序出現問題。

恐怕「絕對的解決辦法」就是不要使用點擊一次的部署方法。