Inno Setup 6
История версий
Авторские права © 1997-2020 Jordan Russell.
Все права защищены.
Смежные авторские права © 2000-2020 Martijn Laan. Все права защищены.
Условия распространения и использования смотрите в LICENSE.TXT.
Хотите получать уведомления об обновлениях? Тогда нажмите
здесь, чтобы подписаться на рассылку о новых выпусках Inno Setup.
Если вы были подписаны на рассылку до октября 2019, пожалуйста,
сделайте это снова.
6.0.5 (2020-05-21)
- Изменения, защищающие программы установки от потенциальных атак
предварительной загрузки DLL.
- Изменения в IDE компилятора: добавлен пункт меню Список
рассылки Inno Setup в разделе "Справка".
- Inno Setup может быть установлен при помощи нового диспетчера
пакетов Windows.
- Незначительные улучшения.
6.0.4 (2020-03-12)
- Секция [Setup]: параметрам LicenseFile, InfoBeforeFile
и InfoAfterFile добавлена поддержка объектов OLE, таких как
изображения, в файлах RTF.
- Добавлена новая константа: {usersavedgames}.
- Изменения в IDE компилятора:
- Увеличен диалог приветствия и его размеры теперь могут быть
изменены.
- Добавлена поддержка тёмной темы элементам прокрутки (на новых
версиях Windows) и набору нижних вкладок.
- Изменения для механизм Restart Manager:
- Программа установки теперь игнорирует попытки сценария
зарегистрировать сам инсталлятор с помощью механизма Restart Manager
для проверки использования.
- Если в секции [Setup] параметром CloseApplicationsFilter
были исключены все файлы, программа установки больше не будет
вызывать функцию RmGetList механизма Restart Manager с запросом
проверки 0 файлов.
- /LOG: теперь регистрирует количество файлов, которые программа
установки запросила для проверки функцией RmGetList.
- Добавлен новый параметр командной строки /LOGCLOSEAPPLICATIONS.
Указывает программе установки вести дополнительную регистрацию
закрываемых приложений с целью отладки.
- Исправлено: параметр CloseApplicationsFilter в
секции [Setup] не принимался во внимание при проверке записей
[InstallDelete].
- Условия издателя Windows AppLocker теперь поддерживаются программой
установки до уровня имени файла включительно.
- Изменения в Pascal Scripting: добавлена новая функция IsDotNetInstalled,
основанная на коде Cristoph
Nahr.
- Изменения в Inno Setup Preprocessor (ISPP): добавлена новая функция UpperCase.
- Исправлено: атрибуты события для функций событий удаления
теперь действительно работают.
- Незначительные улучшения и дополнения в документации.
- Включён протокол HTTPS для jrsoftware.org.
6.0.3 (2019-10-11)
- /LOG: теперь регистрирует режим совместимости Windows, если он был
активирован пользователем.
- Добавлен новый параметр в секции [Setup]: SignToolRunMinimized.
- Параметр UsePreviousLanguage в секции [Setup] теперь имеет
эффект, если диалог "Выбор языка" не отображается, например, когда
программа установки запущена в тихом режиме.
- Чекбоксы, отображаемые списками, теперь выглядят лучше на системах с
высоким DPI.
- Изменения в IDE компилятора:
- Добавлена поддержка темной темы для панели инструментов.
- При приостановке на точке останова в секции [Code] на новой
вкладке "Стек отладочных вызовов" теперь будут показаны сообщения
стека.
- На вкладках "Компилятор" и "Отладка" теперь поддерживается
множественный выбор, а также сочетания клавиш Ctrl+C
("Копировать") и Ctrl+A ("Выделить все"). Теперь копируется
только выделенная строка вместо всех строк.
- Изменения в Inno Setup Preprocessor (ISPP):
- Переменные массива, объявленные с помощью #dim, теперь могут
быть инициализированы напрямую, например, #dim
MyArray[3] {1, 2, 3}.
- Добавлена новая предопределенная переменная: Tab.
- Изменения в Pascal Scripting: добавлены новые функции Set8087CW
и Get8087CW.
- Изменения и дополнения в сообщениях: (Смотрите
различия в файле Default.isl)
- PrepareToInstallNeedsRestart: это сообщение используется на
странице подготовки к установке, если требуется перезагрузка. Если в
переводе этого сообщения нет, то программа установки будет
использовать FinishedRestartLabel и FinishedRestartMessage, как и
раньше.
- ComponentsDiskSpaceGBLabel и DiskSpaceGBLabel: эти сообщения
используются программой установки для отображения дискового
пространства от 1000.0 Мб и выше в гигабайтах (Гб) вместо мегабайтов
(Мб). Если в переводе этих сообщений нет, то вместо них будут
использоваться ComponentsDiskSpaceMBLabel и DiskSpaceMBLabel, как и
ранее.
- Добавлен официальный перевод на Словацкий язык.
- Незначительные улучшения и косметические исправления.
Вклады через GitHub:
Благодарим Vizit0r за содействие.
6.0.2 (2019-04-26)
- Добавлена новая константа: {sysnative}.
- Изменения в Pascal Scripting:
- Добавлены новые функции WizardSelectComponents и WizardSelectTasks.
- Функции IsComponentSelected и IsTaskSelected
соответственно переименованы в WizardIsComponentSelected и
WizardIsTaskSelected. Устаревшие функции все ещё
поддерживаются, но рекомендуется обновить ваши сценарии на
использование новых. Компилятор выдаст предупреждение, если вы этого
не сделаете.
- Незначительные косметические исправления.
6.0.1-beta (2019-03-07)
- Исправлено: в версии 6.0.0 невозможно было использовать
параметр InfoAfterFile в секции [Setup].
- Изменения в Pascal Scripting:
- Исправлено: свойство Anchors добавлено всем
элементам управления для обеспечения полной поддержки WizardResizable
и WizardSizePercent.
- Обновлен пример сценария AllPagesExample.iss с
использованием всех функций Create...Page.
- Многострочный элемент управления Edit, создаваемый функцией CreateOutputMsgMemoPage,
теперь выглядит более современно.
- Добавлен официальный перевод на Немецкий язык.
- Официальные переводы на Греческий,
Венгерский
и Шотландский
языки переведены в разряд неофициальных из-за отсутствия поддержки.
Чтобы самостоятельно отправить обновление, посмотрите это
сообщение и используйте эту
форму (или портал GitHub).
Дополнительную информацию вы найдете на странице Inno
Setup Translations.
- Другие улучшения документации.
6.0.0-beta (2019-02-11)
Inno Setup 6 содержит большое количество изменений:
Административный и не административный режим
установки
Внесён ряд существенных изменений в функциональность административного и
не административного режима установки:
- Добавлены новые константы с приставкой "auto" для автоматического
сопоставления с "общей" формой. Если установка выполняется в режиме без
административной установки, то они сопоставляются с "пользовательской"
формой. Во избежание ошибок настоятельно рекомендуется обновить ваши
сценарии на использование констант с приставкой "auto" для максимальной
эффективности ваших инсталляторов. Перечень добавленных констант "auto"
следующий: {autoappdata}, {autocf}, {autocf32},
{autocf64}, {autodesktop}, {autodocs}, {autopf},
{autopf32}, {autopf64}, {autoprograms}, {autostartmenu},
{autostartup} и {autotemplates}.
- Обновлены все примеры сценариев на использование {autopf}
вместо {pf} и т.д.
- Изменения в поведении по умолчанию: константы папок
общего доступа с приставкой "common" больше не сопоставляются с формой
"user", если установка выполняется в режиме без прав администратора.
Вместо этого они возвращают запрошенный общий каталог. Перечень
затронутых констант "common" следующий: {commonappdata}, {commondesktop},
{commondocs}, {commonprograms}, {commonstartmenu},
{commonstartup} и {commontemplates}.
- Константы {pf} и {cf} были переименованы в {commonpf}
и {commoncf} соответственно. Также {pf32}
переименована в {commonpf32} и т.д. Устаревшие имена всё ещё
поддерживаются, но рекомендуется обновить ваши сценарии на использование
новых имен, иначе компилятор выдаст предупреждение.
- Константа {commonfavorites} была удалена: такого каталога в
Windows больше не существует.
- Константы {userpf}, {usercf} и {username},
а также параметр AlwaysUsePersonalGroup секции [Setup], теперь
могут корректно вызывать предупреждения об
используемых областях пользователя.
- Изменения в Pascal Scripting: удалена функция GetShellFolder.
Используйте ExpandConstant вместо неё.
- В секции [Registry] добавлено новое корневое значение HKA.
Оно эквивалентно HKLM в режиме административной установки и HKCU
в противном случае. Также поддерживаются константы {reg:...} и
HKA32/HKA64. Примечание: HKA (подобно HKCU)
следует использовать для настроек, совместимых с перемещаемыми
профилями.
- Использовать в секции [Registry] корневое значение HKCR
больше не рекомендуется. Вместо него используйте HKA с
параметром Subkey со значением "Software\Classes".
- Изменения в Pascal Scripting: добавлены константы HKA и HKEY_AUTO.
Также поддерживаются константы HKA32, HKA64, HKEY_AUTO_32
и HKEY_AUTO_64.
- Помощник создания сценариев теперь предлагает возможность выбора
административного режима установки или не административного и выводит
сценарии, которые работают в обоих режимах.
- Изменения в Pascal Scripting: добавлена новая функция IsAdminInstallMode.
- Добавлен раздел Не
административный режим установки в файле справки.
Переопределяемый режим установки
Как только вы полностью обновите ваши сценарии для поддержания как
административного, так и не административного режима установки (например,
используя новый константы "auto" и корневое значения HKA
в секции [Registry]), тогда вы сможете сделать следующее:
- Добавить в секции [Setup] параметр PrivilegesRequiredOverridesAllowed
и установить для него одно или несколько значений, которые позволят
конечному пользователю переопределить заданный по умолчанию параметр PrivilegesRequired.
Поддерживаются следующие значения переопределения: commandline
и dialog.
- commandline активирует в программе установки поддержку двух
дополнительных параметров командной строки, которые позволяют
переопределить заданный сценарием параметр PrivilegesRequired:
/ALLUSERS и /CURRENTUSER.
- dialog активирует в программе установки отображение
подавляемого диалога с выбором предпочитаемого режима установки на
основе заданного в сценарии параметра PrivilegesRequired (например, если PrivilegesRequired
имеет значение admin). Значение dialog
автоматически активирует commandline и при использовании
одного из параметров командной строки программа установки не будет
выдавать запрос.
- Добавить в секции [Setup] параметр UsePreviousPrivileges.
Если параметру задано значение yes (используется по умолчанию)
и для PrivilegesRequiredOverridesAllowed указано dialog,
то при запуске программа установки произведёт в реестре поиск
установленной версии такого
же приложения и режима, в котором оно было установлено, и далее
будет использовать этот режим установки без вопросов к пользователю.
- Помощник создания сценариев теперь предлагает задать параметры
переопределения: commandline и dialog.
- Собственный сценарий установки Inno Setup теперь также поддерживает
возможность переопределения режима установки по выбору пользователя.
Параллельные установки
Улучшена поддержка параллельных
установок:
- Два отдельных запуска установки, которые не используют один и тот же
режим, административный или не административный, больше не считаются одним
и тем же приложением. Это означает, что вы можете выполнять параллельную
установку в этих режимах, даже если инсталляторы имеют одинаковое
значение параметра AppId (или если AppId не задан, то
одно и то же значение AppName), без каких-либо побочных
эффектов, которые наблюдались в предыдущих версиях Inno Setup.
- Изменения в поведении по умолчанию: чтобы избежать дублирования
записей в апплете "Удаление или добавление программы" Панели
управления Windows в течении параллельной
установки, программа установки автоматически пометит новую запись
текстом вида "Текущий пользователь" или "64-бит", когда это будет
необходимо.
- Добавлен раздел Параллельная
установка в файле справки.
Изменяемый размер окна установки
Окно мастера установки теперь имеет изменяемый размер:
- В секции [Setup] добавлен новый параметр: WizardResizable.
Если параметру установлено значение yes, то пользователь
сможет изменить размер главного окна установки.
- В секции [Setup] добавлен новый параметр: WizardSizePercent.
Этот параметр позволяет увеличить исходный размер окна
установки/удаления без изменения размера шрифта.
- Изменения в Pascal Scripting:
- Добавлено новое свойство Anchors для всех элементов
управления, а также свойство KeepSizeY для TSetupForm,
которые обеспечивают полную поддержку параметров WizardResizable
и WizardSizePercent для всех пользовательских элементов
управления, страниц и форм TSetupForm. В качестве примера
смотрите пример сценария CodeClasses.iss. В этом примере
показаны также другие изменения, сделанные в TSetupForm.
- Добавлено новое свойство Constraints в класс TForm.
Новый современный стиль мастера установки
Окно мастера установки теперь выглядит более современно:
- В секции [Setup] добавлен новый параметр: WizardStyle. Если
параметр имеет значение modern, программа установки/удаления
будет иметь более современный вид и по умолчанию для параметра WizardResizable
будет установлено значение yes, а для параметра WizardSizePercent
значение 120,120.
- Изменения в поведении по умолчанию: ранние версии Inno Setup
также поддерживали параметр WizardStyle и, если в ваших
сценариях всё ещё используется WizardStyle=modern (этот
параметр был оставлен для обратной совместимости, но на самом деле
ничего не делал) и вы не хотите иметь обновленный современный вид, тогда
вам следует удалить эту запись или изменить её на WizardStyle=classic.
- Обновлены все примеры сценариев с использованием параметра WizardStyle=modern.
- Изменения в Pascal Scripting: добавлено новое свойство SurfaceColor
для класса TWizardPage.
Несколько элементов теперь всегда выглядят более современно, независимо
от параметра WizardStyle:
- Внешний вид диалога "Выбор языка установки" приведен в
соответствие с диалогами и сообщениями Windows 10 (пример).
- Некоторые элементы интерфейса сделаны плоскими для придания
элегантности и строгости.
Обновления IDE компилятора
Внешний вид IDE компилятора:
- Обновлены все значки панели инструментов и интерфейс IDE компилятора
сделан плоским для придания ему более современного вида.
- Интерфейс IDE компилятора теперь поддерживает три темы: Светлая (пример),
Тёмную (пример) и
Классическую (пример). По
умолчанию используется новая тема Светлая. Если программа запущена на
Windows 10, в которой установлен темный режим, то по умолчанию будет
использоваться Тёмная тема. Активная тема может быть изменена в
настройках компилятора.
- Интерфейс IDE компилятора теперь использует режим адаптации к
мониторам с высокой плотностью пикселей (точек на дюйм, DPI) и позволяет
использовать шрифт "Segoe UI" для своих элементов интерфейса.
- Вкладка "Компиляция" получила отключаемую в настройках опцию цветовой
подсветки строк сообщений компилятора.
- Вкладка "Отладка" теперь использует выделенный текст для любых записей
ввода, таких как '-- File entry --'.
- Функция "Связать файлы .iss с этим компилятором" теперь может
выполнить ассоциацию для текущего пользователя вместо сообщения об
ошибке, если отсутствуют права администратора.
- Опция "Разрешить операцию отмены после сохранения" и "Показывать
границы табуляции" теперь включены по умолчанию для всех новых
установок.
- Окно "Конфигурация цифровой подписи"
теперь шире и его размер может быть изменён.
Другие изменения
- Изменения в требованиях к операционной системе: Windows 2000,
XP и Server 2003 больше не поддерживаются. Windows Vista является
минимальной версией поддерживаемой операционной системы.
- Изменения в поведении по умолчанию: начиная с Inno Setup 6
доступной будет только одна версия: Unicode Inno Setup. Unicode Inno
Setup выпускается уже в течении 9 лет, и если вы ещё не начали её
использование, то ознакомьтесь с разделом справки Unicode
Inno Setup. По сути, если вы не используете секцию [Code] для
вызова различных DLL со строковыми параметрами, вам не нужно вносить
какие-либо изменения в ваши сценарии.
- Добавлена поддержка 64-бит режима в Windows 10 для архитектуры ARM,
которую можно использовать для установки двоичных файлов ARM64. Смотрите
пример сценария 64BitThreeArch.iss, который показывает
возможность установки программы, созданную для трех различных архитектур
(x86, x64, ARM64), с использованием одного инсталлятора.
- Диалоги программы установки "Прервать/Повторить/Пропустить" заменены
на диалоги задач. Такие диалоги гораздо удобнее и практичнее по
сравнению с обычными диалогами, которые используют простые окна
сообщений (внешний вид: диалог
задач против окно
сообщения).
- В секции [Setup] добавлен новый параметр VersionInfoOriginalFileName,
который позволяет задать исходное имя файла.
- Параметр Permissions, поддерживаемый записями секций
[Files], [Dirs] и [Registry], теперь позволяет предоставлять разрешение
группе "Гости", учётной записи локальной службы, учётной записи сетевой
службы и владельцу-создателю.
- Добавлено новое специальное сообщение HelpTextNote, которое
можно использовать для указания особого текста. При компиляции сценария
этот текст добавляется в список параметров командной строки, который
отображается при передаче программе установки параметра /HELP. По
умолчанию это сообщение содержит пустую строку, поэтому, если вы хотите
его задействовать, обязательно укажите желаемое значение, которое по
умолчанию будет использовано для всех языков.
- Компилятор теперь поддерживает файлы .isl в кодировке UTF-8 без
специального расширения. Но переводчики все равно всегда должны
указывать соответствующий LanguageCodePage, когда это
возможно.
- Теперь компилятор будет выдавать ошибку, если в команде Sign Tool
отсутствует последовательность $f.
- Исправлено: компилятор теперь проверяет параметры OutputBaseFileName
и OutputManifestFile на наличие некорректных символов, даже
если для Output указано значение no.
- /LOG: теперь регистрирует некоторую дополнительную информацию о работе
Restart Manager.
- Изменения в Pascal Scripting:
- Добавлены атрибуты события, которые дают возможность нескольких
реализаций одной и той же функции. Особенно это полезно и при
использовании подключаемых сценариев, где уже существует функция,
объявленная в основном сценарии. Функция события поможет избежать
конфликтов и переделки сценария. Более подробную информацию смотрите
в справке, а пример использования в файле CodeExample1.iss.
- Добавлены новые функции TaskDialogMsgBox и SuppressibleTaskDialogMsgBox,
которые показывают сообщение, используя диалог задач (пример).
Более подробную информацию смотрите в справке, а пример
использования в файле CodeClasses.iss.
- Добавлена новая функция CreateCallback, которая
позволяет выполнять прямое обращение из функций DLL (подобно
функциям Windows API) к функциям сценария. Смотрите файл справки и
пример сценария CodeDll.iss.
- В секции [Setup] для параметров ChangesAssociations и ChangesEnvironment
теперь может быть установлено логическое выражение, которое может
содержать обращения к функциям проверки.
- Многие свойства, которые не поддерживались при наведении мышки из
IDE компилятора, теперь работают.
- Поведение объектов MainForm, WizardForm и UninstallProgressForm
больше не создает внутренней ошибки, если вы пытаетесь получить к
ним доступ до создания форм. Чтобы получить старое поведение,
используйте новые функции GetMainForm, GetWizardForm
и GetUninstallProgressForm.
- Классу TPanel добавлено свойство BevelKind, а
классу TRichEditViewer свойства BevelKind и BorderStyle,
которые позволяют активировать плоский стиль интерфейса для этих
элементов. Смотрите пример в файле CodeClasses.iss.
- Добавлены новые функции SameStr и SameText.
- Функция IsAdminLoggedOn переименована в IsAdmin.
Устаревшее имя всё ещё поддерживается, но рекомендуется обновить
ваши сценарии на использование нового имени, иначе компилятор выдаст
предупреждение. Также рассмотрите возможность использования IsAdminInstallMode.
- Удалён класс TAlphaBitmap. Его функциональность теперь
предоставляется непосредственно классом TBitmap.
- Исправлено: в Windows 10 на архитектуре ARM функция IsWin64
теперь корректно возвращает значение True, а функция ProcessorArchitecture
– значение paARM64.
- Изменения в Inno Setup Preprocessor (ISPP):
- Inno Setup Preprocessor теперь устанавливается всегда.
- Добавлена новая предопределенная переменная:
NewLine.
- Добавлены новые функции: IsWin64, SameStr и SameText.
- Добавлен новый пример сценария AllPagesExample.iss,
демонстрирующий все страницы, которые потенциально могут быть
использованы в мастере установки.
- Вся документация, относящаяся к группе Power Users (Опытные
пользователи), удалена: эта группа больше не является
специальной в Windows.
- Другие улучшения документации и примеров.
- Добавлен официальный перевод на Исландский язык.
- Среда разработки Inno Setup обновлена с Delphi 2009 на Delphi 10.3
Rio. Это изменение увеличивает размер программы установки, но уменьшает
время разработки, тестирования и развертывания. Это также упрощает
компиляцию Inno Setup, используя бесплатную Delphi Community
Edition.
- Незначительные исправления.
Вклады через GitHub:
Благодарим jogo-, Martin Prikryl, dscharrer, Kleuter, Gavin Lambert,
Stefán Örvar Sigmundsson, DRON, Kevin Puetz и Sherlock Software за
содействие.
Изменения и дополнения в сообщениях: (Смотрите
различия в файле Default.isl)
- Новые сообщения: AbortRetryIgnoreSelectAction,
AbortRetryIgnoreRetry, AbortRetryIgnoreIgnore, AbortRetryIgnoreCancel,
ExistingFileReadOnly2, ExistingFileReadOnlyRetry,
ExistingFileReadOnlyKeepExisting,
FileAbortRetryIgnoreIgnoreNotRecommended,
FileAbortRetryIgnoreSkipNotRecommended, PrivilegesRequiredOverrideTitle,
PrivilegesRequiredOverrideInstruction, PrivilegesRequiredOverrideText1,
PrivilegesRequiredOverrideText2, PrivilegesRequiredOverrideAllUsers,
PrivilegesRequiredOverrideAllUsersRecommended,
PrivilegesRequiredOverrideCurrentUser,
PrivilegesRequiredOverrideCurrentUserRecommended,
UninstallDisplayNameMark, UninstallDisplayNameMarks,
UninstallDisplayNameMark32Bit, UninstallDisplayNameMark64Bit,
UninstallDisplayNameMarkAllUsers, UninstallDisplayNameCurrentUser.
- Изменённое сообщение: SelectLanguageLabel.
- Удалённые сообщения: EntryAbortRetryIgnore,
ExistingFileReadOnly, ExistingFileReadOnlyAbortRetryIgnore,
FileAbortRetryIgnore, FileAbortRetryIgnore2, MissingWOW64APIs.
Примечание: на данный момент не все официальные переводы были обновлены.
Официальные переводы на Немецкий,
Непальский,
Сербский
(Cyrillic) и Сербский
(Latin) языки переведены в разряд неофициальных из-за отсутствия
поддержки. Чтобы самостоятельно отправить обновление, посмотрите это
сообщение и используйте эту
форму (или портал GitHub).
Дополнительную информацию вы найдете на странице Inno
Setup Translations.
История версий
Inno Setup 5.6