Inno Setup 6
История версий
Авторские права © 1997-2025 Jordan Russell. Все права
защищены.
Смежные авторские права © 2000-2025 Martijn Laan. Все права защищены.
Условия распространения и использования смотрите в LICENSE.TXT.
Хотите получать уведомления об обновлениях? Подпишитесь
на рассылку о новых выпусках Inno Setup.
6.5.4 (2025-09-24)
- Исправлено: использование функции события CurInstallProgressChanged
приводило к ошибкам во время выполнения.
Используете Inno Setup в коммерческих целях? Пожалуйста, купите лицензию.
6.5.3 (2025-09-11)
- Исправлено: Мастер создания нового сценария для параметра
ExternalSize в секции [Files] формировал записи со
случайными значениями.
6.5.2 (2025-09-10)
Модернизация графики
В программу установки и удаления добавлена поддержка изображений в формате
.png, включая использование прозрачности.
- Добавлена поддержка .png файлов в секции [Setup] для директив
WizardImageFile и WizardSmallImageFile.
- Улучшена поддержка преобразования 32-разрядных файлов .bmp с прозрачностью.
- Встроенные изображения и значки мастера теперь имеют прозрачный фон, что
позволяет снова настраивать их фоновые цвета в секции [Setup] с
помощью директив WizardImageBackColor и WizardSmallImageBackColor,
которые больше не являются устаревшими.
По умолчанию значения этих директив соответствуют ранее использовавшимся
цветам, поэтому внешний вид всех изображений и значков остался неизменным.
- Программирование на языке Паскаль:
- Добавлен новый класс TPngImage.
- Добавлено новое свойство PngImage в классы TBitmapButton
и TBitmapImage.
Отмена ограничений на размер
Ограничение размера в 2 ГБ для одного файла Setup.exe и для дисковых
сегментов было упразднено.
- Максимальный размер исполняемого файла установки без разделения на
диски увеличен с почти 2 ГБ до 4 ГБ, что является максимально поддерживаемым
на системах Windows.
Однако для больших файлов установки по-прежнему рекомендуется использовать
разделение на диски из-за медленного запуска, вызванного защитными механизмами
Windows, особенно если исполняемые файлы имеют цифровую подпись.
- При использовании разделения максимальный размер сегмента увеличен
с приблизительно 2 ГБ до практически неограниченного (9223 ПБ).
По умолчанию размер сегмента по прежнему составляет 2100000000,
что соответствует размеру 2 ГБ. Для обновления просто укажите в секции
[Setup] директиву DiskSliceSize со значением max.
Улучшенная загрузка и извлечение архивов
- Все функции загрузки теперь поддерживают протокол передачи данных
TLS 1.3, если он доступен. Поддержка TLS 1.0 и 1.1 была удалена во всех
версиях Windows.
- Функция извлечения архивов теперь поддерживает формат RAR5. Для этого
необходимо, чтобы для директивы ArchiveExtraction в секции
Setup было установлено значение full.
- Исправлено: использование флагов download и
extractarchive в секции [Files], которые содержат
параметр Tasks, теперь работают так, как и ожидалось.
Другие изменения
- IDE компилятора:
- Добавлены параметры "Automatically reload files"
(Автоматически перезагружать файлы) и "Allow Undo after reload"
(Разрешать отмену после перезагрузки). Оба параметра включены по умолчанию,
что соответствует большинству современных редакторов кода и улучшает
интеграцию с такими инструментами, как Claude Code.
- Добавлена поддержка тёмного режима для параметров командной строки
/cc и /wizard.
- Программирование на языке Паскаль: добавлены функции HighContrastActive
и LogFmt.
- Другие улучшения и исправления.
6.5.1 (2025-08-18)
- Загрузка теперь выполняется отдельным потоком, как и в случае с
извлечением архивов в предыдущей версии. Это обеспечивает отзывчивость
программы установки, даже если система не сообщает о ходе выполнения.
- Исправлено: использование параметра командной строки /cc
в IDE компилятора для сборки сценария приводило к ошибке.
- Незначительные улучшения.
6.5.0 (2025-08-12)
Внедрение коммерческих лицензий
За долгие годы существования Inno Setup многие пользователи неоднократно
выражали своё желание, чтобы их компании поддержали развитие проекта.
Однако корпоративные правила в большинстве случаев не позволяли оформлять
пожертвования. Введение коммерческой лицензии даёт организациям простой и
легальный способ поддержать проект.
Кроме того, многие организации предпочитают иметь официальные лицензии на
всё используемое ими программное обеспечение, поскольку это облегчает
проведение аудитов и внутренних проверок на соответствие требованиям.
Наконец, ваша поддержка в виде покупки лицензий напрямую помогает нам
улучшать и поддерживать Inno Setup.
По этим причинам мы вводим коммерческие лицензии. Если вы или ваша
организация используете Inno Setup в коммерческих целях, мы просим вас
приобрести лицензию. Ваша поддержка поможет обеспечить дальнейшее развитие
программы.
Лицензии можно приобрести на нашем сайте, в разделе заказов, где также
приведена пояснительная информация. Все коммерческие лицензии являются
бессрочными и требуют единоразовой оплаты. В них входят два года обновлений,
включая как основных, так и второстепенных версий. По истечении этого
периода ваша текущая версия останется лицензированной и будет работать
как есть.
Обработка архивов
Теперь возможна распаковка архивов, защищённых паролем, многотомных архивов
и архивов другого формата, например .zip.
Добавлена возможность распаковки архивов напрямую из секции [Files].
Теперь нет необходимости писать Pascal-код для распаковки архивов.
Использование этих функций необязательно и не увеличивают размер
программы установки, если не используются.
- Обновление секций [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.
- Программирование на языке Паскаль:
- Устаревшая функцияExtract7ZipArchive заменена на новую
ExtractArchive, в которую был добавлен дополнительный
параметр для указания пароля, если требуется.
- Теперь функции ExtractArchive и CreateExtractionPage
без предупреждения перезаписывают существующие в целевом каталоге файлы,
доступные только для чтения. Ранее это приводило к ошибке извлечения.
- Добавлена функция MapArchiveExtensions, которая позволяет
распаковывать архивы с пользовательскими расширениями, например,
самораспаковывающиеся архивы.
- Добавлена функция AddEx (класс TExtractionWizardPage)
для добавления архивов, защищенных паролем.
Загрузка файлов
Реализована встроенная поддержка загрузки файлов: теперь секция [Files]
позволяет загружать файлы напрямую, без необходимости использования Pascal
Script. Новый метод загрузки более эффективен, так как исключает создание
временных файлов, которые требовались при работе со скриптами.
Функция проверки подлинности файлов
Inno Setup теперь включает встроенную проверку подлинности ваших файлов,
которая может быть выполнена при компиляции – перед включением файлов в
установочный пакет или во время установки – перед копированием файлов в
систему пользователя.
Любой тип файла может быть подписан и проверен, а для создания подписей
не требуется сертификат от центра сертификации, что делает этот
процесс совершенно бесплатным.
Однако эти подписи не могут быть использованы для устранения предупреждения
«Неизвестный издатель», которое отображает ОС Windows при запуске программы
установки или другого EXE-файла. Для этого требуется совершенно другой тип
подписи (Authenticode), встроенной в EXE-файл с помощью инструмента
signtool.exe от Microsoft, а также цифровой сертификат, полученный
от центра сертификации.
Описание:
- Секция [ISSigKeys]:
- Секция [Files]:
- Инструмент подписи "Inno Setup Signature Tool":
- Обновлена документация:
- Прочие изменения:
Другие изменения
- IDE компилятора:
- Список с результатами поиска "Найти в файлах" теперь будет
обновлять номера строк в случае добавления или удаления строк.
- Опция "Подсвечивать вхождения текущего слова" (по умолчанию
отключена) больше не выделяет имена директив, параметров и ключевых
слов языка Паскаль. Опция "Подсвечивать вхождения текущего выделения"
(по умолчанию включена) работает в прежнем режиме.
- Повсеместная поддержка тёмного режима.
- Улучшена поддержка тем с высокой контрастностью.
- Улучшена поддержка программ чтения с экрана.
- Для директивы Encryption в секции [Setup] теперь
может быть установлено значение full, что приведёт к полному
шифрованию программы установки и потребует указание пароля при помощи
параметра командной строки /PASSWORD=.
- Максимальное значение директивы LZMANumBlockThreadsв секции
[Setup] увеличено с 32 до 256.
- Параметр Excludes в секции [Files] теперь можно
комбинировать с флагом external.
- Параметры ExternalSize, ExtraDiskSpaceRequired и
UninstallDisplaySize теперь поддерживают разделители цифр.
Пример: UninstallDisplaySize=1_073_741_824.
- Изменения в ISPP:
- Добавлена переменная __DIR__. Возвращает каталог текущего
include-файла.
- Переменная __FILE__ переименована в __FILENAME__,
а ISPPCC_INVOKED в ISCC_INVOKED. При этом поддержка
старых имён сохранена.
- Функция RemoveBackslash переименована в
RemoveBackslashUnlessRoot. Поддержка старого имени сохранена.
- Исправлено: возвращаемое значение функции ExtractFilePath
не всегда содержало обратную косую черту, как предполагалось.
- Программирование на языке Паскаль:
- Добавлен новый класс TBitmapButton, который работает также,
как TBitmapImage, но доступен для управления с клавиатуры и
совместим с программами чтения с экрана. Обязательно указывайте
свойство Caption, даже если оно не отображается. Смотрите
обновленный пример сценария CodeDownloadFiles.iss.
- Добавлены новые функции InitializeBitmapButtonFromIcon и
GetSHA256OfStream.
- Добавлено новое свойство LastBaseNameOrUrl в классе
TDownloadWizardPage. Смотрите обновленный пример сценария
"CodeClasses.iss".
- Исправлено: функция события CurPageChanged теперь
всегда срабатывает только при изменении текущей страницы. Ранее она
для wpPreparing вызывалась дважды, если сценарий содержал
функцию события PrepareToInstall, которая возвращала не
пустую строку, чтобы дать команду программе установки остановиться.
- Если есть возможность, программа установки теперь получает путь к
временному каталогу при помощи функции API GetTempPath2, которая
впервые была введена в Windows 11, а позже интегрирована в Windows 10 и
Windows Server 2016 посредством месячных обновлений. При запуске под
учётной записью SYSTEM функция GetTempPath2 возвращает частный
каталог (обычно C:\Windows\SystemTemp), что потенциально повышает
безопасность. На более старых версиях Windows или системах, которые не
были обновлены, программа установки возвращается к исходной функции API
GetTempPath. (Такое изменение делает защиту более глубокой, но
не устраняет известную уязвимость.)
- В 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