.net 如何在自定义操作中回滚卸载?

.net 如何在自定义操作中回滚卸载?,.net,visual-studio-2010,windows-installer,setup-deployment,.net,Visual Studio 2010,Windows Installer,Setup Deployment,我正在自定义安装程序类中的onbeforeunstall覆盖中显示一个MessageBox 我已在Visual studio安装项目的自定义操作编辑器中将安装程序类指定为“卸载” 现在根据对话框结果,我需要回滚卸载吗 我已经读过了,但这些都是针对Installshield的。我需要在VisualStudio安装项目中执行此操作 我尝试了Process.GetCurrentProcess().Kill(),但它使安装处于不稳定状态 我也尝试过,但它显示以下错误 错误1001。卸载时发生异常。此异常

我正在自定义安装程序类中的
onbeforeunstall
覆盖中显示一个
MessageBox

我已在Visual studio安装项目的自定义操作编辑器中将安装程序类指定为“卸载”

现在根据对话框结果,我需要回滚卸载吗

我已经读过了,但这些都是针对Installshield的。我需要在VisualStudio安装项目中执行此操作

我尝试了
Process.GetCurrentProcess().Kill()
,但它使安装处于不稳定状态

我也尝试过,但它显示以下错误

错误1001。卸载时发生异常。此异常将被忽略,卸载将继续。但是,卸载完成后,应用程序可能无法完全卸载。->savedState参数不能为null。“


如果安装程序项目中的Messagebox在 覆盖,然后如果你

throw new InstallException();
将执行回滚覆盖

{MyInstallerProject}>右键单击>添加项目输出>从下拉列表中选择项目>选择主输出>确定。查看|自定义操作>右键单击安装>添加自定义操作>双击应用程序文件夹>选择“来自{CustomActionprojectname}(活动)的主输出”

重复以上说明中的“回滚”而不是“安装”操作