как создать установщик внутри другого установщика? - PullRequest
9 голосов
/ 11 мая 2009

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

Какие-нибудь хорошие инструменты или образцы для ссылки? Я предпочитаю использовать VSTS или Microsoft или инструменты с открытым исходным кодом. : -)

спасибо заранее, George

Ответы [ 6 ]

6 голосов
/ 12 мая 2009

Возможно, вы захотите взглянуть на Microsoft Bootstrapper , если предположить, что зависимыми компонентами являются такие библиотеки, как .NET или аналогичные, тогда это довольно просто.

Если вы хотите создать пакет Windows Installer (MSI), взгляните на Windows Installer XML (WiX). Но вы сначала захотите понять, как работает MSI . WiX действительно прост, если вы понимаете Windows Installer, но попытка изучить оба сразу может быть довольно запутанной.

Для базового уровня скопируйте некоторые файлы, извлеките / запустите некоторые вещи, введите installer, а затем NSIS - это довольно простой сценарий, и вы можете получить его за день или около того.

4 голосов
/ 05 октября 2009
3 голосов
/ 11 мая 2009

Обновление: кажется, что установка MSI с вложением несколько возможна. Однако он требует некоторой настройки с помощью инструментов из пакета установщика Windows SDK и имеет ряд недостатков.

Следующая статья содержит детали:

Как создать вложенный MSI-пакет

Microsoft рекомендует не использовать эту функцию (см. Этот связанный ответ и пункт 20 в этом списке ).

Однако вы также можете посмотреть на различные системы установки, такие как NSIS, или создать загрузчик, который устанавливает зависимости до установки.

1 голос
/ 12 мая 2009

Проверьте iexpress в системах Windows. Всего за несколько минут вы можете создать установщик, который сможет вызывать столько установщиков, сколько вам нужно.

1 голос
/ 11 мая 2009

Да, было бы очень легко, если бы вы сделали это с помощью Inno Setup, но с небольшой разницей.

Сначала вам нужно будет выполнить шаг 2, а затем шаг 1.

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

1 голос
/ 11 мая 2009

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

Это бесплатно и довольно просто в использовании.

Если ваш существующий установщик не использует технологию MSI, вы можете использовать WiX для создания MSI и запуска существующего установщика с помощью настраиваемого действия. Я делал это в прошлом.

WiX с открытым исходным кодом.

...