Как распространить установщик, который содержит загрузчик - PullRequest
1 голос
/ 03 августа 2009

Из-за серьезных ограничений системы установщика Microsoft Windows (MSI) необходимо создать загрузчик для установки нескольких файлов MSI (из-за предварительных / постреквизитов). Однако это создает проблему распространения, поскольку теперь у вас есть несколько файлов, которые необходимо включить в дистрибутив. Есть, конечно, несколько способов распространить это как один файл.

1: архив

Вы можете поместить все файлы в один архив, который загружают пользователи. Очевидный выбор для MS Windows - это, конечно, архив PK-ZIP. Но это не очень удобно для пользователя. Сначала пользователи должны извлечь архив, а затем запустить загрузчик (который называется setup.exe).

2: архив SFX

Вместо того, чтобы распространять обычный архивный файл, вы можете поместить его в самораспаковывающийся архив. Выполнение этого SFX-архива побудит пользователя извлечь и / или запустить содержимое. Но это добавляет еще одно приглашение ко всему процессу установки (# 1: приглашение SFX, # 2: приглашение загрузчика, # 3: приглашение основного установщика). Это также не очень удобно для пользователя, так как увеличивает раздражение из-за нескольких запросов.

3: загрузчик одного файла

Конечно, есть возможность встроить все файлы извлечения в загрузчик. Это, пожалуй, самый удобный для обычного конечного пользователя. Однако это менее удобно для системных администраторов, поскольку обычно загрузчики менее управляемы, чем файлы MSI. Администратор настроит систему так, чтобы при установке основного MSI также были установлены все реквизиты, поэтому загрузчик не понадобится.

4: Другое?

Другой незарегистрированный метод?

Итак, что, по вашему мнению, является наилучшим способом распространения установщика для программного обеспечения MS Windows, для которого требуется загрузчик?

Ответы [ 4 ]

2 голосов
/ 20 августа 2009

Мы предоставляем загрузчик одного файла для розничного распространения и всех однопользовательских установок.

Клиенты корпоративного лицензирования (например, 10+ мест) получают один (или несколько) MSI-файлов вместе с инструкциями и списком предварительных условий , которые должны быть установлены до запуска нашего приложения (которые немного отличаются в XP Vista и Win2k). EXE блокирует установку, если предварительные условия не установлены, MSI разрешит установку при условии, что системный администратор знает, что он делает, и может устанавливать предварительные требования одновременно, до следующей перезагрузки.

По сути, один загрузчик предназначен для не-системных администраторов , людей, которым нужно решение с одним щелчком мыши. Системные администраторы и корпоративная ИТ-поддержка, которые предпочитают более детальный контроль над своей установкой, рады многим файлам, даже если это означает больше работы для них. Один файл EXE доступен для общественности, инструкции + несколько файлов доступны только при обращении в наш отдел продаж.

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

1 голос
/ 23 сентября 2010

Мы используем Wix для создания MSI-файлов, которые чрезвычайно гибки и могут быть легко автоматизированы с помощью скриптов сборки.

Чтобы объединить несколько файлов MSI / EXE вместе для распространения через один загрузчик, я настоятельно рекомендую DotNetInstaller . Я никоим образом не связан или не связан с этим продуктом, но он был спасателем проектов по созданию настраиваемых загрузчиков в неуправляемом коде.

Я изложил свой недавний опыт разработки многоязычного MSI и загрузчика с использованием этих технологий здесь . Это говорит о процессе от начала до конца. Используя DotNetInstaller, вы можете загружать и устанавливать зависимости с URL-адреса по требованию или легко встраивать их непосредственно в загрузчик. Я также рассмотрел собственный генератор загрузчика SETUPBLD от WIX и задачу GenerateBootStrapper MSBuild, но они довольно просты. Тем не менее, утилита WIX 3.5 Burn в настоящее время находится в стадии разработки и может стать неплохой альтернативой после ее выпуска.

0 голосов
/ 19 июля 2010

У меня была похожая проблема, когда мне нужно было распространять какое-то дополнительное программное обеспечение поддержки, установщик MSI и другой файл, только если он нужен MSI-файлу. Я в основном создал собственное приложение для обработки всего процесса. Я написал блог об этом здесь (http://blog.foldertrack.com/?p=45)

0 голосов
/ 03 августа 2009

Относительно: 1: An archive: 2: A SFX archive

Вы можете использовать самораспаковывающийся .ZIP, который автоматически запускает Setup.exe. WinZip предлагает эту поддержку недорого. Таким образом, это будет более удобным для клиентов. Его можно настроить для запуска загрузчика без запроса.

Относительно: 3: Single file bootstrapper

С риском походить на продавца InstallShield, InstallShield 2009 позаботится обо всем, о чем вы спрашиваете - он сгладит недостаток MSI в необходимости загрузчика. Вы можете использовать Release Wizard для создания единственного загрузчика .EXE all-in-one. Или вы можете создать очень маленькую установку для веб-развертывания, а затем загрузить полезную нагрузку с веб-сайта. Или вы можете поместить различные функции в отдельные файлы .CAB, и пользователю нужно только развернуть те файлы CAB, которые соответствуют функциям, которые он хочет установить. InstallShield поставляется с десятками предварительных условий, готовых для добавления в программу установки.

В зависимости от вашей ситуации MSI v4.5 и 5.0 могут вам помочь - они имеют встроенную поддержку цепочки транзакций из нескольких пакетов. Конечно, в зависимости от того, какие операционные системы вы поддерживаете, вам все равно может понадобиться загрузчик, чтобы убедиться, что поддерживается правильный уровень MSI.

...