【发布时间】:2014-10-20 14:52:35
【问题描述】:
我正在远程机器上静默安装一个 msi 文件。但无法找到一种方法来停止正在进行的静默安装并为用户提供一个选项来回滚已安装一半的软件包所做的更改。
我使用 WMI 类以静默方式安装 msi 包。 谁能帮助我在安装过程之间停止和回滚 msi 静默安装。
请提出您宝贵的意见和反馈。
【问题讨论】:
标签: windows-installer wmi rollback
我正在远程机器上静默安装一个 msi 文件。但无法找到一种方法来停止正在进行的静默安装并为用户提供一个选项来回滚已安装一半的软件包所做的更改。
我使用 WMI 类以静默方式安装 msi 包。 谁能帮助我在安装过程之间停止和回滚 msi 静默安装。
请提出您宝贵的意见和反馈。
【问题讨论】:
标签: windows-installer wmi rollback
Windows Installer 安装程序不会中途失败,并在系统上留下安装一半的产品。它们是事务性的,如果它们失败了,它们就会回滚并撤消对系统所做的任何更改。如果您创建了 MSI 并且有更改系统的自定义操作,则创建回滚自定义操作以撤消这些更改。如果是其他一些 MSI 在失败时在系统上留下更改,那么它的设计和创作都很糟糕。
【讨论】:
我猜您正在尝试做的是测试任何给定 MSI 的回滚是否有效。 Windows Installer XML 有一个很好的WixFailWhenDeferred Custom Action 模式来执行此操作。可以使用转换将其创作到其他 MSI。
请注意,许多 MSI 作者不知道如何编写高质量的 MSI,因此如果您的许多安装程序在测试回滚时表现不佳,请不要感到惊讶。
【讨论】: