【发布时间】:2010-11-02 21:35:38
【问题描述】:
我的安装程序引导应用程序在开始时会进行一系列 MSI 调用,以便从 MSI 中获取信息(安装了哪些版本、安装了哪些功能、属性值、路径等)。在进行这些 MSI 调用时,Windows 安装程序会弹出一个带有“取消”按钮的窗口。我的代码到处都有陷阱来检查 MSI 调用返回的错误代码是否是 ERROR_INSTALL_USEREXIT 以便引导应用程序可以在用户单击取消时停止,但我所看到的所有返回值,即使我确定我设法点击了取消按钮(我实际上看到按钮被按下),是 ERROR_SUCCESS。
有什么方法可以 100% 确定地判断用户是否在进行 MSI 调用时点击了取消?如果没有,有没有办法在 MSI 调用期间隐藏取消按钮,这样用户就不会误以为他可以在那个时候取消? (在速度快的机器上,这不是什么大问题,因为对话会很快消失,但在速度较慢的机器上,用户实际上有机会点击按钮。)
【问题讨论】:
标签: c++ windows-installer