Вы, вероятно, давно нашли решение для этого, но чтобы уточнить ответ Тома Кабански, вы можете вызвать Visual Studio для создания msi из командной строки, используя devenv.com через внешний процесс из вашей сборки. , Это не красиво, как использование msbuild, но оно выполняет свою работу. Ниже приведен пример вызова Visual Studio:
"C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ devenv.com" your.sln / build Release
Где your.sln - это файл решения для решения, которое вы хотите построить, а Release - это конфигурация, которую вы хотите построить, гарантируя, что выбранная конфигурация действительно создает проект vdproj.
После успешного выполнения вы можете получить msi из соответствующей корзины и делать с ней все, что хотите.
Буду признателен за ваш ответ на этот вопрос с вашими выводами / подходом, поскольку я пытаюсь решить, принять ли WiX или InstallShield в качестве подхода к созданию MSI для веб-приложений в TFS Build или продолжить подход, только что описал. У меня не было возможности опробовать WiX, и мое очень ограниченное знакомство с InstallShield позволяет предположить, что это далеко не так, как нужно для меня, а именно: создание простого средства развертывания для некоторых относительно простых веб-приложений для внутренней сети компании. через TFS Build.