Как создать программу установки Windows

В основном мы публикуем наши изменения/исправления в форме ручного установщика (сценарий Windows powershell). Он будет устанавливать указанные файлы DLL и SQL-скриптов в определенных местах, читая значения файла конфигурации (мы будем настраивать расположение сценариев DLL и Sql в этом файле). В том же сценарии powershell есть код удаления для отката определенного набора chage.

Есть ли какой-либо вариант или механизм для создания установщика Windows для вышеуказанного требования?

Ответ 1

  Короткая версия: ответов уже много - я просто добавлю несколько ссылок на существующие ответы. Вот мой предыдущий короткий ответ на Тема.

Более высокая "обзорность". Приведенный выше ответ содержит более простой формат с представлением списка наиболее важных текущих средств развертывания. В спешке? Проверьте это, выбрал один. Ниже приведены подробности и дальнейшее "обсуждение".


Инструменты развертывания

Существует множество инструментов для создания различных файлов установщиков /setup.exe. Вот несколько ссылок на краткие описания большинства из них:

Я бы порекомендовал пойти на MSI. Какой конкретный инструмент использовать менее очевидно. В последнем разделе ниже приведены некоторые ссылки с описанием сильных и слабых сторон различных инструментов.


Почему стоит выбрать MSI?

MSI (установщик Windows) - это стандарт для корпоративного развертывания, поскольку он предлагает ряд корпоративных преимуществ: основное значение по сравнению с предыдущей установкой технологии. Центр преимуществ вокруг надежного пульта управление и стандартизация - решающее корпоративное развертывание проблемы.

In brief the most important, specific benefits are probably:

  1. Надежный бесшумный запуск (стандартизированный и полностью подавляемый графический интерфейс)
  2. Неявно доступная деинсталляция (кошмар при работе с устаревшими настройками)
  3. Прозрачность (установщик полупрозрачный и проверяемый - за исключением скомпилированных ЦС)
  4. Повышенные права на установку (без временных прав администратора)
  5. Стандартизированная командная строка (без "секретных" переключателей)
  6. Административная установка (извлечение файла - необходимо для корпоративной переупаковки)
  7. Подробное ведение журнала (действительно полезно и многословно :-))
  8. Стандартизированная настройка пакетов (преобразования - фрагменты базы данных)
  9. Поддержка отката (может отменить изменения при неудачной установке)
  10. Инвентаризация (управление и отчетность: полная регистрация того, что установлено и где)
  11. Интеграция с Active Directory/GP

В целом это дает MSI общее преимущество: надежный, удаленный управление развертыванием для занятых системных администраторов в целом, корпоративная среда. Важные преимущества, несмотря на сложность и причудливость.

Многие считают, что с технологией сложно справиться - здесь есть некоторые распространенные подводные камни (и я написал очень странное, специальное описание некоторых антишаблонов MSI ниже) - контекста для вопроса, но это так - иногда вещи пишутся под влиянием момента, к удивлению того, кто пишет тоже - здорово, это не так, просто прагматичные детали. То же самое касается первой ссылки).

В связанном ответе об отказе сервера (выше и здесь) представлено гораздо более подробное описание этих корпоративных преимуществ MSI, а также некоторые проблемы, о которых необходимо знать.

На тот же вопрос о сбое сервера есть второй ответ, описывающий типичные ошибки проектирования в файлах MSI. Действительно грязная "мозговая свалка".


MSIX/AppX

Я должен отметить, что новая платформа для упаковки от Microsoft теперь MSIX основана на платформе приложений AppX. Однако MSI имеет высокий уровень проникновения в мире корпоративных развертываний, поэтому еще неизвестно, как долго MSI будет иметь значение. Все установленные средства развертывания работают для поддержки MSIX и AppX, а также других технологий развертывания (также виртуализации).

Slipping in some links:


AppV

А в реальном корпоративном мире AppV (виртуализация приложений/потоковая передача приложений) превратилась в общее решение для развертывания (блог Тима Мангана).


Выбор инструмента MSI

Лидерами в отрасли создания MSI обычно являются Advanced Installer, Installshield, PACE Suite и решение с открытым исходным кодом WiX (с его коммерческим отделением). Firegiant) - с которым вы, кажется, знакомы.

Я просто дам вам несколько ссылок на ранее написанные ответы с некоторыми мнениями и фактами в нескромной смеси об этих различных инструментах - это задумано как "лучшее усилие", чтобы помочь людям решить, какой инструмент им нужен, без претензий на "право". Это всегда опасное начинание - многолетний опыт означает приобретенные знания, но также предвещает приобретенные вредные привычки и причуды. Каковы результаты честного мнения от недостатка профессионала, который может предложить только готовность помочь:

Ответ 2

Я предпочитаю Inno Setup, потому что он бесплатный, надежный и обладает необходимыми функциями.

http://www.jrsoftware.org/isinfo.php

Ответ 3

https://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with

Попробуйте это, используйте проект wix, который мы также используем в нашей компании. Помните, что для компиляции проекта вам понадобится плагин wix. Он бесплатный и простой в использовании. Я могу помочь вам, если у вас возникли проблемы в конфигурации.

Ответ 4

Существуют также платные инструменты, такие как Advanced Installer (от Caphyon) и InstallShield (Flexera), которые вы можете использовать для сборки пакета MSI. Их основное преимущество заключается в том, что создать проект установщика (настраиваемый с помощью дизайнеров пользовательского интерфейса) довольно просто, но большинство их функций оплачиваются.

Ответ 6

Если вы хотите, чтобы инструмент помог вам, но все же хотите иметь скрипт, подобный Wix-Toolset, вы можете попробовать WixPie. С базовой версией вы можете создать msi или exe, а базовая версия бесплатна.