https://bugs.winehq.org/show_bug.cgi?id=45208
--- Comment #11 from Dmitry Timoshkov dmitry@baikal.ru --- Because of an indirect influence to the bug 45753 I decided to have a look at this regression. After a bit of an investigation I have to say that the whole approach of introducing RPC to custom action handling seems to be broken from the start. For instance let's look at the commit c6bd4d8c35de1ae452a5b5bec69d4779c813b37f which is mentioned as the culprit of the regression. This commit changes MsiDatabaseOpenView() to return a remote MSI handle in some situations. This out of sudden implies that every MSI API that takes a handle of type MSIHANDLETYPE_VIEW will start silently failing when a remote handle is passed to it. These APIs include MsiViewFetch(), MsiViewClose(), MsiViewExecute(), MsiViewGetColumnInfo(), MsiViewModify(), MsiViewGetError(). But this particular commit doesn't even bother to add FIXMEs to these APIs! Not mentioning the tests.
In my opinion first thing to do would be to adapt dependent APIs first to accept remote handles, and only then switch main API to return remote handles.
Now what we have is what we have: multiple regressions in previously perfectly working installers, and hard to identify APIs (missing FIXMEs) that need to be fixed to start accepting remote handles.
The situation becomes even worse taking into account the time it takes to review and accept trivial patches that add missing support for remote handles.