Inno Setup 6
История версий
Авторские права © 1997-2025 Jordan Russell. Все права
защищены.
Смежные авторские права © 2000-2025 Martijn Laan. Все права защищены.
Условия распространения и использования смотрите в LICENSE.TXT.
Хотите получать уведомления об обновлениях? Подпишитесь
на рассылку о новых выпусках Inno Setup.
6.4.3 (2025-05-03)
- Изменения в IDE компилятора: теперь имеется возможность восстанавливать
выделения при операциях отмены и повтора.
- В Inno Setup добавлен новый инструмент командной строки ISSigTool.exe.
Он предназначен для подписания файлов с помощью криптографических алгоритмов
ECDSA P-256. Компоненты Compil32, ISCC и ISCmplr используют эти подписи для
проверки ряда DLL файлов перед их загрузкой. Это "предварительный этап",
который может быть изменён (например, все подписи, которые были созданы
сейчас, могут быть созданы заново при обновлении до следующей версии).
Примечание: ISSigTool.exe никоим образом не заменяет инструмент
signtool.exe от Microsoft и вообще не имеет никакого отношения к технологии
Authenticode Code Signing.
- Исправлено: начиная с версии 6.1.1 не работала функция
автозаполнения для имен параметров в секциях [Components] и
[Dirs].
- Исправлено: сценарная функция Extract7ZipArchive,
добавленная с версии 6.4.0, на старых версиях Windows (известны случаи
на Windows 8.1 и Windows Server 2016) завершалась ошибкой с кодом
выхода 11.
- Максимальная ширина всех диалоговых окон задач была увеличена примерно
на 50 %, что позволяет избежать сокращения строк путем добавления многоточия.
Это было сделано с помощью установки флага TDF_SIZE_TO_CONTENT.
- Обновление документации.
6.4.2 (2025-03-13)
- Для секции [Setup] добавлена директива CloseApplicationsFilterExcludes.
- Сборка Inno Setup теперь выполняется в Delphi 12.1 Athens вместо
Delphi 11.3 Alexandria.
- Цифровая подпись Inno Setup выполнена с использованием нового сертификата.
6.4.1 (2025-02-12)
Изменения в IDE компилятора
- Добавлены всплывающие подсказки для всех поддерживаемых функций и членов
класса, отображающих их прототип. При этом выводятся все доступные члены
класса, а не только те, что относятся к текущему объекту.
- Списки автозавершения теперь используют такой же шрифт, что и редактор.
- Исправлено: при первом запуске IDE на системе с настройками DPI
более 100% начальный размер шрифта редактора был больше, чем ожидалось.
Другие изменения:
- Для констант {reg:...} добавлена поддержка записей значений реестра
с типом REG_DWORD.
- Исправлено: в версии 6.4.0 для параметра HotKey в
секции [Icons] не работает ключ "Shift+" и вместо него следует
указывать просто "Shift". Так, например, вместо сочетания
"Ctrl+Shift+M" необходимо указать "Ctrl+ShiftM".
- Исправлено: в версии 6.4.0 пользовательская форма, созданная
с использованием [Code], не имела кнопки на панели задач, если
окно мастера в этот момент ещё не отображалось.
- Добавлен официальный перевод на Арабский язык.
- Различные доработки и улучшения.
6.4.0 (2025-01-09)
Изменения в IDE компилятора:
Компонент редактора Scintilla, используемый в компиляторе, был обновлен
до последней версии.
Улучшено редактирование при множественном выделении:
- В меню "Edit" (Правка) добавлен новый пункт "Add Next
Occurrence" (Добавить следующее вхождение) для добавления
следующего вхождения текущего слова или выделенного текста в качестве
дополнительного выделения (Shift+Alt+. или Ctrl+D, см. ниже).
- В меню "Edit" (Правка) добавлен новый пункт "Select All
Occurrences" (Выделить все вхождения), позволяющий выделить все
вхождения текущего слова или выделенного текста (Shift+Alt+; или
Ctrl+Shift+L).
- В меню "Edit" (Правка) добавлен новый пункт "Select All Find
Matches" (Выделить все найденные вхождения), позволяющий выделить
все вхождения последнего искомого текста (Alt+Enter).
Кроме того, диалоговые окна "Найти" (Ctrl+F) и "Заменить"
(Ctrl+H) теперь поддерживают закрытие по команде Alt+Enter для
непосредственного выделения всех вхождений.
- Добавлены комбинации клавиш для перемещения курсора или выделения
вверх (Ctrl+Alt+Up) или вниз (Ctrl+Alt+Down). Для многострочных
выделений область выделения расширяется вверх или вниз и никогда не
уменьшается.
- Добавлены комбинации клавиш для добавления курсоров в концы выделенных
строк (Shift+Alt+I). Действие аналогично редактору Visual Studio Code и,
например, ничего не происходит, если выделение строк отсутствует.
- Добавлены комбинации клавиш для добавления слова или строки в качестве
дополнительного выделения (Ctrl+Двойной клик и Ctrl+Тройной клик или
Alt+Двойной клик и Alt+Тройной клик).
- Добавлена комбинация клавиш для удаления выделения по клику
(Ctrl+Клик или Alt+Клик).
- Множественное выделение теперь работает с командами навигации "Home" и
"End", а также перемещения при помощи клавиш со стрелками "Влево",
"Вправо", "Вверх", "Вниз".
- Множественное выделение теперь работает с командами удаления слов и
строк, а также с вставкой конца строки.
- Улучшена работа множественного выделения с командами копирования и
вставки.
- Теперь возможна навигация клавишами "Влево", "Вправо" и т.д. с
выделенным блоком.
- В диалогах поиска и замены, а также других инструментах из меню "Tools"
(Инструменты), которые генерируют текст сценария, улучшена работа при
наличии множественного выделения.
Другие изменения редактора:
- Добавлена поддержка комбинаций клавиш в стиле Visual Studio Code,
таких как Ctrl+D для добавления следующей строки, Ctrl+Shift+K для
удаления строки и Alt+Click для добавления дополнительного курсора
или снятия выделения.
Чтобы включить эту функцию, выберите в настройках редактора для
параметра "Keys" (Клавиши) группу "Visual Studio Code".
Обновлен раздел справки "Сочетания
клавиш и управление мышкой", в котором указаны все различия по
сравнению с классическими сочетаниями клавиш.
- Добавлены новые комбинации клавиш, доступные только в том случае, если
в редакторе активированы команды в стиле Visual Studio Code:
Shift+Alt+Down – копирование строки вниз; Ctrl+] – добавление отступа
строк; Ctrl+[ – удаление отступа строк.
- Реализованы подсказки параметров для всех поддерживаемых функций,
позволяющие получить быстрый доступ к именам параметров и типам функции,
а также порядок их объявления. Подсказки могут быть вызваны вручную,
если нажать комбинацию клавиш Ctrl+Shift+Space, или же автоматически,
используя новый параметр редактора "Invoke parameter hints
automatically" (Показывать подсказки параметров автоматически),
который по умолчанию активен.
- Добавлено автозавершение для всех поддерживаемых функций, типов,
констант и т.д. при создании кода на языке Паскаль. Существующий
параметр редактора "Invoke autocompletion automatically"
(Использовать функцию автозавершения) управляет отображением
предлагаемых вариантов автозавершения или автоматически, или только
вручную, используя комбинации клавиш Ctrl+Space или Ctrl+I.
- Добавлено автозавершение для всех поддерживаемых членов и свойств
класса при создании кода на языке Паскаль. Предлагаемый список
автозавершения отображает все доступные члены и свойства классов, а не
только те, что относятся к текущему объекту.
- Добавлена поддержка автозавершения для всех параметров функций событий
при создании кода на языке Паскаль. Список отображает все доступные
параметры, а не только те, что относятся к текущей функции.
- Добавлена поддержка автозавершения для секции [Messages].
- Добавлен новый параметр "Enable section folding"
(Включить сворачивание секций), который позволяет при редактировании
сценария временно скрывать содержимое секций. По умолчанию этот параметр
включен.
- В поле редактора слева теперь отображается история изменений,
позволяющая отслеживать сохранённые и не сохранённые изменения в
сценарии.
- Теперь по умолчанию в редакторе используется шрифт Consolas, если он
доступен, что характерно для большинства современных редакторов.
- Теперь в редакторе возможно прокручивание текста не вертикально, а
горизонтально, удерживая клавишу Shift и вращая колесико мышки.
- Команды вырезания (Ctrl+X или Shift+Delete) и копирования (Ctrl+C или
Ctrl+Insert) теперь выполняются для всей строки, если какое-либо
выделение отсутствует, что характерно для большинства современных
редакторов.
- Добавлены комбинации клавиш для перемещения выделенных строк выше или
ниже (Alt+Up и Alt+Down).
- Добавлена комбинация клавиш и соответствующий пункт в меню "Edit"
(Правка) для переключения комментирования строк (Ctrl+/).
- Добавлена комбинация клавиш и соответствующий пункт в меню "Edit"
(Правка) для перехода к парной скобке (Ctrl+Shift+\).
- Параметр "Word Wrap" (Перенос по словам) перемещён в меню "View"
(Вид) и для него добавлена комбинация клавиш (Alt+Z).
- В колонке точек останова добавлено контекстное меню, доступное по
клику правой кнопки мышки.
- Добавлена поддержка тёмной темы для списка с вариантами
автозавершения.
- Добавлен параметр "Show whitespace" (Показывать пробелы).
По умолчанию отключен.
- Улучшена подсветка скобок.
- Исправлена проблема, когда включены два параметра "Auto indent mode"
(Режим автоматического отступа) и "Allow cursor to move beyond end of
lines" (Перемещать каретку за пределы конца строк).
Другие изменения в IDE компилятора:
- Для навигации вперед и назад теперь всегда используются комбинации
клавиш Alt+Стрелка влево и Alt+Стрелка вправо, даже если были
активированы команды меню в стиле Visual Studio.
По этой причине комбинация Alt+Стрелка вправо больше не работает для
запуска автозавершения. Вместо неё следует использовать альтернативную
команду Ctrl+Space или Ctrl+I.
- Список последних файлов в меню "Files" (Файл) перемещён в
подменю пункта "Open Recent" (Последние файлы).
- В меню "Edit" (Правка) добавлен новый параметр "Use Regular
Expressions" (Использовать регулярные выражения) для включения или
отключения функции регулярных выражений при выполнении операций поиска
или замены, также добавлена комбинация клавиш (Ctrl+Alt+R или Alt+R).
Также в строку состояния добавлена панель для отображения текущего
состояния.
- В диалогах поиска и замены добавлена поддержка временного поиска в
обратном направлении при использовании комбинации клавиш Shift+Enter.
- Добавлены комбинации клавиш для выбора вкладок (Ctrl+1 ÷ Ctrl+9).
- В меню "Build" (Сборка) добавлена альтернативная комбинация
клавиш для пункта "Compile" (Компилировать) (Shift+F9 или F7).
- В меню "Tools" (Инструменты) для пункта "Options"
добавлена комбинация клавиш (Ctrl+,).
- Убрано ограничение на длину строки при вводе команды цифровой подписи
и увеличена высота элемента.
- Добавлена панель со ссылкой на историю версий Inno Setup, который
отображается для любого пользователя после каждого обновления.
- Включена поддержка тёмного режима в меню на Windows 11 24H2.
Другие изменения:
- Обновление LZMA SDK, используемого Inno Setup, до последней версии.
Это позволило увеличить скорость сжатия и распаковки LZMA и LZMA2
(соответственно на 21% и 11% в тесте с настройками по умолчанию) без
изменения степени сжатия. Требования к памяти для сжатия увеличились
примерно на 4 %. Также добавлена поддержка извлечения из архивов 7-Zip.
- Для повышения безопасности функция получения ключа и алгоритм шифрования,
используемый в Inno Setup, обновлены до PBKDF2 и XChaCha20 соответственно.
Этот код теперь встроен в Inno Setup, а используемая ранее отдельная
библиотека шифрования ISCrypt.dll больше не требуется и при обновлении
будет автоматически удалена.
- В секцию [Setup] добавлена директива EncryptionKeyDerivation,
которая позволяет изменить заданное количество итераций PBKDF2-HMAC-SHA256
на другое значение. По умолчанию используется 200000.
- Все используемые хеши MD5 и SHA-1 заменены на SHA-256. При этом их
поддержка в функциях ISPP и коде сценариев на языке Паскаль сохранена.
- Наконец-то по прошествии сравнительно долгого времени эскиз окна мастера
установки отображается на панели задач. Также при сворачивании и восстановлении
окна мастера исправлено его поведение и анимация. В рамках этих изменений
поддержка давно устаревшей директивы WindowVisible из секции
[Setup] была прекращена. Ранее эта директива использовалась для
включения градиентной заливки фона в стиле 1990-х годов. По этой же
причине была удалена поддержка объекта MainForm.
- Соотношение сторон больших и малых изображений мастера установки
(указанных в WizardImageFile и WizardSmallImageFile)
теперь при масштабировании окна установки сохраняется неизменным.
Ранее в зависимости от используемого шрифта и его размера изображения
могли быть искажены.
- Размер области для малого изображения мастера установки было увеличено
до 58×58 (при стандартном DPI и шрифте по умолчанию). В предыдущих
версиях использовался неквадратный размер 55×58 пикселей, что
приводило к небольшому искажению изображения.
- Если включено разделение на диски и программа установки не может найти
нужный файл сегмента (например, setup-2.bin) в исходном каталоге,
она больше не ищет его автоматически в каталоге с именем DISKx
на один уровень выше, где x — номер диска. Хотя это и соответствовало
старым установщикам 16-битной эпохи, такое поведение не было задокументировано.
- Мастер новых сценариев теперь устанавливает директиву UninstallDisplayIcon,
если в качестве главного исполняемого файла выбран формат .exe.
- Документация по препроцессору Inno Setup объединена с основной
документацией.
- Добавлена версия документации в тёмном стиле, которая будет
автоматически использована IDE компилятором, если в нём включен тёмный
режим.
- Изменения в Pascal Scripting:
- Добавлена новая функция Extract7ZipArchive для извлечения
файлов из архива 7-Zip. Функция базируется на "7z ANSI-C Decoder"
из библиотеки LZMA SDK (автор Igor Pavlov). Для получения
дополнительной информацию об этой функции и ограничениях, связанных
с ней, смотрите соответствующий раздел
справки.
Добавлена новая функция CreateExtractionPage,
позволяющая отобразить процесс извлечения для пользователя.
- Добавлена новая функция ExecAndCaptureOutput для запуска
программы или пакетного файла с возможностью захвата данных вывода
stdout и stderr по отдельности.
- Добавлены новые функции StringJoin, StringSplit
и StringSplitEx.
- В протокол вывода добавлен вызов исключения, если при настройке
перенаправления вывода произошла ошибка (что может произойти в
довольно редких случаях). Пример сценария PowerShell.iss был
обновлен для демонстрации перехвата исключения.
- В класс TInputDirWizardPage добавлено новое свойство
NewFolderName для изменения начального значения каталога,
передаваемого на странице CreateInputDirPage.
- В класс TForm добавлены новые свойства PopupMode
и PopupParent.
- Задокументированы функции VarArrayGet и VarArraySet,
которые были доступны, но не опубликованы.
- Функция FileCopy была переименована в CopyFile.
Поддержка первоначального имени была оставлена, но мы настоятельно
рекомендуем изменить его на новое. Если вы этого не сделаете, то
компилятор выдаст предупреждение.
- Исправлена работа функции TStream.CopyFrom. Был добавлен
отсутствующий параметр BufferSize. Для него рекомендуется
использовать значение $100000.
- Ограничено протоколирование импорта функций DLL.
- Добавлена функция Debugging.
- Изменения ISPP: добавлена поддержка функций GetSHA256OfFile,
GetSHA256OfString и GetSHA256OfUnicodeString.
- Исходный
код Inno Setup был полностью реорганизован для использования с
бесплатной версией Delphi
Community Edition, что значительно должно облегчить с ним работу тем,
кто желает внести вклад в развитие и поддержку Inno Setup.
- Добавлен официальный перевод на Шведский и Тамильский языки.
- Различные доработки и улучшения.
Разработка в GitHub:
благодарим Sergii Leonov, John Stevenson и jogo- за вклад в развитии Inno
Setup.
Спасибо Neil Hodgson и Igor Pavlov за их постоянную поддержку Scintilla
и LZMA SDK!
Некоторые сообщения в этой версии были добавлены и изменены:
(различия с Default.isl.)
- Новые сообщения:
- ExtractionLabel, ButtonStopExtraction, StopExtraction, ErrorExtractionAborted, ErrorExtractionFailed.
Примечание: на текущий момент с учётом этих изменений ещё не был обновлен
официальный перевод на Исландский язык .
История
версий Inno Setup 6.3