https://bugs.winehq.org/show_bug.cgi?id=45845
--- Comment #4 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #2)
One of the problems with baea371c3d4153bc4a718c07f46971d4d39aa9f3 is that it makes MSI APIs return wrong value on exception. Let's look for instance at MsiEvaluateConditionW implementation: it's supposed to return MSICONDITION, however in the case of an exception it returns the exception code instead of MSICONDITION_NONE.
MsiSetMode() is even more broken regarding the returned value.