为什么我的Uninstall方法没有被调用?
我的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"]; ... } }
编辑:
确保CustomActionData属性不为空。 一些如何在我的情况下是空的并导致该问题。