【问题标题】:WIX - Start programm after rollbackWIX - 回滚后启动程序
【发布时间】:2020-08-17 12:11:55
【问题描述】:

我有一个 WIX 安装程序。如果在更新安装过程中出现错误,则会执行回滚脚本。

我想在回滚完成后重新启动程序。

我尝试使用CustomActions,但我认为在rollback 完成并且备份中的文件回到那里的文件夹后,无法执行它们。

有人知道如何实现这一目标吗?

【问题讨论】:

    标签: c# wix


    【解决方案1】:

    阅读这篇文章:http://www.installsite.org/pages/en/isnews/200108/index.htm

    回滚脚本被安排为序列的一部分,然后在发生错误时反向执行序列,触发所有回滚操作。其中一项操作可以是(重新)启动程序的自定义操作。

    【讨论】:

    • 您好,页面显示:“延迟、回滚和提交自定义操作只能放在 InstallInitialize 和 InstallFinalize 之间。不遵守此规则将导致错误 2762:”无法写入脚本记录。事务未开始。” Installfinalize 在备份文件复制到目标位置之前完成。因此,如果我尝试在那里启动它,文件将不在文件夹中。
    • 在 InstallIinitialize 和 InstallFinalize 之间安排的所有操作都在 InstallFinalize 内执行第二遍。如果回滚是在 InstallInitialize 之后安排的,那么一切都应该处于它启动的状态并且您的程序可以被调用。例外情况是在 InstallInitialize 之前安排的使用 RemoveExistingProducts 的重大升级。在这种情况下,什么都不会安装,程序也无法启动。
    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多