Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的卸载方法没有被调用?_C#_.net_Installation_Windows Installer - Fatal编程技术网

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

C# 为什么我的卸载方法没有被调用?,c#,.net,installation,windows-installer,C#,.net,Installation,Windows Installer,我的VS 2008创建的安装程序不会调用我的安装程序类中的overrideUninstall方法。为什么?调用了Install方法。 我的安装程序类如下所示: [RunInstaller(true)] public partial class InstallerClass : Installer { public InstallerClass() { InitializeComponent(); }

我的VS 2008创建的安装程序不会调用我的安装程序类中的override
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"];
           ...           

        }
}
编辑:

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