2012-06-05 248 views
28

雖然有嘗試通過ClickOnce發佈既是富貝塔版本我的應用程序的嘗試,我設法揍現有的和以前的工作細 1.0.0安裝(與富Beta版替換它 1.0.5,由於使用相同的GUID,程序集名稱,產品名稱或其他信息而不起作用)。如何從我的電腦完全卸載ClickOnce應用程序?

好的,誠實的錯誤。在嘗試恢復此操作後,我使用Windows 7添加/刪除程序卸載了Foo Beta

我的電腦現在處於沒有實例Foo在Windows 7添加/刪除程序中顯示的狀態。但是,Foo Beta仍顯示爲已安裝。此外,我無法重新安裝Foo 1.0.0,因爲它認爲該程序的較新版本(Foo Beta 1.0.5)已經存在於我的計算機上,而是出現「無法安裝因爲該產品的更新版本已經安裝了'消息。

我怎樣才能讓我的電腦既沒有也不富Beta版曾經被安裝就可以了,這樣我就可以然後去和狀態重新安裝

到目前爲止,我已閱讀堆棧溢出問題Uninstall ClickOnce clientsHow can I remove all traces of a ClickOnce application from a customer's computer?和嘗試:

  1. 刪除所有相關 .exe文件的目錄下%USERPROFILE%/
  2. 運行mage.exe -cc
  3. 編輯HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \卸載並刪除條目爲我的Fo程序。

當我運行安裝程序時,仍然出現錯誤。它從哪裏找到我的程序的痕跡?並且爲了將來的參考,這在哪裏被記錄?

回答

36

您可以嘗試使用此命令清除的ClickOnce緩存:

rundll32 dfshim CleanOnlineAppCache 
+4

是不是等同於「mage.exe -cc」? –

+0

非常好。爲我工作很好。 – Kamrul

+0

在我的win7上,mage.exe沒有顯示在標準路徑中,但是這對我有用。 – Jeff

19

1)運行rundll32 %SystemRoot%\system32\dfshim.dll CleanOnlineAppCache

2)您可能需要手動刪除ClickOnce部署文件夾,

  • 在Windows Vista或更高版本上,這將是%LocalAppData%\ Apps \ 2.0目錄。
  • 在Windows XP上,這將是%USERPROFILE%\ Local Settings \ Apps \ 2.0目錄。

3)您可能還需要註銷和登錄回

+0

順便說一句 - 我不得不這樣做,然後在刪除文件後,執行上面提到的rundll32 dfshim CleanOnlineAppCache。 (按此順序)只有這樣才能爲我工作。 +1給你們兩個! – Jeff

+0

+1我無法刪除整個2.0文件夾,因爲安裝了其他幾個ClickOnce應用程序,但刪除相關的文件夾相對於我的應用程序,並且還在... 2.0 \ manifests文件夾下工作。 – squillman

+0

ClickOnce還在註冊表中存儲了一些信息(請參閱Uriel Katz對Oleksandr Matviienko的回答的評論),因此刪除Apps \ 2.0目錄不是完整的應用程序卸載。第一種方法,'rundll32 dfshim CleanOnlineAppCache',工作良好並且清除註冊表。 –

0

刪除下%USERPROFILE所有相關foo.exe的目錄%/

你也應該看看裏面體現夾

+1

如果您打算做手工你需要: 1.刪除卸載關鍵 2.看這下面,並刪除有關您的應用程序的所有事情(和子!): HKEY_CLASSES_ROOT \軟件\微軟\的Windows \ CurrentVersion \部署\ SideBySide \ 2.0 HKEY_CURRENT_USER \ SOFTWARE \ Classes \ Software \ Microsoft \ Windows \ CurrentVersion \ Deployment \ SideBySide \ 2.0 3.在%LocalAppData%\ Apps \ 2.0下查找數據和混淆的名稱文件夾,與您的應用程序相關,也可以體現爲 這足以消除安裝不會失敗的情況,因此可能就足夠了。 –