@hans would you mind having a look at this MR. It changes error output of msiexec.exe (when /qn option is not passed) to use message boxes (as native does). (Note I've used the Msi message boxes).
msi and appwiz.cpl DLLs invoke msiexec.exe for performinng some tasks. Some call sites set option /qn to not have GUI output, but I'm not sure all that should actually do.