【问题标题】:How to rollback uninstallation in custom action?如何在自定义操作中回滚卸载?
【发布时间】:2013-01-06 21:24:46
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: .net visual-studio-2010 windows-installer setup-deployment


    【解决方案1】:

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

    throw new InstallException();
    

    将执行回滚覆盖。

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 2011-11-21
      • 2011-03-02
      • 1970-01-01
      • 2017-11-29
      • 2019-04-19
      • 1970-01-01
      • 2013-02-14
      • 2013-03-08
      相关资源
      最近更新 更多