我知道有other个similar个问题,但要么没有得到正确答案,要么答案不能解决我的问题。
我的程序有一个主框架以及框架的各种插件。插件通过XML文件进行管理,该文件包含框架动态加载插件所需的信息。
我有一个通用的Installer
类,用于在安装插件时处理自定义操作。
在安装过程中,它需要加载XML文件并在其中添加一个新节点,列出加载插件所需的信息。
在卸载过程中,只需要从XML文件中删除相同的节点。
安装工作正常。当我尝试卸载插件时,Installer
的卸载方法甚至都没有被调用。
如果需要更多信息,请不要犹豫。
答案 0 :(得分:3)
我遇到了同样的问题,即卸载方法没有被执行。 卸载目标位置中的安装程序和所有文件后,我使用安装程序名称和主输出文件名删除了注册表中的所有引用。 (视觉工作室使用的那些关键值除外) 之后,卸载方法再次执行。 它看起来像以前不成功的安装,在注册表中没有很好地清理。
答案 1 :(得分:2)
尝试删除卸载自定义操作保存项目,然后重新添加。此外,如果要调试安装程序包,可以添加以下内容:
Debugger.Launch();
在覆盖方法的初始化而不是使用消息框。
答案 2 :(得分:0)
您确认自定义操作配置正确吗?我建议你在整个地方放一些MessageBox,这样你就可以跟踪发生了什么。
答案 3 :(得分:0)
您是否尝试过提及here
的解决方案我相信有时Visual Studio会进行就地升级,并且实际上并不会卸载旧版本。