2011-05-05 23 views
2

我有一個點擊一次的應用程序,由於某些原因,我不能重新發佈一個新版本。同時,我有一個dll,將取代應用程序中現有的dll中的一個。是否可以簡單地進入Application Files文件夾並將其切換出來?點擊中的dll似乎有一種不同的格式,[file] .dll.deploy。我可以轉換一個dll我有這種格式不知何故,讓它取代現有的?在點擊一次應用程序中切換出一個DLL?

回答

2

不,你不能換掉dll。 ClickOnce爲每個正在部署的文件生成一個哈希。即使新文件具有相同的名稱,它也不會具有清單中包含的相同哈希,並且不起作用。

我會在MageUI中打開您的清單,並嘗試以這種方式更新它們。

如果您不增加版本號,除非他們卸載/重新安裝,否則沒有人會獲得新文件。是否有一個特別的原因,你不能只是重新發布?

1

我一直在爲此奮戰幾天,它可以完成,但它很煩瑣,有了這個解決方案ClickOnce仍然掃描所有文件並顯示進度條,但只下載和更新更改。

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

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

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

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

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

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

在根路徑

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

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

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

相關問題