2010-04-23 127 views
6

我的程序隨Visual Studio安裝項目一起安裝。該程序運行時會在默認位置創建一個user.config文件,因爲我正在使用Settings。當uninsalling時,我如何讓卸載程序刪除該文件user.config? 另外,如何讓卸載程序刪除%AppData%中的文件夾?如何在卸載時刪除設置

+0

可能的重複http://stackoverflow.com/questions/510722/if-the-user-uninstalls-your-program-what-do-you-do-with-the-user-data – saschabeaumont 2010-04-27 06:36:12

回答

2

你需要編寫自定義任務是 - 在默認情況下(和設計)的安裝程序將只刪除它安裝的是什麼,是事後添加的東西是不是安裝事務的一部分。你也許可以嘗試爲user.config安裝一個虛擬文件,並且你應該可以將AppData文件夾添加到安裝中(儘管如果你在卸載時添加了文件,它不會被刪除)。

+0

問題是我不知道不知道設置文件的確切位置。它坐落在應用程序數據\本地\ \ _ \ \ user.config – configurator 2010-04-23 14:05:00

+0

然後自定義卸載動作將是您最佳的選擇。它可以是真正簡單的,只是一個腳本,你可以做一個通配符刪除*%AppData%\ Local \ *向下。 – slugster 2010-04-24 00:44:32

2

基本上,你不能/不應該/不。下面是一個my answer to a duplicate of this question轉貼...

刪除所有每用戶數據的應該是一個單獨的進程中卸載。

我的建議(我們做什麼)將建立必須以管理員身份運行,並通過刪除其他用戶文件的配置文件列舉一個單獨的「清理」工具。可選地,它也可以枚舉用戶註冊表配置單元和刪除其他註冊表項等。我們的一個客戶端具有自己的自定義腳本,可以完全實現這一點。

然後,我會提供一個與此清理工具的客戶和卸載後說,如果要刪除所有用戶數據,然後使用這個。

考慮以下情況

  • 客戶卸載安裝新版本
  • 重大升級之前通過(這將卸載舊版本,所以你必須意識到這一點)
  • 意外卸載用戶誰不應該這樣做,但不得不這麼做

如果必須必須必須刪除數據的能力,那麼爲我所能想到的所有用戶刪除此數據的最簡單的方法是利用Active Setup並使用它來觸發每個用戶下次登錄時運行的每個用戶腳本。數據在卸載過程中不會被刪除,而是在下次登錄時刪除。而且你會留下一些註冊表項,但是它比列舉用戶配置文件的可能性更小。