4
A
回答
5
user.config數據存儲在%APPDATA%\ProjectName
文件夾中。
如果你想,當你卸載,那麼你可以只使用System.IO.Directory.Delete("%APPDATA%\ProjectName");
請注意清除user.config數據:您可以通過以下Context.Parameters["assemblypath"]
這是用戶選擇安裝路徑獲取安裝的路徑該項目。
0
您可以編寫自定義操作以在安裝或卸載或兩者同時觸發可執行文件。 例如:創建一個.exe,它將刪除user.config文件夾。在二進制表中添加此exe文件。在CustomAction表中添加一個條目,其中Source是要在Binary表中命名的外鍵,並且TArget是實際的exe文件名和type = 2。現在,在InstallExecuteSequence中將此操作添加到您希望在安裝過程中觸發.exe的任何順序。
1
這對我來說,基於上面的答案。對於我的應用程序,我只允許每個用戶安裝,而不是「所有用戶」,所以我不必擔心卸載多個用戶或卸載當前用戶以外的用戶。如果你允許「所有用戶」安裝,你會遇到一些問題。
public override void Uninstall(System.Collections.IDictionary savedState)
{
String p = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CompanyName");
string[] ss = Directory.GetDirectories(p, "ProjectName.*");
foreach (string s in ss)
{
if(MessageBox.Show("Delete " + s + "?","Delete Settings?",MessageBoxButtons.YesNo) == DialogResult.Yes)
Directory.Delete(s, true);
}
base.Uninstall(savedState);
}
我不是真的要離開提示在那裏,這只是用於測試,以確保我不會刪除我的電腦上的文件夾,錯誤..直到這個代碼已經全面測試。公司名稱和項目名稱需要更改以符合您的項目。
我可能會添加一個頁面來卸載用戶界面,或者只是一個提示,詢問他們是否要刪除所有設置(以便他們可以不選擇是否要重新安裝)。
2
var filePath = Environment.ExpandEnvironmentVariables(@"%userprofile%\APPDATA/ProjectName");
System.IO.Directory.Delete(filePath);
0
1)Create a custom action (article includes pictures)
2)手柄的自定義動作
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
try
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
path = Path.Combine(path, "{Your application folder name}");
Directory.Delete(path, true);
}
catch(Exception)
{
}
base.Uninstall(savedState);
}
相關問題
- 1. 刪除User.config在卸載程序時
- 2. 在通過msiexec/x命令行選項卸載時刪除user.config
- 3. 如何強制ViewController卸載?
- 4. 卸載時未刪除文件
- 5. NSIS:卸載時刪除文件夾
- 6. 如何在卸載時刪除設置
- 7. 卸載時刪除MSMQ隊列
- 8. 強制加載/卸載視圖
- 9. 強制類加載和卸載(ROR)
- 10. jCarousel卸載/禁用/刪除
- 11. 強制重載新/刪除繼承類
- 12. 如何刪除數據文件夾以及部分postgres9.1強制卸載腳本
- 13. 關閉後強制刪除.jar文件(創建Java卸載程序)
- 14. 強制卸載Visual Studio 2015社區
- 15. 強制卸載程序集中的DLL
- 16. 卸載軟件包並強制刷新
- 17. 強制從內存中卸載表格
- 18. cakephp:強制卸載/關閉連接
- 19. 強制限制刪除
- 20. 在Citrix上刪除.NET User.config文件
- 21. 設置卸載和添加/刪除程序卸載
- 22. 如何強制鏈接時不刪除?
- 23. Kubernetes強制刪除RC不刪除
- 24. 強制刪除緩存
- 25. Laravel強制刪除失敗
- 26. .htaccess強制刪除重寫
- 27. 強制從codeigniter刪除index.php
- 28. 當另一個tabButton被擊中時強制視圖卸載。 (iPhone)
- 29. npm卸載不會刪除文件
- 30. 卸載程序不刪除註冊表
的user.config獲取在這個位置創建的
Uninstall
事件:C:\用戶\ [用戶] \應用程序數據\ Local \ [Company] \ [Project Name] .vshos_Url_zw3i045fzlcuakzzn3dtaw3fqgh03sub \ 1.0.0.0;我不認爲它在同一個位置 –@Martin Ongtangco,是的,這是正確的。但是如果你想刪除所有的user.config設置,你可以刪除這個文件夾。 C:\ Users [User] \ AppData \ Local [Company] [Project Name] – Jethro
顯然,「Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),」Company Name「)」不會給我用戶但「所有用戶」 –