Is it guaranteed that the external user-interface handler gets called by the Installer in the same thread that calling InstallProduct?
No, in fact they will come from different threads.
Content credit also belongs to
- Ken, MSI Team Dev. You can get other Ken insights about developing for Windows Installer from the Windows Installer Chat Archives