Сколько из вас использует внутреннюю программу установки для вашей компании?
Некоторое время назад возникла дискуссия о том, следует ли нам использовать сторонний установщик или написать свой собственный. У нас было 2 поколения внутренне разработанных инсталляторов, которые просто выполняли сервисы, msmq, com+, gac и sql script, передавая exe-файлы.
Так что мне было интересно, кто там использует пользовательский письменный установщик для конкретных нужд вашей компании? Если у вас есть какие-либо комментарии по поводу нашего подхода, дайте мне знать.
Спасибо
6 ответов
У нас есть собственный установочный пакет, и это не входит в мой список "Чего не делать..."
Хотя я согласен с тем, что многие установщики имеют очень ограниченные наборы функций и некоторые (криплинг) возможности, другие предлагают большую гибкость. При этом я еще не начал искать альтернативы, но я буду заниматься этим в наступающем году. Мне нужно то, в чем я могу:
- Создайте свои собственные модули, плагины или любую другую поддерживаемую модель расширения на реальном языке программирования (java, .NET... что угодно, если поддерживаемый язык инструмента установщика начинается с названия компании или названия инструмента, такого ОСНОВНЫЕ выключения)
- Поддерживает все основные версии Windows.
- Поддерживает Linux
- Поддерживает автоматическую установку
Я не думаю, что это слишком много, чтобы спросить, и я уверен, что кто-то сделал что-то, что позволит мне продолжить. Также вполне уверен, что существует система упаковки с открытым исходным кодом, которая будет делать именно это.
Я предпочитаю поддерживать несколько специализированных инструментов и плагинов, чем полную систему для многоплатформенного развертывания.
ИМХО создание собственного чего-либо должно быть последним вариантом.
Мы используем пользовательский здесь. У нас было много странных вещей, которые нам нужно было сделать, в том числе создание переходов, редактирование разделов реестра других пользователей (что требует поиска и загрузки их ульев), регистрация материалов с помощью нашего стороннего слоя 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 минуты.