【问题标题】:Stop msi silent installation in-between and rollback the changes在中间停止 msi 静默安装并回滚更改
【发布时间】:2014-10-20 14:52:35
【问题描述】:

我正在远程机器上静默安装一个 msi 文件。但无法找到一种方法来停止正在进行的静默安装并为用户提供一个选项来回滚已安装一半的软件包所做的更改。

我使用 WMI 类以静默方式安装 msi 包。 谁能帮助我在安装过程之间停止和回滚 msi 静默安装。

请提出您宝贵的意见和反馈。

【问题讨论】:

    标签: windows-installer wmi rollback


    【解决方案1】:

    Windows Installer 安装程序不会中途失败,并在系统上留下安装一半的产品。它们是事务性的,如果它们失败了,它们就会回滚并撤消对系统所做的任何更改。如果您创建了 MSI 并且有更改系统的自定义操作,则创建回滚自定义操作以撤消这些更改。如果是其他一些 MSI 在失败时在系统上留下更改,那么它的设计和创作都很糟糕。

    【讨论】:

    • 我想你没有得到我的问题。我想有意识地停止静默 msi 安装,我想澄清的另一件事是我没有创建 msi 安装程序,我只是使用 WMI 类安装它,并且想要一种取消/停止正在进行的静默安装的方法。跨度>
    • 我团队的大部分评论都写得不好。
    • 静默安装实际上是静默安装,您不能让它静默,也可以为用户提供选择。如果是测试场景,则在命令行上传递一个属性,该属性会导致延迟的自定义操作失败,从而触发回滚。
    【解决方案2】:

    我猜您正在尝试做的是测试任何给定 MSI 的回滚是否有效。 Windows Installer XML 有一个很好的WixFailWhenDeferred Custom Action 模式来执行此操作。可以使用转换将其创作到其他 MSI。

    请注意,许多 MSI 作者不知道如何编写高质量的 MSI,因此如果您的许多安装程序在测试回滚时表现不佳,请不要感到惊讶。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2013-03-01
      • 2023-03-22
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 2011-06-04
      相关资源
      最近更新 更多