C# 为什么我的卸载方法没有被调用?
我的VS 2008创建的安装程序不会调用我的安装程序类中的overrideC# 为什么我的卸载方法没有被调用?,c#,.net,installation,windows-installer,C#,.net,Installation,Windows Installer,我的VS 2008创建的安装程序不会调用我的安装程序类中的overrideUninstall方法。为什么?调用了Install方法。 我的安装程序类如下所示: [RunInstaller(true)] public partial class InstallerClass : Installer { public InstallerClass() { InitializeComponent(); }
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属性不为空。在我的情况下,它是如何空的,并导致了这个问题