Если вы не хотите ClickOnce, вам, вероятно, потребуется создать свой собственный MSI.В этом случае вы можете использовать:
- Встроенный тип проекта установки в Visual Studio.Это делает достойную работу, но имеет ограничения.Работает очень хорошо, если у вас мало зависимостей или пользовательских действий.
- Коммерческий инструмент, такой как InstallShield
- WIX (XML установщика Windows)
Я пробовал и 1, и 3. Хотя в WIX есть немного кривой обучения, это очень богатый способ сделать то, что вы хотите.Доступно немало документации и несколько очень полезных последовательностей мастера «из коробки» для обработки стандартных сценариев установки (лицензии, выбор функций, зависимости и т. Д.).WIX имеет некоторую интеграцию VS, которая работает довольно хорошо.
Подробнее о WIX можно узнать по адресу http://wix.sourceforge.net/
Примечание: Проект установки VS может выполнять пользовательские действияи установите зависимости, но вы должны использовать пользовательские действия.Если вы хотите параметризовать пользовательские действия, вам нужно найти не столь интуитивно понятные инструкции по этой теме.
Другое ограничение проекта установки VS заключается в том, что проект установки может быть скомпилирован только в MSI с помощью VS (devenv.exe).Это означает, что MSI не может быть скомпилирован на сервере сборки, если вы тоже не установите Visual Studio там.Для меня это был ограничитель показа, поэтому я перешел на WIX и был очень доволен результатом.