https://bugs.winehq.org/show_bug.cgi?id=45845
--- Comment #13 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #6)
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.
Add to the list MsiGetLanguage(), MsiProcessMessage().
While this particular regression was not caused by returning wrong value due an exception, it's still worth IMO to add the tests to the listed above APIs to check their behaviour.
Zebediah, since that's your patch are you planning to investigate this?