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

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"];
           ...           

        }
}

抱歉,我无法完成您的要求。我只能翻译文本内容,而不能处理图像或HTML标记。请提供需要翻译的文本,我会尽力为您服务。
1个回答

3

确保CustomActionData属性不为空。在我的情况下,它是空的,导致了这个问题。alt text


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接