Во-первых, вы должны знать, что использование пользовательских действий InstallUtil (независимо от того, насколько они задокументированы и описаны) не являются хорошим выбором.Выкинь их.То же самое относится и к проекту развертывания Visual Studio, который вы используете для выполнения своего настраиваемого действия.
Лучшее решение заключается в использовании встроенной поддержки установщика Windows для создания и запуска служб.Используйте InstallShield 2010 Limited Edition (бесплатно) или установщик Windows XML (FOSS).Эти инструменты предоставляют таблицу ServiceControl, в которой есть столбец «Ожидание», который позволяет обучать MSI:
Ожидание
Если оставить это поле пустым или ввести значение 1, программа установки станет причинойподождать максимум 30 секунд для завершения услуги, прежде чем продолжить.Ожидание может использоваться, чтобы дать дополнительное время для критического события, чтобы возвратить ошибку ошибки.Значение 0 в этом поле означает ожидание только до тех пор, пока диспетчер управления службами (SCM) не сообщит, что эта служба находится в состоянии ожидания, прежде чем продолжить установку.
Таблица ServiceControl