Подтвердить что ты не робот

Как сделать самораспаковывающийся и запущенный установщик

Поэтому в настоящее время мои пользователи скачивают zipfile, распаковывают его, а затем запускают setup.exe - я бы хотел, чтобы они делали это одним щелчком мыши. Используя http://www.wikihow.com/Use-7Zip-to-Create-Self-Extracting-excutables, я могу сделать самораспаковывающийся exe файл, но на самом деле он не запускает установщик.

Из этого вопроса

Почему 7zip игнорирует мой InstallPath при создании установщика SFX?

кажется, мне также нужен файл .sfx, поэтому я скопировал из другого вопроса и создал один со следующим содержанием

;[email protected]@!UTF-8!
InstallPath="C:\\test"
GUIMode="2"
RunProgram="setup.exe"
;[email protected]@!

и вызвал setup.sfx и добавил это в архив вместе с другими файлами

setup.ini
setup.exe
setup.ico
install.jar
JVM32 (folder)

но это не имело значения, что еще мне нужно сделать.

Дополнительный вопрос, у меня также есть WinRar, влияет ли это на работу конечного пользователя, использую ли я 7Zip или Winrar?

4b9b3361

Ответ 1

Хорошо, у меня есть работа, надеюсь, что эта информация полезна.

  • Прежде всего, теперь я понимаю, что не только самораспаковывающийся zip-запуск извлечения с помощью doubleclick, но и не требует, чтобы приложение-экстрактор не устанавливалось на компьютер пользователя, потому что код экстрактора находится в самом архиве. Это означает, что вы получите другой пользовательский интерфейс в зависимости от того, какое приложение вы используете для создания sfx

  • Я пошел с WinRar следующим образом, это не требует создания файла sfx, все может быть создано через gui:

    • Выберите файлы, щелкните правой кнопкой мыши и выберите Добавить в архив
    • Использовать Обзор.. для создания архива в папке выше
    • Изменить формат архива на печать
    • Включить создание SFX-архива
    • Выберите вкладку "Дополнительно"
    • Выберите опции SFX
    • Выберите вкладку "Настройка"
    • Введите setup.exe в поле Запустить после извлечения
    • Выберите вкладку "Режимы"
    • Включить Распаковать во временную папку
    • Выберите вкладку "Текст" и "Значок"
    • Введите более подходящее название для своей задачи.
    • Выберите ОК
    • Выберите ОК

В результате exe распакуется во временную папку и затем запускает программу установки

Ответ 2

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

Как сделать самораспаковывающийся архив, который запускает ваш setup.exe с 7zip -sfx switch

Вот шаги.

Шаг 1 - Настройте папку установки

Для этого создайте папку c:\Install. Здесь мы скопируем все необходимые файлы.

Шаг 2 - 7Зип ваши установщики

  1. Перейдите в папку, в которой находятся MSI файл и файл setup.exe.
  2. Выберите .msi и setup.exe
  3. Щелкните правой кнопкой мыши и выберите 7Zip → "Добавить в архив"
  4. Назовите свой архив "Installer.7z" (или имя по вашему выбору)
  5. Нажмите Ok
  6. Теперь у вас должен быть "Installer.7z".
  7. Скопируйте этот файл .7z в ваш каталог c:\Install

Шаг 3 - Получить модуль расширения 7z-Extra sfx

Вам нужно скачать 7zSD.sfx

  1. Загрузите один из пакетов LZMA отсюда
  2. Распакуйте пакет и найдите 7zSD.sfx в папке bin.
  3. Скопируйте файл "7zSD.sfx" в c:\Install

Шаг 4 - Настройте ваш config.txt

Я бы порекомендовал использовать NotePad++ для редактирования этого текстового файла, так как вам нужно будет кодировать в UTF-8, следующие инструкции используют NotePad++.

  1. С помощью проводника Windows перейдите в c:\Install
  2. щелкните правой кнопкой мыши и выберите "Новый текстовый файл" и назовите его config.txt
  3. щелкните правой кнопкой мыши и выберите "Изменить с помощью NotePad++
  4. Нажмите "Меню кодирования" и выберите "Кодировать в UTF-8"
  5. Введите что-то вроде этого:

    ;[email protected]@!UTF-8!
    Title="SOFTWARE v1.0.0.0"
    BeginPrompt="Do you want to install SOFTWARE v1.0.0.0?"
    RunProgram="setup.exe"
    ;[email protected]@!
    

Отредактируйте это, заменив [ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ v1.0.0.0] названием вашего продукта. Замечания о параметрах и опциях для установочного файла находятся здесь

Контрольно-пропускной пункт

Теперь у вас должна быть папка "c:\Install" со следующими 3 файлами:

  1. Installer.7z
  2. 7zSD.sfx
  3. config.txt

Шаг 5 - Создать архив

Эти инструкции я нашел в Интернете, но нигде не объяснил ни один из 4 шагов выше.

  1. Откройте окно cmd, Window + R → cmd → нажмите enter
  2. В командной строке введите следующее

    cd \
    cd Install
    copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe
    
  3. Загляните в c:\Install, и вы увидите, что у вас есть MyInstaller.exe

    Вы закончили

Запустите установщик

Дважды щелкните MyInstaller.exe, и он предложит вам сообщение. Нажмите OK, и файл setup.exe запустится.

PS Примечание по автоматизации

Теперь, когда вы работаете с этим в вашем каталоге c:\Install, я бы создал файл "Install.bat" и поместил в него скрипт копирования.

copy /b 7zSD.sfx + config.txt + Installer.7z MyInstaller.exe

Теперь вы можете просто редактировать и запускать Install.bat каждый раз, когда вам нужно пересобрать новую версию вашего пакета развертывания.

Ответ 3

Это просто с открытым исходным кодом 7zip SFX-Packager - простой способ просто "перетащить" папки на него, и он создает портативный/самораспаковывающийся пакет.