Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы

Ответить
Настройки темы
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы

Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: ya158
Дата: 13-12-2018
Описание: Новая версия Universal Extractor
Конструктор инсталляторов на основе модифицированного SFX модуля 7-Zip'а


Довольно часто пользователи сталкиваются с необходимостью перепаковки дистрибутивов различных программ:
  1. Удаление из дистрибутива ненужных довесков (панелей для браузеров, "улучшателей", "ускорителей", Adware и т.д.).
  2. Удаление ненужных языковых модулей и т.п.
  3. Добавление в дистрибутив плагинов, аддонов и т.п.
  4. Настройку программы "под себя".
  5. Добавление личной информации (например лицензии в реестр или в дополнительный файл)
  6. Объединение в дистрибутиве различных версий программы (например для 32-х и 64-битной платформ) и т.д.
При этом, как правило, такой перепакованный/обновленный дистрибутив запускается в "тихом" режиме автоматически сразу после установки новой операционной системы. Если же дистрибутив запускается не в "тихом" режиме, то обычно не требуется принятие лицензии, выбор устанавливаемых компонентов или выбор местоположения ярлыков. С моей точки зрения единственным полезным выбором является выбор папки установки. Поэтому для подобных дистрибутивов не требуется продвинутый/навороченный интерфейс инсталлятора.

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

Я не хочу устраивать "холливоры" на тему того, какой софт для создания инсталляторов лучше. Я хочу показать, как создавать полноценные инсталляторы на базе Модифицированного SFX модуля 7-Zip'а для установок от Oleg_Sch. Этот модуль в силу своей специфики имеет ряд ограничений, из-за которых нельзя добавить в получаемые инсталляторы некоторые функции (или делается это через одно место), доступные, например, в NSIS. С другой стороны синтаксис конфигурационного файла модуля довольно-таки несложный и этот файл достаточно просто получить из готового инсталлятора для изучения/корректировки. Давно известно, как создавать такие инсталляторы с помощью INF-файлов, но мне хотелось бы отказаться от них и использовать только сам модуль и встроенные в ОС средства (cmd, mshta, реестр).

Итак, описание собственно конструктора:
Перед началом работы необходимо создать папку SourceDir с файлами дистрибутива и положить рядом с ней файл настроек setting.ini и файл name.ico (name - задается в секции [SFX] файла setting.ini) с иконкой для инсталлятора. Файл setting.ini состоит из секций, в которых задаются параметры инсталлятора, пути для копирования/удаления файлов при установке, ключи реестра для добавления/удаления, параметры ярлыков и т.п. Синтаксис секций напоминает синтаксис секций INF-файлов. Все допустимые секцции с возможными параметрами приведены в файле settingSample.ini (папка !!!Tools) с комментариями. Также в папке !!!Tools есть файл Common.ini, в котором находятся настройки общие для всех создаваемых инсталляторов (перзаписываются настройками из файла setting.ini конкретного инсталлятора). Для создания инсталлятора запустите файл makeSFX7z.cmd из папки !!!Tools, указав в качестве параметра путь к папке с дистрибутивом программы. Для примера приведен дистрибутив архиватора 7-zip (положите папку 7z рядом с папкой !!!Tools и запустите файл make.cmd). Если запустить makeSFX7z.cmd из папки !!!Tools без указания пути к дистрибутиву, то будет создан тестовый инсталлятор Test.exe в паке !!!Tools.
При запуске makeSFX7z.cmd с ключом saveconfig или при наличии в папке !!!Tools (для всех) или рядом с файлом setting.ini (для конкретного инсталлятора) файла с имнем saveconfig без расширения скомпилированный файл конфигурации будет сохранен в папке рядом с файлом setting.ini.

!!!Внимание. Если при работе скрипта в консоле отображаются кракозябры. то в свойствах консоли требуется установить шрифт TrueType (Lucida Console, Consolas).

Теперь подробнее о настройках и возможностях конструктора (также см. комментарии в settingSample.ini).
читать дальше »

I. Копирование файлов на жесткий диск. Возможно объединение 32-х и 64-х битных версий программы. Инсталлятор автоматически определит битность ОС и установит соответствующую версию программы.
  1. Секция [SFX].
    • 1.1. Параметр SourceDir задает папку с дистрибутивом программы. В этой папке должны находится все файлы устанавливаемой программы, общие для 32-х и 64-х битных версий. Файлы, предназначенные только для 32-х битной версии программы распалагаются в подпапке SourceDir\!x32, для 64-х битной - в SourceDir\!x64. Если папка SourceDir не будет найдена, то скрипт выдаст сообщение об этом и прервет свою работу.

      1.2. Параметр InstallDir задает папку в %ProgramFiles%, в которую будет установлена программа (может быть изменена после запуска инсталлятора). После копирования файлов в %ProgramFiles% проверяется битность ОС и при наличии подпапок !x32 и !x64, файлы из них копируются с заменой в InstallDir. Поэтому, например, если для дистрибутивы для 32-х и 64-х битной версий отличаются только одним основным исполняемым файлом (задается параметром FileName), то его 32-х битная версия помещается в SourceDir, а 64-х битная - в SourceDir\!x64\. Также по наличию подпапки !x64 определяется есть ли в дистрибутиве 64-х битная версия и на 64-х битных системах предлагается установка в %ProgramW6432%. Если папки !x64 нет, то и на 32-х и на 64-х битных системах предлагается установка в %ProgramFiles%.

      1.3. Параметр Pfx64 дает возможность 32-х битную программу (без подпапки !x64) на 64-х битной системе предлагается установить в подпапку в %ProgramW6432%, а не в %ProgramFiles%.
  2. Секция [CopyDel].
    Предназначена для копирования/удаления файлов и папок. С помощью данной секции возможно копирование и удаления любых файлов и папок на жестком диске, поэтому будьте аккуратны и не укажите для удаления, например, папку %WINDIR%.

II. Операции с реестром. Поскольку используется 32-битный модуль, то на 64-битных системах он обращается к 32-битным версиям reg, mshta и т.д. Поэтому, например, происходит запись в куст реестр HKLM\SOFTWARE\Wow6432Node\ вместо HKLM\SOFTWARE\. При наличии 64-битной версии программы (папка !x64 присутствует) или указан параметр REgx64=1 будут использоваться 64-битные версии reg, mshta (подробнее - в файле makeSFX7z.cmd). Если используется только 32-битная версия программы (папка !x64 отсутствует или REgx64 не равен 1), то при установке программы используются 32-битные версии reg, mshta.
  1. Секция [SFX], параметр REgx64.
    Если этот параметр равен 1, то инсталлятор 32-х битной версии программы (папка !x64 отсутствует) будет вносить изменения на 64-х битной ОС в куст реестр HKLM\SOFTWARE\ вместо HKLM\SOFTWARE\Wow6432Node\
  2. Секции [RegAddInstal] и [RegDelInstal].
    Предназначена для добавления и удаления записей реестра при установке ппрограммы.
  3. Секции [RegAddUninstal] и [RegDelUninstal].
    Предназначены для добавления м удаления записей реестра при деинсталляции программы.
  4. Секция [RegCheck].
    С помощью данной секции возможно сохранение значения записи реестра для последующего восстановления при деинсталляции программы. Может быть использована для восстановления ассоциаций файлов после деинсталляции программы. Принцип работы:
    Перед внесением изменений в реестр инсталлятор сохраняет значение valueOLD записи реестра Parameter по заданному пути HKXX\PATH\. Если при деинсталляции текущее значение записи valueNEW не равняется заданному значению value, то деинсталлятор запись не изменяет. Если valueNEW равняется value, то запись изменяется на valueOLD. Если ДО установки программы запись Parameter отсутствовала, то в случае valueNEW=value запись Parameter удаляется.

III. Регистрация и отмена регистрации элементов управления OLE, например ActiveX и библиотек DLL.
  1. Секция [RegisterOCX].
    Предназначена для регистрации элементов управления OLE. В этой секции указываетмя путь, имя и расширение к библиотеке или злементу ActiveX, кот. необходимо зарегистрировать. При деинсталляции будет произведена отмена регистрации данных файлов.
  2. Секция [UnregisterOCXs].
    Предназначена для отмены регистрации элементов управления OLE при деинсталляции.
    Таким образом при инсталляции регистрируются файлы, указанные только в секции [RegisterOCX]. При деинсталляции регистрация отменяется для файлов, указанных и в секции [RegisterOCX] и в секции [UnregisterOCXs].

IV. Добавление строк
Секция [AddString].
Предназначена для добавления строк в любой текстовый файл. Можно использовать для изменения ini-файлов настроек.

V. Запуск программ.
  1. Секция [RunPreIninstall].
    Предназначена для запуска исполнительных файлов перед установкой программы. Все пути с пробелами должны быть заключены в двойные кавычки.
  2. Секция [RunAfterIninstall].
    Предназначена для запуска исполнительных файлов после установки программы. Все пути с пробелами должны быть заключены в двойные кавычки.
  3. Секция [RunPreUninstall].
    Предназначена для запуска исполнительных файлов перед деинсталляцией программы. Все пути с пробелами должны быть заключены в двойные кавычки.
  4. Секция [RunAfterUninstall].
    Предназначена для запуска исполнительных файлов после деинсталляции программы. Все пути с пробелами должны быть заключены в двойные кавычки.

VI. Ярлыки.
Секции [Shortcut_n]. n=1,2,3...
Предназначены для добавления ярлыков файла (для каждого файла - своя секция со своим номером n) на Рабочий стол, в меню "Пуск -> Программы", в меню кнопки "Пуск", в контекстном меню "Отправить", в папке "Автозагрузка" и в панели быстрого запуска. Также возможно закрепить программу на панели задач (для Vista, 7, 8, 10). Ярлыки возможно создавать как для текущего пользователь, так и для всех пользователей, а также указывать в свойствах ярлыка, что программа должна запускаться от имени администратора. При деинсталяции все ярлыки удаляются.
  1. Если значение параметра Desktop, Programs, Star, SendTo, Autostart, QL равно 1, то ярлыки будут созданы на Рабочем стол, в меню "i]Пуск -> Программы[/i]", в меню кнопки "Пуск", в контекстном меню "Отправить", в папке "Автозагрузка" и в панели быстрого запуска соответственно. Если TaskBar=1, то файл будет закреплен на панели задач (для Vista, 7, 8, 10).
  2. Ярлыки будут созданы для всех пользователей, если AllUser=1, и для текущего при AllUser=0
  3. Ярлык для запуска прграммы от имени Администратора, если Administrator=1.
  4. Остальные параметры (src_file_path, command_line_for_file, folder_for_shortcut, description, shortcut_name, working_directory, icon_file и icon_index) описаны в документации к Модифицированному SFX модулю 7-Zip'а для установок (команда Shortcut). Единственное замечание - src_file_path может быть опущен. В этом случае ярлыки создаются для FileName (см. секцию [SFX] в settingSample.ini).

VII. Деинсталляция.
В отличии от специализированных программ для создания инсталляторов модифицированный модуль самостоятельно не создает записей в реестре и/или специальных файлов для деинсталляции. Обычно для этой цели с помощью команды RunProgram модуля создается раздел с именем программы в кусте реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall с записями, которые задают пункт для деинсталляции программы в апплете "Установка и удаление программ" (или "Программы и компоненты"). С помощью записи UninstallString задается путь и имя файла для деинсталляции программы. Чаще всего для этой цели используется inf-файл или батник (при использовании InnoSetup или NSIS используется специально созданный файл). Я решил отказаться от использования дополнительных файлов и записывать команды для деинсталляции непосредственно в самом реестре. Используются как cmd, так и VBScript (mshta). Поскольку существуют ограничения на длину значения записи UninstallString, длину записи в mshta и т.п., то созаются дополнительные параметры в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<имя программы>. Имя раздела <имя программы> может быть любым. Я принял его равным ProgName (задается в секции [Message]).
  1. Секция [UninstallReg].
    Предназначена для задания информации, которая видна в пункте для деинсталляции программы в апплете "Установка и удаление программ" (или "Программы и компоненты").
  2. Секция [DelUninstal].
    Предназначена для удаления файлов и папок при деинсталляции. Папка InstallDir с файлами программы удаляется автоматически (если параметр NoDelInstallDir в секции [SFX] не равен 1) и здесь её указывать не нужно. Также автоматически проверяется папка, в которой находится InstallDir и, если она пуста, то удаляется (если NoDelInstallDir не равен 1). Например, если программа устанавливается в %ProgramFiles%\Folder1\Folder2, то при удалении автоматически удаляется Folder2 и, если пуста Folder1, то тоже удаляется.
    С помощью данной секции возможно удаления любых файлов и папок на жестком диске, поэтому будьте аккуратны и не укажите для удаления, например, папку %WINDIR%.
  3. Секция [PreUninstalProg].
    Если необходимо перед деинсталляции программы деинсталлировать какую-нибудь другую программу (например, плагин или аддон), то в эту секцию записываются имена разделов в кусте реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Команды для удаления берутся из записей UninstallString, а имена программ для диалогов, в которых предупреждается о необходимости удаления - из записей DisplayName указанных в этой секции разделов.

VIII. Добавление языковых и/или платформенных секций.
Как известно файл конфигурации модифицированного SFX модуля 7-Zip'а может после основной секции содержать дополнительные секции (подробнее - в справке к модифицированному SFX модуля 7-Zip'а). Для их добавления служит файл end_of_cfg.txt, который ищется в той же папке, что и setting.ini. Файл end_of_cfg.txt должен соответствовать требованиям, предъявляемым к файлу конфигурации модифицированного SFX модуля 7-Zip'а.

IX. Проверки перед распаковкой дистрибутива.
  1. Проверка на повторный запуск инсталлятора. Если в процессе установки инсталлятор будет запущен повторно, то вторая копия процесса установки автоматически завершится с выводом окна пердупреждения.
  2. Проверка на предыдущую неудачную установку. Если в процессе установки обнаружена предыдущая неудачная установка (определяется по наличию файла %%T\UnCom.~), то она будет удалена (инструкции для корректной деинсталляции берутся из %%T\UnCom.~) и работа инсталлятора прекращена.
  3. Секция [Check] - предназначена для проверки версии Windows, на которой запускается инсталлятор, а также наличия или отсутствия
    • файлов
    • записей реестра
    • определенной версии Microsoft .NET Framework
    • определенной версии Microsoft Visual C++ Redistributable Package
    Формат записей в этой секции приведен в settingSample.ini. Также см. параметры NoDotNet, AlreadyDotNet, NeedRegistry, AlreadyRegistry, NeedFile и AlreadyFile в секции [Message].


В этой же теме я также буду выкладывать конструкторы для создания некоторых программ. Список:
  1. 7-zip 16.04
  2. Ashampoo Uninstaller 4.3.0.0
  3. BSplayer Pro 2.7.0.1080
  4. CCleaner 5.29.0.6033
  5. ConsoleZ 1.15.0.15253
  6. FileMenu Tools 6.8.0.0
  7. HashTab 5.2.0.0
  8. ImgBurn 2.5.8.0
  9. IZArc 4.3.0.3856
  10. Paint.NET 4.0.19, Paint.NET 3.5.11 и плагины
  11. Regshot 2.0.1.70
  12. Resource Hacker 4.5.30.180
  13. Scanner 2.13
  14. Universal Extractor 1.6.1.1035 (13/12/2018) mod by koros aka ya158
  15. Набор утилит для удаления SpyWare, AdvWare, руткитов, троянов, червей и т.п. v1.2

История версий

Скачать ЯДиск Скачать GoogleDrive

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 16:38, 06-02-2015

 

Аватара для masterchess

Старожил


Сообщения: 390
Благодарности: 119

Профиль | Отправить PM | Цитировать


ya158, хотелось бы увидеть готовый инсталлятор со всеми возможностями например этого аддона. Ну или какой нибудь другой на Ваше усмотрение.

Отправлено: 14:31, 01-03-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Цитата masterchess:
Ну или какой нибудь другой на Ваше усмотрение. »
Так ведь приведен же 7-zip.

Я постепенно перевожу свои инсталляторы на сабж. Вот думаю выкладывать их в этой теме. Пока занят Universal Extractor-ом.

Для начала выложил конструктор для создания инсталлятора Ashampoo Uninstaller 4.3.0.0.

Цитата:
хотелось бы увидеть готовый инсталлятор со всеми возможностями например этого аддона
CCleaner - в планах. По поводу многовариантности установок - я уже высказал свои мысли по этому поводу в шапке. Повторюсь: настроил один раз, определил какие нужны ярлыки и не надо запоминать какие ключи для чего нужны. А если каждый раз надо создавать различные ярлыки и/или настройки - то лучше воспользоваться Inno или Nsis.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:53, 01-03-2015 | #3


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Новая версия
06.03.2015 v1.1
- Исправлена ошибка (неправильно обрабатывалась секция [AddString], [RunPreUninstall], [RunAfterInstall]).
- Добавлена возможность создания ярлыков в контекстном меню "Отправить".
- Добавлена возможность при наличии рядом с файлом setting.ini файла end_of_cfg.txt добавить его содержимое в конец создаваемого файла конфигурации.
- Изменение шапки.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 01:21, 06-03-2015 | #4


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Конструктор Universal Extractor - программы, предназначенной для извлечения файлов из архивов, инсталляторов, упаковщиков, образов и т.д.
Более подробный список можно увидеть на оффсайте
Здесь есть информация, что оригинальная программы не будет больше развиваться, так как автор больше не использует Windows.


Последняя оригинальная версия 1.6.1 (12.05.2010). Я решил вести свою нумерацию версий - начал с 1.6.1.1000 в этой теме.
Universal Extractor в дальнейшем я буду поддерживать не в виде аддона, а в виде конструктора для создания инсталлятора.
Ключи командной строки
Код: Выделить весь код
UniExtract.exe [/help | /prefs | /lang <lang>] [filename [destination | /sub]]
/help, /h, /?, -h, -? - вывод справочной информации о ключах командной строки
/prefs, /p, -prefs, -p - вывод диалога "Настройки" UniExtract
/lang /lang, /l /lang, -lang /lang, -l /lang - изменение языка интерфейса. /lang имя языкового файла *.ini
filename - путь\имя извлекаемого файла
destination - путь\имя папки для извлечения
/sub - извлечение будет произведено в папку с именем извлекаемого файла
При запуске Universal Extractor-а без параметров будет выведено основное окно программы с запросом об имени файла и папке для извлечения.

История изменений после оригинальной версии 1.6.1
читать дальше »

1.6.1.1019 (25/07/2016)
Номер версии не менялся, т.к. сам Universal Extractor не изменился.
  1. Обновлен 7-zip до версии 16.02, модифицированный для извлечения скрипта NSIS (спасибо dev2null)
  2. Обновлен Windows Installer XML Toolset Decompiler до версии 3.10.3.3007 (файлы wix\dark.exe и wix\wix.dll, wix\wixcab.dll больше не нужен, winterop.dll перенесен в папку wix).

1.6.1.1019 (22/07/2016)
  1. При админустановке инсталляторов msi из папки назначения не удаляется сам файл msi.
  2. Добавлено распаковка файлов .crx с помощью 7-zip. Файл .crx содержит расширения и плагины для браузера Google Chrome (скины, темы, дополнительный функционал).
  3. Обновлен Exeinfo PE до версии v0.0.4.2 Final - 941 + 46 signatures. Перенесен в папку bin\exeinfope со своим собственным userdb.txt
  4. Обновлен Detect-It-Easy до версии 1.01.
  5. Обновлен Less MSIerables (lessmsi) до версии 1.4. Внимание для его работы требуется .NET Framework v4.0.
  6. Обновлен 7-zip до версии 16.02, модифицированный для извлечения скрипта NSIS (спасибо wvxwxvw).
  7. Обновлен Pea до версии 0.55
  8. Обновлен плагин Total SQX до версии 2.11
  9. Обновлен TrID до версии 2.24 (база TrIDDefs.TRD 6972 Типов Файлов, 17.07.16)
  10. Обновлен ZPAQ до версии 7.14
  11. Обновлены модули для плагина TotalObserver до версии 1.11.2 (взяты из плагина Observer для FAR)

1.6.1.1018 (20/01/2016)
  1. Исправлена ошибка (появлялась при вызове диалога определения метода распаковки инсталляторов InstallShield)
  2. Обновлен перевод Chinese (Simplified)

1.6.1.1017 (19/01/1016)
  1. Исправлена ошибка (не сохранялся выбор Exeinfo PE в "Настройках")
  2. Добавлен ключ /lang для изменения языка интерфейса Universal Extractor. Пример использования: UniExtract.exe /lang Russian
  3. Удален файл UniExtract.ini. При инсталляции, если в папке установки уже есть UniExtract.ini, то язык в нем меняется при помощи ключа на язык системы. Если же фыйла нет, то он создается с единственным параметром - language=%language% (%language% - язык ситемы)
  4. Изменены параметры, задаваемые по умолчанию - подробнее см. UniExtract.au3.
  5. Добавлен распаковщик unshield v1.3 (скомпилирована с исправлениями участником конференции ru-board Tilks) для InstallShield CAB. Распаковщики InstallShield CAB теперь пробуются в следующем порядке (при неудачной распаковке проверяется следующий распаковщик): TotalObserver -> unshield -> i6comp -> i5comp
  6. Добавлен ключ -f в командную строку при запуске утилит i5comp/i6comp для распаковке с поддиректориями.
  7. Добавлена возможность распаковки образов vhd с помощью плагина 7-zip.
  8. Добавлена возможность распаковки инсталляторов InstallShield с ключами /s /extract_all:"<outdir>" и /a /s /v"/qn TARGETDIR=\"<outdir>\" (автор дополнения Amritius)
  9. Добавлено: При анализе EXE-файла теперь идет проверка на 7-ZIP SFX архив по фразе '7-ZIP'.
  10. Обновлен 7-zip до версии 15.14, модифицированный для извлечения скрипта NSIS.
  11. Обновлен Detect-It-Easy до версии 1.00.
  12. Обновлен innounp до версии 0.45.
  13. Обновлен i6comp до версии 0.3b 2011 года (удален ZD51145.DLL).
  14. Заменен распаковщик zoo архивов booz.exe на unzoo.exe v 4.5 2001/11/09.
  15. Обновлена база TrIDDefs.TRD: 6370 типов Файлов, 15.01.16
  16. При распаковке msi методом административной установки оригинальный файл теперь не копируется в папку назначения
  17. Исправление мелких ошибок.
  18. Изменена декомпиляция скомпилированных скриптов AutoIt - если скомпилированный скрипт упакован UPX, то на декомпиляцию утилите Exe2Aut.exe передается нераспакованный скрипт, а в папку с декомпилированным скриптом помещается распакованный exe-шник.

1.6.1.1016 (30/12/1015)
  1. Добавлена возможность анализа исполняемых файлов с помощью Exeinfo PE v0.0.4.1 III - 902 + 35 signatures. После анализа с помощью trid.exe исполняемый файл анализируется следующими утилитами по очереди: Exeinfo, Detect-It-Easy, PEiD. Любую из них можно отключить через настройки Universal Extractor. По умолчанию включены все.
  2. Добавлена возможность распаковки mht, msi, Wise Installer, InstallShield Installer с помощью плагина TotalObserver к Total Commander.
  3. Добавлена возможность выбора распаковщика (TotalObserver.wcx или InstExpl.wcx) для Gentee Installer.
  4. Добавлена возможность выбора распаковщика (TotalObserver.wcx или InstExpl.wcx) для Setup Factory.
  5. Добавлена возможность распаковки MDF-образов Alcohol 120%, ISZ-образов UltraISO, NRG-образов Nero Burning ROM, BIN-образов и извлечения встроенных файлов из PDF с помощью TotalObserver.wcx.
  6. Добавлена возможность распаковки установочных пакетов Mac OS X *.pkg, образов диска Mac OS X *.dmg и архивов *.xar с помощью 7-zip.
  7. Добавлена возможность распаковки встроенные файлов из PDF с помощью TotalObserver.wcx.
  8. Добавлена распаковка файлов, которые определяются как "InstallShield CAB", с помощью TotalObserver.wcx. Если такая распаковка неудачна, то ппопытка распаковки с помощью i5comp.exe/i6comp.exe.
  9. Заменена распаковка файлов *.iso с помощью 7-zip на распаковку с помощью TotalObserver.wcx.
  10. Улучшена обработка путей к файлам с кириллическими символами.
  11. Вывод информационного окна при ошибки во время распаковки с помощью expand.exe.
  12. Добавлены ссылки на топики на Ru.Board и OSzone.net в меню "Помощь" основного окна Universal Extractor.

1.6.1.1015 (01/12/2015)
  1. Удалено преобразование uniextract-*.txt -> uniextract_temp-*.txt -> uniextract-*.txt при неудачной распаковке.
  2. Обновлен Chinese (Simplified) перевод

1.6.1.1014 (26/11/2015)
Номер версии не менялся, т.к. сам Universal Extractor не изменился.
  1. Обновлен innounp до версии 0.44.
  2. Мелкие исправления

1.6.1.1014 (23/11/2015)
  1. Обновлен 7-zip до версии 15.12, модифицированный для извлечения скрипта NSIS.
  2. Добавлена распаковка cab-файлов, получаемых после распаковки файлов msu.
  3. Удален Unrar (UnRAR.exe) - заменен на 7-zip.
  4. Обновлен MhtUnpack до версии 2.0
  5. Обновлен Pea до версии 0.51
  6. Обновлена база TrIDDefs.TRD: 6240 типов Файлов, 23.11.15

1.6.1.1013 (05/10/2015)
  1. Добавлена возможность сканирования исполняемых файлов с помощью Detect-It-Easy 0.99. Возможен выбор анализатора исполняемых файлов в Настройках.
  2. Изменение формирования основного окна программы.
  3. Добавлена проверка раздела реестра [b][color=green]HKEY_CURRENT_USER\Software\PEiD[b][color=green] до работы утилиты PEiD. Если данный раздел отсутствует до запуска PEiD, то после работы PEiD он удаляется.
  4. При тестировании EXE-файла утилитой PEiD теперь идет проверка на NSIS инсталлятор по фразе 'Nullsoft' вместо 'Nullsoft PiMP'.
  5. При тестировании EXE-файла утилитой PEiD теперь идет проверка на Setup Factory по фразе 'Setup Factory' вместо 'Setup Factory 6.x'.
  6. При тестировании EXE-файла утилитой PEiD теперь идет проверка на ZIP SFX по фразе 'ZIP' вместо 'ZIP SFX'.
  7. Изменен алгоритм проверки на то, что файл упакован с помощью UPX. Если при попытки распаковки с помощью UPX получается сообщение "CantUnpackException: file is modified/hacked/protected; take care!!!", то файл отправляется на повторную проверку без попыток распаковать его с помощью UPX.
  8. Обновлен userdb.txt
  9. Обновлен iso.wcx до версии 1.7.9
  10. Обновлен stuffit5.engine-5.1.dll до версии 5.1.6.582
  11. Обновлен unarc.exe до версии 0.67 alpha
  12. Обновлена база TrIDDefs.TRD: 6155 типов Файлов, 02.10.15
  13. Обновлен архиватор 7-zip до версии 15.08 beta

1.6.1.1012 (22/09/2015)
  1. Изменен алгоритм распаковки исполняемых файлов с помощью UPX/AspackDie - распакованные файлы сохраняются теперь в папке назначения в любом случае.
  2. Исправлена ошибка, связанная с некорректным парсингом вывода 7-zip.exe.
  3. Обновлен 7-zip до версии 15.07 beta.
  4. Обновлен innounp до версии 0.43
  5. Исправлена ошибка (неправильное отображения пункта "UniExtract to &Subdir" в контекстном меню файлов в английской версии)

1.6.1.1011 (13/09/2015)
  1. Добавлена возможность распаковки msi-файлов с помощью плагина InstExpl.wcx к Total Commander.
  2. Изменен алгоритм проверки на то, что файл исполняемый файл упакован с помощью UPX или AspackDie. Теперь Universal Extractor после распаковки файла, упакованного с помощью UPX или AspackDie, повторно анализирует его и, при возможности, извлекает из него файлы. Если такое извлечение невозможно, то в папку назначения помещается распакованный с помощью UPX или AspackDie исполняемый файл с именем анализируемого файла, к которому добавлено "_TERM_UNPackED" (см. текущий языковой файл). Никаких запросов при этом не выдается.
  3. Исправлена ошибка, связанная с некорректным парсингом вывода cmdTotal.exe.

1.6.1.1010 (25/07/2015)
  1. Изменен алгоритм поиска по сигнатуре. Сигнатура ищется только в начале и в конце файла (по умолчанию - по 10 мБ с начала и с конца). Можно задавать для каждого поиска отдельно.

1.6.1.1009 (16/07/2015)
  1. Добавлена возможность корректного запуска нескольких копий Universal Extractor одновременно, для чего каждая копия создает свой собственный отладочный файл.

1.6.1.1008 (08/07/2015)
  1. Изменена методика проверки на Caphyon Advanced Installer - к проверке на сигнатуру 0000E979FEFFFF добавлена проверка на сигнатуру 43617068796F6E (слово "Caphyon") и на сигнатуру 416476616E63656420496E7374616C6C6572 (слова "Advanced Installer").
  2. Проверка на Caphyon Advanced Installer перенесена в конец тестирования exe-файлов.
  3. Добавлено информационное окно при тестировании на Caphyon Advanced Installer.

1.6.1.1007 (06/07/2015)
  1. Изменена очередность проверки на Caphyon Advanced Installer, т.к. сигнатура 0000E979FEFFFF не однозначно указывает на Caphyon Advanced Installer.

1.6.1.1006 (29/06/2015)
  1. Исправлена ошибка (был конфликт Less MSIerables (lessmsi) и Windows Installer XML Toolset Decompiler - для их работы требуются различные версии библиотеки wix.dll)

1.6.1.1005 (24/06/2015)
  1. Изменена очередность проверок на Microsoft Visual C++ Redistributable версии старше 2010 и на Caphyon Advanced Installer.
  2. При тестировании EXE-файла утилитой PEiD теперь идет проверка на NSIS-инсталлятор по фразе 'Nullsoft PiMP' вместо 'Nullsoft PiMP SFX'..
  3. Обновлен 7-zip до версии 15.05 beta
  4. Обновлен innounp до версии 0.42
  5. Обновлен Mhtunpack до версии 1.9.4
  6. Обновлен TrID до версии 2.20 (база TrIDDefs.TRD 5936 Типов Файлов, 15.06.15)
  7. Обновлен ZPAQ до версии 7.05
  8. Исправлена ошибка (не создавалась папка назначения, если существовал файл с именем папки назначения)

1.6.1.1004 (14/05/2015)
  1. Утилита Aut2exe.exe вынесена в папку !!!Tools\bin Конструктора инсталляторов на основе модифицированного SFX модуля 7-Zip'а
    Номер версии не менялся, т.к. сам Universal Extractor не изменился.

1.6.1.1004 (23/04/2015)
  1. Добавлено: Распаковка Microsoft Visual C++ Redistributable версии старше 2010.
  2. Добавлено: Распаковка файлов созданных Caphyon Advanced Installer.

1.6.1.1003 (30/03/2015)
  1. Добавлено: Распаковка файлов sqx.
  2. Добавлено: Распаковка файлов zpaq.

1.6.1.1002 (28/03/2015)
  1. Добавлена возможность извлечения SFX-модуля и файла конфигурации/комментария из SFX-архивов.
  2. Добавлен распаковщик msi-файлов Less MSIerables (lessmsi).
  3. Добавлена возможность определения файла по сигнатуре.
  4. Исправлены мелкие ошибки

1.6.1.1001 (05/03/2015)
  1. Обновлены распаковщики/разархиваторы. Список можно увидеть в \docs\!!!Extractor.txt.
  2. Добавлена поддержка 64-битных систем. На таких системах устанавливается 64-битные версии части распаковщиков/разархиваторов. Uharc02.exe и BOOZ.EXE на таких системах не устанавливаются.
  3. Удалена возможность распаковывать из контекстного меню в ту же папку, в которой находится сам инсталлятор/архив. В контекстное меню "Отправить" добавлен пункт "Universal Extractor", который дает возможность распаковки через GUI.

1.6.1.1000 (07/05/2013)
  1. Если при распаковки существует файл с именем, совпадающим с именем папки назначения, то предлагается на выбор:
    1. К имени папки назначения добавить _extracted
    2. Выбрать или создать другую папку
    3. К имени папки назначения добавить текущие дату и время.
  2. Если при распаковки существует папка с именем, совпадающим с именем папки назначения, то предлагается на выбор:
    1. Очистить эту папку и распаковать в неё
    2. Выбрать или создать другую папку
    3. Распаковать в эту папку без очистки.
  3. Выбор распаковщиков AspackDie. Потребность в этом описана здесь
  4. Исправление: При распаковке UPX-файла filename.exe возникала ошибка, если существовал файл назначения filename_unpacked.exe.
  5. Добавлены пункты меню настроек (ключи в настроечном файле UniExtract.ini) "Скрывать окно консоли" и "Минимизировать окно консоли".
  6. Добавлен распаковщик msi-файлов Simple One-Click MSI Unpacker. Входящий в него скрипт адаптирован под Universal Extractor (спасибо Alex_Piggy с руборда).
  7. Добавлен распаковщик FreeArc 0.666.
  8. Добавлена проверка пароля инсталлятора Inno, архивов 7-zip, Rar и Zip. Если установлено "Скрывать окно консоли" или "Минимизировать окно консоли", то, при наличии пароля, это игнорируется и выводится нормальное окно консоли с запросом пароля.
  9. Исправлено: При распаковке MSI при помощи плагина к TotalCommander-у была ошибка в оригинальном скрипте - вместо правильного $cabfiles[$i] было $cabfile[$i]
  10. Изменено: При тестировании CHM-файла утилитой TrID теперь идет проверка по фразе '(.CHM) Windows HELP File' вместо 'Compiled HTML Help File'.
    Аналогично для HLP-файла проверяется фраза '(.HLP) Windows Help file'.
  11. Добавлено: При тестировании EXE-файла утилитой PEiD теперь идет проверка на NSIS-инсталлятор по фразе 'Nullsoft PiMP SFX'. При распаковке в этом случае дубликаты автоматически переименовываются.
  12. Изменено\добавлено: Убрано выделение bin\cue и nrg\cue в отдельную подгруппу (без проверки этих файлов с помощью TrID). Распаковка файлов, которые TrID определяет как 'ISO CDImage - universal format' с помощью плагина iso.wcx 1.7.7 beta 4 к TotalCommander-у. Удаляются файлы bin2iso*.* и nrg2iso*.*.
  13. Добавлено: Распаковка файлов msu - пакеты обновлений Windows по аналогии с распаковкой msp-файлов методом 7-zip.
  14. Изменено: Файлы образов дискет (.img) распаковываются не утилитой Extract 2.10, а 7-zip-ом. Удаляются файлы Extract*.*.

Дальнейшая история изменений после оригинальной версии 1.6.1


Расширенную версию Universal Extractor-a можно найти на руборде.

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Последний раз редактировалось ya158, 03-03-2017 в 13:51.


Отправлено: 01:47, 06-03-2015 | #5


Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


Сообщения: 1861
Благодарности: 868

Профиль | Отправить PM | Цитировать


ya158, В Common.ini опечатка:
Цитата:
;Можно использовать переменные модуля типа %%T %%S %%T
Зачем в конструкторе используется rt_version.exe когда 7zsdrc.exe может выполнять те же функции ?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:55, 09-03-2015 | #6


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Цитата Ж.Д.А.Л.К.Е.Р.:
В Common.ini опечатка: »
Спасибо. Исправил.
Цитата Ж.Д.А.Л.К.Е.Р.:
Зачем в конструкторе используется rt_version.exe когда 7zsdrc.exe может выполнять те же функции ? »
Разве 7zsdrc.exe может считать из исполнительного файла те данные, которые указаны в секции [Properties], а затем записать их обратно в файл? Если да, то как это сделать?

Новая версия
10.03.2015 v1.2
- Добавлена возможность добавлять/удалять записи реестра при установки/удалении программы в зависимости от разрядности ОС (см. settingSample.ini).

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Последний раз редактировалось ya158, 10-03-2015 в 09:41.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:29, 09-03-2015 | #7


Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


Сообщения: 1861
Благодарности: 868

Профиль | Отправить PM | Цитировать


ya158, Да. Написал заметку, там все описано.

Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 10-03-2015 в 15:12.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:08, 10-03-2015 | #8


Ветеран


Автор проектов


Сообщения: 1575
Благодарности: 493

Профиль | Отправить PM | Цитировать


Ж.Д.А.Л.К.Е.Р.,
Мне надо считать данные из исполнительного файла в перемнные, кот. потом используются в батнике. Помимо этого эти и другие данные записываются в sfx-модуль. В случае rt_version.exe это именно так и делается. В случае 7zsdrc.exe, насколько я понял, надо считать в файл, потом прочитать из этого файла, записать обратно в файл и применить этот файл к sfx-модулю. В принципе не особо сложно это сделать. Но чем это лучше использования rt_version.exe?

-------
Объективная реальность есть бред, вызванный недостатком алкоголя в крови.
Оптимизм есть недостаток информации.
Хочу быть змеёй, чтобы на работу лёжа ходить.
Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы


Отправлено: 15:35, 10-03-2015 | #9


Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


Сообщения: 1861
Благодарности: 868

Профиль | Отправить PM | Цитировать


ya158, В целом правильно, кроме:
Цитата ya158:
записать обратно в файл и применить этот файл к sfx-модулю »
Можно применить и одной длинной строкой:
Код: Выделить весь код
7zsdrc.exe 7zsd_LZMA2_Cut-res.sfx -pv "5.22.0.0" -fv "5.22.0.0" -vs "ProductVersion=5.22" -vs "FileVersion=5.22" -vs "CompanyName=FinePrint Software, LLC" -vs "FileDescription=pdfFactory" -vs "LegalCopyright=Copyright (c) 2001-2015 FinePrint Software, LLC" -vs "ProductName=pdfFactory" -i 48.ico

Цитата ya158:
Но чем это лучше использования rt_version.exe? »
Меньше файлов, на треть меньше вес конструктора.
Я только вчера узнал о существовании rt_version.exe и 7zsdrc.exe. И мне было интересно, что такого в rt_version.exe и можно ли обойтись только 7zsdrc.exe (свои простенькие скрипты по сборке утилит/Repack-ов на основе модифицированного модуля).

Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 10-03-2015 в 16:37.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:21, 10-03-2015 | #10



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Конструктор инсталляторов на основе 7z SFX + готовые инсталляторы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Модифицированный SFX модуль 7-Zip'а для установок Oleg_Sch Автоматическая установка Windows 2000/XP/2003 2011 20-03-2024 11:07
GUI для модифицированного 7-Zip SFX модуля для установок hobbeat Автоматическая установка Windows 2000/XP/2003 259 09-10-2016 07:01
Project SFX Config - GUI для создания конфигураций модифицированного модуля 7zip Medic84 Автоматическая установка Windows 2000/XP/2003 79 14-04-2014 22:04
CMD/BAT - [решено] 7-zip. Командная строка. Как изменить иконку sfx архива? Centrinar Скриптовые языки администрирования Windows 1 01-08-2011 03:53
Создание silent 7-zip sfx mitiya Автоматическая установка Windows 2000/XP/2003 17 01-03-2011 22:14




 
Переход