为什么我的Uninstall方法没有被调用?

时间:2010-10-29 14:11:12

标签: c# .net installer windows-installer

我的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

1 个答案:

答案 0 :(得分:3)

确保CustomActionData属性不为空。一些如何在我的情况下是空的并导致该问题。alt text