1. MsiProcessMessage don't work fine in CustomAction executed with DoAction on Button control. Its return 0 and do nothing - you can't write log, show message box and another tasks.

2. If you call second CustomAction (using MsiDoAction) from CustomAction (Publish Events on Button control) and call MsiProcessMessage in this (second) action it do nothing and no return to caller - installation was halted and you must use TaskManager to kill msiexec processes.

Anyone know how to fix it?
