Сколько из вас использует внутреннюю программу установки для вашей компании?

Некоторое время назад возникла дискуссия о том, следует ли нам использовать сторонний установщик или написать свой собственный. У нас было 2 поколения внутренне разработанных инсталляторов, которые просто выполняли сервисы, msmq, com+, gac и sql script, передавая exe-файлы.

Так что мне было интересно, кто там использует пользовательский письменный установщик для конкретных нужд вашей компании? Если у вас есть какие-либо комментарии по поводу нашего подхода, дайте мне знать.

Спасибо

6 ответов

Решение

У нас есть собственный установочный пакет, и это не входит в мой список "Чего не делать..."

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

  1. Создайте свои собственные модули, плагины или любую другую поддерживаемую модель расширения на реальном языке программирования (java, .NET... что угодно, если поддерживаемый язык инструмента установщика начинается с названия компании или названия инструмента, такого ОСНОВНЫЕ выключения)
  2. Поддерживает все основные версии Windows.
  3. Поддерживает Linux
  4. Поддерживает автоматическую установку

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

Я предпочитаю поддерживать несколько специализированных инструментов и плагинов, чем полную систему для многоплатформенного развертывания.

ИМХО создание собственного чего-либо должно быть последним вариантом.

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

Я думаю, что у нас все C++.

В прошлый раз, когда я писал пользовательский установщик, где-то в 1992 году под Windows 3.0. Я сделал это только тогда, потому что был молод и наивен. Я не могу думать, почему кто-то будет беспокоиться в эти дни.

Я использую NSIS для своих личных проектов, что просто и быстро. В соответствии с политикой компании я вынужден использовать InstallShield для своих профессиональных продуктов, что тоже хорошо.

У меня был проект, который был у меня пару лет назад, когда установщик должен был поиграть с некоторыми сетевыми настройками на локальном ПК, поэтому я написал простой маленький EXE-файл, чтобы сделать именно этот бит, и заставил InstallShield запустить его как часть программы. монтаж. Это работало нормально и было чертовски проще, чем писать полный установщик.

Я привык в моей предыдущей работе.

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

Если вы можете, это был своего рода развертыватель clickonce, но поддерживающий несколько версий одновременно, а не только одну.

Когда-то давно (около 2002 года) я вручную написал крошечный установщик (< 200 КБ), который проанализировал пользовательскую версию Windows, а затем загрузил соответствующий "основной" установщик для приложения. Кажется, что в наши дни этот подход широко используется:)

Кроме этого, в большинстве случаев, когда мне приходилось разрабатывать установщик для программы, это делалось с помощью InstallShield, WISE, InstallAware или другой альтернативы (например, WiX).

Реальность такова, что стоимость обслуживания и поддержки специального установщика может быть довольно высокой, особенно с каждой выпущенной новой ОС, и значительная часть этих затрат может быть компенсирована покупкой или инвестированием в один из этих коммерческих продуктов (или альтернатив).

Сказав это, многие из установщиков могут быть довольно тупыми. Один конкретный продукт требовал использования InstallShield Pro - просто чтобы мы могли записывать собственные действия в InstallScript!

Итак... Если у вас есть что-то, что требует немалых усилий по сложной установке, трудно предложить готовый установочный пакет - это может стать большим кошмаром, особенно в сценариях обновления. Если вы собираетесь поддерживать свой собственный установщик, сделайте себе одолжение и выделите много времени, денег и тестирования на него.

Да, и убедитесь, что вы учитываете исправления сценариев, обновлений, установок с правами администратора или без них, (если применимо) автоматической установки, многоязыковой поддержки в пользовательском интерфейсе... и т. Д. Это может очень запутаться, очень быстро.

Symantec создала собственный установщик Norton AntiVirus 2009. Он вообще не использует установщик Windows (msiexec.exe).

Таким образом, они сокращают общее время установки до 1 минуты.

Другие вопросы по тегам