2011-06-29 168 views

回答

10

這是因爲Microsoft文章有點誤導。本文解釋的是如何創建自定義安裝程序應用程序。它沒有描述如何改變你的應用程序,以便它有一個自定義的安裝程序對話框,而不是標準的,它是系統的一部分。

要創建客戶安裝程序,請創建一個與MSDN文章中代碼中概述的應用程序類似的單獨應用程序。您需要在此應用程序的Main方法中添加步驟#5中的代碼,但是,請修改代碼以從您的安裝點查找應用程序清單。編譯應用程序並將其分發給用戶,但您認爲合適。

雖然您將不得不管理初始安裝程序應用程序的分發,但您可以在應用程序中實現此更新過程。在這種情況下,請按照文章中的說明進行操作。正如我前面提到的,您將希望在您想要的時候檢查您的更新。一旦需要更新,應用程序就可以在ClickOnce應用程序中調用第5步中的代碼。

+0

謝謝。這確實是誤導。 –

6

我與微軟的ClickOnce傢伙進行了一次完整的對話。說實話,我很厭煩,因爲他們沒有提供足夠的指導。他這樣說:你必須創建一個exe文件,但你必須進行檢查以確保在運行exe之前安裝了.NET Framework。因此,創建自己的可執行文件並將其作爲setup.exe運行 - 這是安裝應用程序的自定義代碼的位置。

我認爲他最終意味着你必須在非.NET代碼(如C)中編寫某種類型的引導程序,檢查.NET Framework並在需要時安裝它。然後它會觸發另一個exe文件,這是一個託管代碼,可以調用InPlaceHostingManager和其中的自定義UI。

+1

我看到了,也許解決方法是使用ClickOnce爲我的客戶提供一個安裝程序(就像谷歌使用ClickOnce分發Chrome安裝程序(而不是Chrome本身))稍後使用應用程序本身啓動InPlaceHostingManager。 –