2010-10-29 231 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

相关问题