2

我在自定义安装程序类中显示了一个MessageBox覆盖OnBeforeUninstall

Uninstall我已在 Visual Studio 安装项目的自定义操作编辑器中分配了安装程序类。

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

我已阅读内容,但这些内容特定于 Installshield。我需要在 Visual Studio 安装项目中进行。

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

我也试过this.Rollback(),但它显示以下错误

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

4

1 回答 1

0

如果安装程序项目中的消息框在 安装覆盖期间显示。那么如果你

throw new InstallException();

将执行回滚覆盖。

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

重复上述说明中的“回滚”而不是“安装”。

于 2017-07-31T03:35:18.877 回答