https://bugs.winehq.org/show_bug.cgi?id=45845
--- Comment #7 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Zebediah Figura from comment #5)
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.
Eh, well, that's not always a guarantee. For example, COM proxies always return an HRESULT-style error code even if the function doesn't return an HRESULT.
I'd be very curious to see how either of those functions are throwing an exception, however.
My point is that your patch has changed the return value of many MSI APIs, and that *might* be the source of the regression.