2013-01-08 65 views

回答

0

安裝程序只刪除它安裝的文件。創建後安裝的文件不會被刪除。您必須創建一個自定義操作來執行清理。

+0

什麼來處理,這是我不知道是哪個文件存在的正確方法? - 不同版本的安裝程序安裝不同的文件。如何刪除安裝文件夾中的所有文件? – user271077

+0

您可以使用自定義操作操作 – Ciprian

0

您的軟件後,清理(刪除一些自定義或用戶生成的文件),你應該建立一個自定義操作並將其添加到您的安裝程序的卸載部分

自定義操作可以是繼承自System.Configuration.Install.Installer類的類庫。

這裏的卸載程序自定義操作的樣本實現:

[RunInstaller(true)] 
public partial class CustomUninstaller : System.Configuration.Install.Installer 
{ 
    public CustomUninstaller() 
    { 
     InitializeComponent(); 
    } 

    public override void Uninstall(IDictionary savedState) 
    { 
     if (savedState != null) 
     { 
      base.Uninstall(savedState); 
     } 

     string targetDir = @"C:\Your\Installation\Path"; 
     string tempDir = Path.Combine(targetDir, "temp"); 

     try 
     { 
      // delete temp files (you can as well delete all files: "*.*") 
      foreach (FileInfo f in new DirectoryInfo(targetDir).GetFiles("*.tmp")) 
      { 
       f.Delete(); 
      } 

      // delete entire temp folder 
      if (Directory.Exists(tempDir)) 
      { 
       Directory.Delete(tempDir, true); 
      } 
     } 
     catch (Exception ex) 
     { 
      // TODO: Handle exceptions here 
     } 
    } 
} 
相關問題