2010-10-29 228 views
3

我的VS 2008創建的安裝程序不會在我的安裝程序類中調用覆蓋Uninstall方法。爲什麼?調用Install方法。 我的安裝程序類看起來是這樣的:爲什麼我的卸載方法不被調用?

[RunInstaller(true)] 
    public partial class InstallerClass : Installer 
    { 
     public InstallerClass() 
     { 
      InitializeComponent(); 
     } 
     public override void Install(IDictionary stateSaver) 
     { 
      base.Install(stateSaver); 

      //encrypt connection string 
      encryptConntStr(); 

      //create database 
      createDatabase(); 
     } 

     public override void Commit(IDictionary savedState) 
     { 
      base.Commit(savedState); 
     } 

     public override void Rollback(IDictionary savedState) 
     { 
      base.Rollback(savedState); 
     } 

     public override void Uninstall(IDictionary savedState) 
     { 
      base.Uninstall(savedState); 
      System.Diagnostics.Debugger.Break(); 
      MessageBox.Show("I am in Uninstall now."); 
      string exePathStr = Context.Parameters["targetdir"]; 
      ...   

     } 
} 

編輯: alt text

回答

3

確保CustomActionData屬性不爲空。一些在我的情況下是空的並導致這個問題。 alt text

相關問題