Возможно ли / целесообразно обернуть установщик Inno Setup в MSI для более легкого распространения через AD? - PullRequest
25 голосов
/ 16 сентября 2008

Наш установщик написан на Inno Setup, и мы на самом деле очень довольны. Тем не менее, некоторые клиенты продолжают спрашивать об установщике MSI, который они могли бы легче распространять через Active Directory. Мы уже пошли на многое, чтобы заставить установщика действительно хорошо работать с автоматизированными и автоматическими установками, расширив механизм /LOADINF Inno Setup с помощью наших собственных опций.

Чтобы удовлетворить потребности заказчиков MSI, я подумал о том, чтобы просто обернуть наш обычный установщик в MSI, возможно созданный с помощью WIX. Вопрос в том, могу ли я поддерживать высокую конфигурируемость, которую предлагает наш текущий установщик? Как мне разоблачить параметры установщика Inno Setup через внешний MSI в сценарии автоматической / массовой установки?

Заметьте, что я еще не дошел до того, чтобы по-настоящему погрузиться в создание MSI и сам WIX. Прямо сейчас меня интересует только то, думают ли люди, которые знают, о чем они говорят, это разумный / разумный подход, чтобы в первую очередь инвестировать нашу энергию ...

[EDIT:] Первоначально я думал, что смогу использовать подход временного извлечения и выполнения, то есть MSI будет просто служить средством доставки установщика Inno на целевой ПК и выполнения его там в режиме /VERYSILENT. Но я думаю, что клиенты, которые просят MSI, также хотят иметь возможность удалить или даже изменить установку из центрального расположения, и я думаю, что это не будет возможно в этом сценарии, не так ли?

P.S .: У нас здесь также есть старая копия WISE для MSI, но именно этот опыт и стал причиной, по которой мы вместо этого начали использовать Inno ...

Ответы [ 10 ]

17 голосов
/ 16 сентября 2008

Нет, нет способа сделать это, сохраняя функциональность, которую просят ваши клиенты «неявно». Единственная «оболочка» в MSI, которую вы можете сделать, - это извлечь ее при установке и запустить установщик InnoSetup из временного расположения, куда вы извлекли. MSI - это принципиально другой способ работы: InnoSetup (и NSIS и большинство других установщиков) используют подход, ориентированный на код: вы «программируете» «шаги» для установки ваших данных. MSI является базой данных и использует «ориентированный на данные» подход: вы указываете, какие файлы должны быть установлены, а MSI «время выполнения» делает все остальное. Это дает вам контроль версий и точный контроль того, что и куда идет.

Короче говоря, чтобы дать своим клиентам то, что они хотят (то есть, простоту развертывания, которую MSI предоставляет с AD), вам понадобятся «правильные» MSI. Удачи с этим, это большая боль ИМХО. Но он дает хорошие результаты, когда вы осваиваете MSI & WiX.

9 голосов
/ 22 августа 2012

У меня много раз была эта проблема. Поэтому я создал стандартный способ решения этой проблемы, и в результате появился мастер, который проведет вас по шагам. Инструмент будет поддерживать следующее:

  1. Заверните файл в MSI.
  2. Поддержка удаления.
  3. Показывать только одну программу в «Установка и удаление программ».
  4. Позволяет передавать аргументы командной строки, такие как / SILENT, во встроенную настройку при запуске пакета MSI с MSIEXEC.EXE.

Вы можете получить его на http://www.exemsi.com (базовая версия бесплатна)

Используйте мою контактную форму и дайте мне знать, что вы думаете: -)

1 голос
/ 17 февраля 2013

Упаковка Inno Setup в пакет MSI не является тривиальной задачей. Однако это возможно. Есть много бесплатных инструментов, которые можно использовать для этого. Вы должны выбрать тот, который также поддерживает удаление (я) и обновления.

Я нашел только один бесплатный инструмент, который поддерживает обновления и удаление. Проверить http://www.exemsi.com/inno-setup-and-msi

1 голос
/ 07 августа 2009

Нет смысла смешивать технологии установки.

Если вы микшируете, вы получаете первую проблему с деинсталляцией. без изменений вы получаете 2 деинсталлятора вашей программы.

В "entwickler magazine" есть несколько статей, начинающихся с установщика Windows

  • Entwickler Magazin (Ausgabe: 03.09 / 15.04.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 4
  • Entwickler Magazin (Ausgabe: 02.09 / 12.02.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 3 * * +1010
  • Entwickler Magazin (Ausgabe: 01.09 / 10.12.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 2
  • Entwickler Magazin (Ausgabe: 06.08 / 15.10.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen

http://entwickler -magazin.de /

Windows Installer должен быть единственной технологией для ваших установок. его будущее и его стабильность!

1 голос
/ 04 февраля 2009

Я бы сказал, что с InI Setup в MSI можно делать все, что вам нужно, но это далеко не тривиально, и использование WiX может усложнить эту конкретную задачу. Короче я бы не очень рекомендовал это.

Но если вы действительно хотите ...

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

Если вы используете Wise, вы создадите сценарии по умолчанию, в которые затем можно добавить условия установщика Windows и более точно контролировать события (установить, восстановить, изменить, удалить), чтобы они вызывали эквивалентные действия при установке Inno Setup. скрипт, который необходимо установить и хранить во временной папке.

1 голос
/ 14 октября 2008

Довольно просто сделать обертку, которая автоматически устанавливает INNOSETUPper из MSI. Для основных функций (установка / удаление) этого достаточно. Большинство установщиков все равно не выполняют ремонт.

  1. создание сценария silent.inf для INNO Setup (необязательно)

  2. создать install.bat, который вызывает

    myinnosetup.exe / silent / NOCANCEL / norestart / Components = "xxx"

    Вы можете использовать / verysilent
    вы можете загрузить настройки из файла silent.inf с помощью /LOADINF="silent.inf"

  3. создать установочный файл MSI, который вызывает install.bat (с параметрами при необходимости)

  4. доставьте все 4 файла вашему клиенту, и он сможет развернуть вашу настройку Inno с помощью SMS или ActiveDirectory, и все будут довольны:)

1 голос
/ 16 сентября 2008

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

Многие установочные пакеты запускали «поддержку» MSI таким образом: например, InstallShield сделал. Это основная причина, по которой я их выбросил, потому что созданные таким образом установщики бесполезны для целей MSI. Я не знаю, лучше ли последние версии InstallShield, последний раз, когда я проверял, было 5 лет назад.

0 голосов
/ 13 мая 2009

Мне нужно ввести обычное значение в silent.inf (а не в устоявшемся значении параметра inno setup), которое похоже на LOADINF.

Примечание. Если вы используете makemsi, вам не нужно включать летучую мышь, поскольку вы можете использовать $ WrapInstall.

0 голосов
/ 24 октября 2008

, хотя последний комментарий выполним и выполним, переход к MSI - лучший способ справиться с этим.

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

1) во-первых, простота развертывания 2) для некоторых важнее общительность приложений 3) Самовосстановление

inno setup и другие подобные инструменты, не реализующие установщик Windows, просто не могут обеспечить общение приложений так же, как установщик Windows.

Вы должны понимать, что Inno setup - это программное обеспечение, предназначенное для развертывания одного приложения.

Установщик Windows - это целая платформа, которая позволяет общаться с другими пользователями, имитировать пользователей, повышать права пользователей, самовосстановление, исправлять профили пользователей.

Они двое даже близко не функционируют по-своему, но установка inno в моем сознании совершенно и совершенно не подходит для сравнения с установщиком Windows.

Может ли он создать успешных установщиков? да Легко ли пользоваться? да Это создает хороших единственных инсталляторов? да Это лучший выбор для предприятия? нет

Самый ранний инструмент, разработанный Microsoft "SMS Installer", был innosetup 10 лет назад. Ситуация в мире установки сильно изменилась, и inno setup просто не поспевает за темпами этого изменения.

0 голосов
/ 16 сентября 2008

Это будет в значительной степени эквивалентно доставке ZIP-файла и вызову распаковки к концу установки.

При таком подходе AD и установщик Windows будут обмануты, как если бы они имели дело с правильной установкой MSI, но, как это не так, в первый раз они будут иметь неприятные последствия.

Не иди сюда.

В любом случае WiX - это превосходный набор инструментов для InnoSetup, поэтому время, потраченное на изучение и портирование, окупится лучшей поддержкой совместной работы.

...