Я столкнулся с подобной проблемой, которая потребовала нескольких установок для совместной работы, и я не смог найти рекурсивный запуск MsiExec. Решение, которое я использовал, заключалось в том, чтобы связать установщик со сценарием, который запускает MsiExec один раз для установки / удаления старого пакета, а затем снова для запуска нового установщика. Клиенты должны были запустить скрипт для установки.
Если найдешь лучший способ, дай мне знать.