Попробуйте запустить второй MSI с помощью пользовательского действия, запланированного после InstallFinalize (в таблице InstallExecuteSequence). Это пользовательское действие должно использовать флаги msidbCustomActionTypeAsync и msidbCustomActionTypeContinue (асинхронное выполнение, не ждите возврата).
Вы не можете запустить другой MSI напрямую, но вы можете попробовать использовать "cmd.exe / k". Например:
cmd.exe /k msiexec.exe /i "[SourceDir]B.msi"
Свойству SourceDir автоматически присваивается путь к папке пакета (я предполагал, что файлы MSI находятся в той же папке).