Inno Setup 6
История версий
Авторские права © 1997-2025 Jordan Russell. Все права
защищены.
Смежные авторские права © 2000-2025 Martijn Laan. Все права защищены.
Условия распространения и использования смотрите в LICENSE.TXT.
Хотите получать уведомления об обновлениях? Подпишитесь
на рассылку о новых выпусках Inno Setup.
6.5.0-dev (?)
Обработка архивов
Улучшена поддержка извлечения загруженных архивов. Теперь возможно извлечение
архивов, защищенных паролем, многотомных архивов и архивов другого формата,
отличных от .7z, например .zip. Это также позволяет снизить требования к
памяти при распаковке .7z-архивов с большими файлами. Кроме того, в секции
[Files] добавлена возможность извлечения файлов из архивов.
Использование этих функций необязательно и не увеличивают размер
программы установки, если не используются.
- Обновление секций [Setup] и [Files]:
- В секции [Setup] добавлена директива ArchiveExtraction
для указания метода извлечения архива, используемого флагом
extractarchive в секции [Files] (см. ниже) и функциями
ExtractArchive и CreateExtractionPage:
- basic (по умолчанию) – метод, впервые реализованный в Inno
Setup 6.4.0. Работает только с архивами .7z не защищённые паролем.
- enhanced/nopassword использует внешнюю библиотеку 7zxr.dll,
собранную на базе исходного кода 7-Zip (автор – Игорь Павлов) с минимальными
изменениями: добавлена цифровая подпись и файл переименован в is7zxr.dll.
По сравнению с методом basic, предлагает более эффективное
использование памяти при работе с архивами, содержащими крупные файлы, но
приводит к увеличению размера установочного пакета. Важно отметить, что
данный метод поддерживает исключительно архивы .7z без парольной защиты.
- enhanced использует библиотеку 7zxa.dll вместо 7zxr.dll. Файл
библиотеки собран заново, подписан цифровым сертификатом и переименован в
is7zxa.dll. Поддерживает только архивы .7z, включая защищённые паролем.
- full вместо библиотеки 7zxa.dll использует 7z.dll. Данная
библиотека была перекомпилирована, подписана и переименована в is7z.dll.
Поддерживает наиболее популярные форматы архивов (такие как .7z, .zip, .rar
и другие), но не все по сравнению с оригинальной 7z.dll — это было сделано
для уменьшения её размера. Кроме того, реализована поддержка многотомных
архивов.
Различия между этими методами смотрите в разделе документации "ArchiveExtraction".
- В секции [Files] добавлен флаг extractarchive и
параметр ExtractArchivePassword, предназначенный для прямой
интеграции и извлечения архивов.
- Извлечение из архива теперь учитывает состояние перенаправления файловой
системы, установленное 64-разрядным режимом установки и функцией
EnableFsRedirection.
- Изменения в Pascal Scripting:
- Устаревшая функцияExtract7ZipArchive заменена на новую
ExtractArchive, в которую был добавлен дополнительный
параметр для указания пароля, если требуется.
- Теперь функции ExtractArchive и CreateExtractionPage
без предупреждения перезаписывают существующие в целевом каталоге файлы,
доступные только для чтения. Ранее это приводило к ошибке извлечения.
- Добавлена функция MapArchiveExtensions, которая позволяет
распаковывать архивы с пользовательскими расширениями, например,
самораспаковывающиеся архивы.
- Добавлена функция AddEx (класс TExtractionWizardPage)
для добавления архивов, защищенных паролем.
Загрузка файлов
Реализована встроенная поддержка загрузки файлов: теперь секция [Files]
позволяет загружать файлы напрямую, без необходимости использования Pascal
Script. Новый метод загрузки более эффективен, так как исключает создание
временных файлов, которые требовались при работе со скриптами.
Функция проверки подлинности файлов
Inno Setup теперь включает встроенную проверку подлинности ваших файлов,
которая может быть выполнена при компиляции – перед включением файлов в
установочный пакет или во время установки – перед копированием файлов в
систему пользователя.
Любой тип файла может быть подписан и проверен, а для создания подписей
не требуется сертификат от центра сертификации, что делает этот
процесс совершенно бесплатным.
Однако эти подписи не могут быть использованы для устранения предупреждения
«Неизвестный издатель», которое отображает ОС Windows при запуске программы
установки или другого EXE-файла. Для этого требуется совершенно другой тип
подписи (Authenticode), встроенной в EXE-файл с помощью инструмента
signtool.exe от Microsoft, а также цифровой сертификат, полученный
от центра сертификации.
Описание:
- Секция [ISSigKeys]:
- Добавлена необязательная секция [ISSigKeys] для объявления
ключей, используемых компилятором и программой установки для проверки
подписей файлов.
- Поддерживаются параметры Name (обязательный) и Group
для идентификации ключей, параметры KeyFile, PublicX
и PublicY для указания значений ключей, параметр KeyID
для двойной проверки значений ключей и параметр RuntimeID для
идентификации ключа во время выполнения.
- Файлы подписей имеют читаемый формат и могут быть созданы с помощью
инструмента подписи "Inno Setup Signature Tool" (см. ниже).
- Пример секции:
[ISSigKeys]
Name: anna: KeyFile: "anna.ispublickey"; Group: exesigner
Name: ryan; KeyFile: "ryan.ispublickey"; Group: exesigner
Name: ivan; KeyFile: "ivan.ispublickey"; Group: docsigner
; "max" является доверенным для подписания как exe, так и doc
Name: max; KeyFile: "max.ispublickey"; Group: exesigner docsigner
; "boss" также имеет ключ
Name: bosskey; KeyFile: "boss.ispublickey"
- Секция [Files]:
- Инструмент подписи "Inno Setup Signature Tool":
- Обновлена документация:
- Прочие изменения:
Другие изменения
- IDE компилятора:
- Список с результатами поиска "Найти в файлах" теперь будет
обновлять номера строк в случае добавления или удаления строк.
- Опция "Подсвечивать вхождения текущего слова" (по умолчанию
отключена) больше не выделяет имена директив, параметров и ключевых
слов языка Паскаль. Опция "Подсвечивать вхождения текущего выделения"
(по умолчанию включена) работает в прежнем режиме.
- Улучшена поддержка тёмного режима.
- Параметр Excludes в секции [Files] теперь можно
комбинировать с флагом external.
- Параметры ExternalSize, ExtraDiskSpaceRequired и
UninstallDisplaySize теперь поддерживают разделители цифр.
Пример: UninstallDisplaySize=1_073_741_824.
Также это
относится к параметру ValueData в секции [Registry],
если ValueType имеет значение qword.
- Изменения в ISPP:
- Добавлена переменная __DIR__. Возвращает каталог текущего
include-файла.
- Переменная __FILE__ переименована в __FILENAME__,
а ISPPCC_INVOKED в ISCC_INVOKED. При этом поддержка
старых имён сохранена.
- Функция RemoveBackslash переименована в
RemoveBackslashUnlessRoot. Поддержка старого имени сохранена.
- Исправлено: возвращаемое значение функции ExtractFilePath
не всегда содержало обратную косую черту, как предполагалось.
- Изменения в Pascal Scripting:
- Добавлено новое свойство LastBaseNameOrUrl в классе
TDownloadWizardPage. Смотрите обновленный пример сценария
"CodeDownloadFiles.iss".
- Добавлена функция GetSHA256OfStream.
- Исправлено: функция события CurPageChanged теперь
всегда срабатывает только при изменении текущей страницы. Ранее она
для wpPreparing вызывалась дважды, если сценарий содержал
функцию события PrepareToInstall, которая возвращала не
пустую строку, чтобы дать команду программе установки остановиться.
- В Inno Setup 6.4.3 максимальная ширина всех диалоговых окон задач была
увеличена примерно на 50%, что помогло решить проблему сокращения длинных
строк, которые содержали путь. Теперь это происходит только в том случае,
если содержимое диалога задачи действительно содержит путь.
- Во всех официальных переводах в кодировке UTF-8, где ещё оставался
маркер BOM, он был удалён. Начиная с Inno Setup 6.3.0 использование
маркера BOM в файлах в кодировке UTF-8 больше не требуется и не
рекомендуется.
- Сборка Inno Setup теперь выполняется в Delphi 12.3 Athens вместо Delphi
12.1 Athens. Спасибо Ian Barker из Embarcadero за предоставление лицензии!
- Доработка и улучшение документации.
- Незначительные изменения.
В этой версии некоторые сообщения были удалены и добавлены новые (см.
различия в Default.isl):
- Новые сообщения:
- DownloadingLabel2, ExtractingLabel.
- ArchiveIncorrectPassword, ArchiveIsCorrupted, ArchiveUnsupportedFormat.
- RetryCancelSelectAction, RetryCancelRetry, RetryCancelCancel.
- StatusDownloadFiles.
- SourceVerificationFailed, VerificationSignatureDoesntExist,
VerificationSignatureInvalid, VerificationKeyNotFound,
VerificationFileNameIncorrect, VerificationFileTagIncorrect,
VerificationFileSizeIncorrect, VerificationFileHashIncorrect.
- ErrorDownloading, ErrorExtracting.
- Удаленные сообщения:
- ErrorFileHash1, ErrorFileHash2.
- DownloadingLabel, ExtractionLabel.
Примечание: некоторые официальные переводы пока не содержат этих изменений.
Официальная поддержка Исландского
язык была переведена в разряд неофициальных из-за отсутствия сопровождающего.
История
версий Inno Setup 6.4