2009-10-15 57 views
5

我工作的一大點擊一次應用程序(150MB,> 200 DLL)和作爲Interative的調試過程的一部分,我想無需重新構建和重新部署整個應用程序只更新1 DLL並重新啓動應用程序。如何只更新ClickOnce安裝中的一個DLL?

這可能嗎?如果是這樣......怎麼樣?

問題澄清: 2009年9月26日

我知道這是可以手動補丁在客戶端上的DLL它已下載整個應用程序,然後直接從本地緩存啓動客戶端後.EXE夾。那不是重點。我想知道如何在服務器上更改/添加DLL,並讓所有客戶端在下次啓動時都獲得新的DLL。如果可能,我正在尋找「將DLL複製到此文件夾並編輯此文本文件」的答案。我專門做不是想要重建或重新部署服務器上的點擊一次安裝...只需使用我在IDE中編譯的單個DLL手動修補即可。

+1

在Visual Studio中構建和調試應用程序通常不會觸發ClickOnce發佈/部署過程。你能否澄清你如何調試你的應用程序? – 2009-10-15 20:12:24

+0

我想他是在客戶端系統上的實時環境中調試它,有時是唯一的選擇。 – 2009-10-15 21:04:35

+1

如果您只是試圖在單個用戶的計算機上進行調試,是否可以將調試版本複製到用戶桌面上的文件夾並完全跳過ClickOnce? – codeConcussion 2009-10-15 22:04:30

回答

6

我一直爭取與此一兩天的,是可以做到的,但它是繁瑣的,有了這個解決方案的ClickOnce仍然掃描所有文件,並顯示進度條,但只有下載並更新變化。

這是我寫應用此修補方法的過程......

注意這個過程需要與該點擊的精確副本進行了一次升級部署。

在應用程序文件文件夾...

  1. 開放.exe.manifest使用mageui(3.5或更高版本假設VS2010)
  2. 更改版本號

  3. 更換修補文件(S )注意:文件被重命名爲文件名.deploy例如Control.DLL變成control.DLL。部署

  4. 註冊&保存你的文件PFX文件

在根路徑

  1. 打開。應用文件中使用mageui(版本3.5或更高)
  2. 更改版本號
  3. 更改所需的最低版本號
  4. 選擇上面修改的exe.manifest
  5. 註冊&保存文件

複製。應用到應用Files文件夾* 注:這一步是不是絕對必要的,但只是不斷的備份文件有關。

清單文件和修補程序庫現在可以複製到您的部署環境。

+0

感謝您的詳細信息。將此答案標記爲解決方案,因爲它詳細說明了步驟。 – 2012-03-12 15:14:05

+0

對於我們的應用程序,我們必須在項目設置中爲部分dll更新設置標誌完全信任應用程序,而不僅僅是強命名 – VMAtm 2017-04-05 20:39:56

1

的ClickOnce將決定你更新的dll文件,您的客戶將不必下載完整的150MB,但只有那些更新。唯一的缺點是你仍然需要上傳所有的150MB。

我有我的客戶是這樣工作,大約40MB始終保持不變ClickOnce應用程序。無需額外的工作。

+0

+1:這裏一樣。這是一個20分鐘的部署,但大約需要10秒才能讓我的客戶下載差異。 – 2009-10-21 16:40:05

+0

是的,上傳的東西總是會吸一點,特別是。當從遠程進行部署時(以及客戶端的點擊一旦存儲庫增長並增長並增長......) – 2009-10-21 22:46:57

+0

與客戶端上的啓動不同,這是一個問題。我想知道如何使用我單獨編譯的一個DLL修補服務器上的主文件列表,而無需實際重建整個產品或重建一次性安裝集。我正在尋找一個「將DLL拷貝到服務器上的這個文件夾並編輯這個文本文件,並且一次啓動就會開始使用新DLL」的答案。 – 2009-10-27 02:54:37

0

假設您在客戶端系統上的現場環境中工作,你應該能夠通過複製過來的安裝文件夾前面的DLL替換DLL。我認爲Windows XP上clickonce安裝的位置是C:\ Documents and Settings \ userprofile \ Local Settings \ Apps。

+0

這適用於單個客戶端。我正在尋找可以在服務器上手動修補單個DLL的解決方案(我可以直接訪問它),以便所有客戶端都能獲得新的DLL。 – 2009-10-27 02:55:34

2

我在這裏遇到同樣的問題。 我認爲你需要將特定文件複製到clickOnce文件夾。 使用MageUI編輯.manifest和.application文件。 在兩個文件中提前提供版本號。 不確定,但客戶端的ClickOnce預計會下載已更改的文件。

+2

這對我有效,但這是一個嚴重的頭痛。事實證明,重建ClickOnce安裝並重新部署它將變得更加容易(就像那樣痛苦)。太糟糕了:( – 2010-08-25 20:08:35

相關問題