Я намагаюся побудувати загальне розуміння того, що є загальним у цій ситуації, щоб я міг вирішити, чи є сенс продовжувати це далі.
- Чи вітаються монтажники в типовому корпоративному середовищі з наступним?
- Процес управління зміною
- Dev / QA / виробниче середовище
- Призначені команди розгортання для різних областей (брандмауер, база даних, windows тощо).
- Чи є "лакмусовий тест", який можна застосувати до програми, щоб побачити, чи це хороший кандидат для створення інсталятора? *
- Чи достатньо прості установки, щоб кожен додаток мав його?
- Чи встановники навіть правильний інструмент?
- Чи доцільно розраховувати, що розробники дізнаються щось на зразок WiX для підтримки інсталяторів?
- Ремонтопридатність взагалі викликає занепокоєння, тобто, чи створює інсталятор нішевий навик?
*
Наприклад, у мене є набір програм winform, які знаходяться у спільному каталозі на виробничому сервері. Конкретні групи можуть запускати програми з цього каталогу, але лише системні адміністратори можуть змінювати виконувані файли. Поточний процес розгортання передбачає наявність адміністратором копіювання / вставлення виконуваних файлів та бібліотек у спільний каталог.
Оскільки програми не встановлені на машині окремих користувачів, чи має сенс створити інсталятор для розгортання нових версій цих додатків у спільному каталозі?
Редагувати--
Я відчував, що відповіді тут дають ґрунтовну пораду, тому я хотів поділитися тим, що я придумав для свого поточного проекту, де мені потрібно було створити велику кількість додатків і розгорнути їх в окремі папки.
Я знайшов пакет NuGet під назвою _PublishedApplications, який імітує поведінку _PublishedWepts для веб-проектів. Ідея полягає в тому, що ви встановлюєте пакет NuGet до своїх проектів, і він додає ціль, яка буде копіювати артефакти збірки в каталог _PublishedApplications на вихідному шляху. Ця поведінка активується за допомогою запуску MSBuild з командного рядка та вказівки outdir
властивості:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
Це дасть вам структуру каталогу, аналогічну наступній:
- C: \ шлях \ до \ outdir
- _Опубліковані додатки \
- Проект1 \
dlls, exes, etc.
- Project2 \
...
- Проект1 \
- _Опубліковані додатки \
Звідти створення блискавки, яку можна витягти в різних середовищах, є досить безболісним.
.msi
інсталятора? Ті, принаймні, можуть бути повністю автоматизовані з мінімальним болем. (хоча він ще зрозумілий для випадкових користувачів, які потребують власних оновлень)