Я пытаюсь построить общее понимание того, что является общим в этой ситуации, чтобы я мог решить, имеет ли смысл продолжать его дальше.
- Приветствуются ли установщики в типичной корпоративной среде со следующим?
- Изменить процесс управления
- Dev / QA / Производственные среды
- Назначенные группы развертывания для различных областей (межсетевой экран, база данных, окна и т. Д.).
- Существует ли «лакмусовая бумажка», которая может быть применена к приложению, чтобы увидеть, является ли оно хорошим кандидатом для создания установщика? *
- Являются ли установщики достаточно простыми, чтобы у каждого приложения был такой?
- Являются ли установщики подходящим инструментом?
- Разумно ли ожидать, что разработчики узнают что-то вроде WiX для поддержки установщиков?
- Техническое обслуживание в целом является проблемой, т. Е. Создает ли установщик нишевые навыки?
*
Например, у меня есть набор приложений winform, которые находятся в общем каталоге на рабочем сервере. Определенные группы могут запускать приложения из этого каталога, но только системные администраторы могут изменять исполняемые файлы. Текущий процесс развертывания предполагает, что администратор копирует / вставляет исполняемые файлы и библиотеки в общий каталог.
Поскольку приложения не установлены на компьютере отдельных пользователей, имеет ли смысл создавать установщик для развертывания новых версий этих приложений в общем каталоге?
Редактировать--
Я чувствовал, что ответы здесь дали несколько убедительных советов, поэтому я хотел поделиться тем, что я придумал для моего текущего проекта, где мне нужно было создать большое количество приложений и развернуть их в отдельных папках.
Я нашел пакет NuGet под названием _PublishedApplications, который имитирует поведение _PublishedWebsites для веб-проектов. Идея заключается в том, что вы устанавливаете пакет NuGet в свои проекты, и он добавляет цель, которая будет копировать артефакты сборки в каталог _PublishedApplications в выходном пути. Это поведение активируется запуском MSBuild из командной строки и указанием outdir
свойства:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
Это даст вам структуру каталогов, подобную следующей:
- C: \ путь \ к \ OutDir
- _PublishedApplications \
- Project1 \
dlls, exes, etc.
- Проект2 \
...
- Project1 \
- _PublishedApplications \
Оттуда, создание почтового индекса, который может быть извлечен в различных средах, довольно безболезненно.
.msi
установщик? Те, по крайней мере, могут быть полностью автоматизированы с минимальной болью. (все еще будучи понятным для случайного пользователя, который должен делать свои собственные обновления)