我正在尝试创建一个安装我的msi的Wix刻录引导程序。 bootstrapper exe工作正常但唯一的问题是,每当我尝试在中途取消安装时,msi中添加的自定义操作就不会停止。任何人都可以告诉如何在单击取消按钮时停止和回滚安装。提前谢谢。
答案 0 :(得分:3)
自定义操作必须发送::MsiProcessMessage()
次调用,以提供接收取消和处理该API返回代码的可能性(通常为ERROR_INSTALL_USEREXIT
或IDCANCEL
)。然后必须退出自定义操作。
如果您查看一些WiX标准自定义操作,您会看到很多对WcaProcessMessage()
等的调用。我们保存返回代码,WcaFinalize()在退出时返回正确的东西。查看src\ca\wcautil\wcautil.cpp
和src\ca\wcautil\wcawrap.cpp
以获取示例代码。