Inno Setup 是一款强大、免费且开源的 Windows 安装程序制作工具,广泛应用于软件开发领域。它以其灵活的脚本语言、丰富的功能和易于使用的界面而闻名,允许开发者创建专业级的安装包,用于分发和部署 Windows 应用程序。Inno Setup 支持各种自定义选项,包括多语言安装、卸载程序、注册表操作、文件关联等等。无论是小型个人项目还是大型商业软件,Inno Setup 都能满足您的安装包创建需求,提供可靠且高效的解决方案。
官方网站:http://www.jrsoftware.org/
截屏

功能摘要
- Windows 安装程序制作
- 创建专业的 Windows 安装程序 (.exe),用于分发和部署应用程序。
- 脚本语言
- 使用强大的 脚本语言,自定义安装过程和界面,灵活控制安装行为。
- 多语言支持
- 支持 多语言安装,可以为不同语言的用户提供本地化安装体验。
- 卸载程序创建
- 自动生成 卸载程序,方便用户卸载已安装的应用程序。
- 注册表操作
- 可以 操作注册表,创建、修改或删除注册表项,实现应用程序的配置。
- 文件关联
- 支持 文件关联,设置应用程序与特定文件类型的关联。
- 快捷方式创建
- 可以 创建快捷方式,方便用户快速启动应用程序。
- 自定义界面
- 可以 自定义安装界面,包括标题、图标、背景等。
更新日志
https://jrsoftware.org/files/is6-whatsnew.htm
Changes related to custom styles:
Previously, when displaying any RTF text with a custom style active (including the built-in custom dark style), all foreground colors were replaced by the style's foreground color. This has been improved to only replace default foreground colors, preserving any custom colors.
Added new [Setup] section directive WizardImageOpacity to specify the opacity of wizard images. This is useful if you want to use identical regular and DynamicDark wizard images. For example, you can set it to 150 to achieve partial transparency. Defaults to fully opaque (non-transparent).
The compiler now stores identical regular and DynamicDark wizard images only once.
Documentation fix: The prototype of Pascal Scripting support function CreateCustomForm was changed in the previous version, but its documentation was not updated accordingly. This has now been corrected.
Security improvement:
Added new [Files] section flag notimestamp, preventing the file from being stored with a timestamp. Use this flag to help make builds reproducible, even if you are unable to preserve timestamps on source files.
Other minor improvements.
- Enhanced [Setup] section directive WizardStyle with new appearance modes:
- Added appearance modes: light (default, forced light mode, same appearance as previous versions), dark (forced dark mode, new appearance), and dynamic (automatically follows Windows system settings).
- For example, to use the modern look and automatically switch between light and dark appearance based on the user's Windows system settings:
WizardStyle=modern dynamic - Dark mode automatically replaces icons, wizard images, and colors while maintaining a consistent user experience. It still allows a custom main icon, and custom images and colors. Includes support for styled task dialogs.
Example screenshot of Setup using the built-in dark style, at 150% DPI.
Example screenshot of a task dialog using the built-in dark style, at 125% DPI.
Includes full right-to-left support. - See the updated WizardStyle help topic for more information, special considerations, and example screenshots.
- Added four new DynamicDark directives to the [Setup] section, for specifying separate custom images and colors used specifically when dynamic mode switches to dark appearance:
- For example, to specify two custom colors, one for light mode and one for dark mode:
WizardStyle=modern dynamic WizardImageBackColor=clWhite WizardImageBackColorDynamicDark=#2b2b2bNote: Forced dark mode (dark) does not use the DynamicDark settings; it uses the standard settings. Example:
WizardStyle=modern dark WizardImageBackColor=#2b2b2b
- For example, to specify two custom colors, one for light mode and one for dark mode:
- The default style can be customized by specifying a VCL Styles file using the new WizardStyleFile directive and a fifth DynamicDark directive:
- For example, to specify two custom styles, one for light mode and one for dark mode:
WizardStyle=modern dynamic WizardStyleFile=MyStyleLight.vsf WizardStyleFileDynamicDark=MyStyleDark.vsfExample screenshot of Setup using the Polar Light style, at 150% DPI.
Example screenshot of Setup using the Polar Dark style, at 150% DPI.
Example screenshot of a task dialog using the Zircon style, at 125% DPI. - When a custom style (including the built-in custom dark style) is active, all text labels, except for the label associated with the BeveledLabel message, are transparent rather than opaque.
- The Polar style shown above is available built-in and directly supported by the WizardStyle directive. For example:
WizardStyle=modern dynamic polar - Three more custom styles are available built-in and directly supported by the WizardStyle directive: slate, windows11 and zircon. slate uses medium gray for both the light and dark appearances, windows11 enables a light counterpart of the built-in dark style, and zircon is an alternative light-only style with cyan accents, shown above. For example:
WizardStyle=modern zircon - Also supported is an includetitlebar modifier: Enables custom styling of both title bars and borders. By default, the system's native light or dark title bar is used instead. For example:
WizardStyle=modern dynamic polar includetitlebar - Also supported is an excludelightbuttons modifier: Disables custom styling of all buttons (including command link buttons, as used in task dialogs) when a light style is active. For example:
WizardStyle=modern dynamic windows11 excludelightbuttons
- For example, to specify two custom styles, one for light mode and one for dark mode:
- Custom styles (including the built-in custom dark style) are not activated when the user's system is set to a high-contrast theme or when new command line parameter '/NOSTYLE' is used.
- Compiler IDE: Added a new Wizard Style page to the New Script Wizard, allowing to choose a style and view example screenshots.
- Pascal Scripting:
- Added new support functions IsWinDark and IsDarkInstallMode.
- Added new StyleElements and StyleName properties to support class TControl. See CodeClasses.iss for an example, which also demonstrates the use of IsDarkInstallMode.
Other changes to the look and feel of Setup and Uninstall
The default look and feel of Setup and Uninstall has been further modernized by switching to the Segoe UI font, along with other improvements.
- Setup now always uses high-quality, system-defined icons instead of custom ones on the Select Destination Location and Preparing to Install wizard pages, and on the Setup Needs the Next Disk form.
- [Setup] section directive WizardSizePercent now always defaults to 120,120, instead of only when you are using WizardStyle=modern. As a result, if you are using WizardStyle=classic, your Setup windows will increase in size by 20% by default.
- [Setup] section directive WizardSizePercent is now supported by Uninstall. As a result, your uninstaller window will increase in size by 20% by default.
- Setup and Uninstall now keep the original aspect ratio of their windows when scaling for DPI. As a result, your Setup and Uninstall windows will by default be 16% wider at 125% DPI or higher.
Can be disabled by setting new [Setup] section directive WizardKeepAspectRatio to no. - Support for [Setup] section directive WizardResizable has been dropped, so the user will no longer be able to resize the main Setup wizard window.
- The default regular font used by Setup and Uninstall has been changed from 8-point Tahoma to 9-point Segoe UI, for a more modern appearance.
To use 8-point Tahoma again, use:[LangOptions] DialogFontName=Tahoma DialogFontSize=8 DialogFontBaseScaleHeight=13 DialogFontBaseScaleWidth=6If you were already using 9-point Segoe UI, you will notice a change in scaling when you update. To use your previous scaling, use:
[LangOptions] DialogFontName=Segoe UI DialogFontSize=9 DialogFontBaseScaleHeight=13 DialogFontBaseScaleWidth=6 - The default large font used by Setup on the Welcome and Setup Completed wizard pages has been changed from 12-point Verdana to 14-point Segoe UI, for a more modern appearance.
To use 12-point Verdana again, use:[LangOptions] WelcomeFontName=Verdana WelcomeFontSize=12 - Pascal Scripting:
- Added support functions InitializeBitmapButtonFromStockIcon and InitializeBitmapImageFromStockIcon. Can be used to display various high-quality, system-defined icons, on all versions of Windows.
See CodeClasses.iss for an example, and Microsoft Learn for an overview of all available icons.
Example screenshot of the new CodeClasses.iss example, at 125% DPI and in dark mode. - Wizard form sizing for WizardSizePercent is now done before event function InitializeWizard is called, instead of after, consistent with scaling for system DPI or for a custom DialogFontSize.
If you have custom controls that must grow with WizardSizePercent, and those controls use the Anchors property to achieve this (that is, they have both akLeft and akRight set, or both akTop and akBottom set), and they do not use SurfaceWidth or SurfaceHeight, you must either start using the new SurfaceExtraWidth and SurfaceExtraHeight properties (as demonstrated by the updated CodeClasses.iss example script), or switch to using SurfaceWidth and SurfaceHeight.
Existing custom code that assigns the Anchors property can be removed from your scripts. - The prototype of support function CreateCustomForm has changed. Support class TSetupForm has changed as well: function FlipSizeAndCenterIfNeeded has been renamed to FlipAndCenterIfNeeded, property SizeAndCenterOnShow has been renamed to CenterOnShow, and property KeepSizeX is now read-only. See CodeClasses.iss for an updated CreateCustomForm/TSetupForm example.
- Added support functions InitializeBitmapButtonFromStockIcon and InitializeBitmapImageFromStockIcon. Can be used to display various high-quality, system-defined icons, on all versions of Windows.
Security improvements
Updating is recommended, even if you don't plan to use the other enhancements right away. We continually add extra checks to make your installers safer and more reliable. In this version:
- In temporary directory/file names, the number of random base-36 digits has been doubled from 5 to 10, and the digits are now generated using a CSPRNG function (BCryptGenRandom). This is intended to provide defense against an attack that might depend on the generated names being predictable.
- Uninstall now uses a random name for its temporary directory (is-XXXXXXXXXX-uninstall.tmp), instead of attempting to re-use a fixed name whenever possible (usually iu-14D2N.tmp in previous versions). This is primarily intended to add defense-in-depth. Additionally, this change addresses a non-security issue in previous versions — extremely unlikely to be seen in practice — where if two uninstallers were started near-simultaneously, one could potentially overwrite the other's temporary file.
- In previous versions, before Uninstall deleted a pre-existing temporary directory (usually named iu-14D2N.tmp), it checked for the FILE_ATTRIBUTE_REPARSE_POINT attribute to ensure it wasn't following a junction or symbolic link. However, this check had a TOCTOU problem — it was theoretically possible for the directory to be changed into a junction or symbolic link between the check and the deletion. We are not aware of any way to practically exploit the race condition, and this issue is only potentially relevant when other, untrusted users have write access to the temporary directory, which is not common. (Before Inno Setup 6.5, when Setup/Uninstall ran under the SYSTEM account, the world-writable C:\Windows\Temp directory was often used, but beginning in Inno Setup 6.5, C:\Windows\SystemTemp is used instead on Windows 11 and up-to-date Windows 10 systems.)
We are also currently working on enabling Windows' RedirectionGuard in Setup and Uninstall in a future version.
Other changes
- Compiler IDE:
- Improved the contrast ratio for various syntax highlighting colors, particularly in dark mode.
- Updated the default dialog font from 8-point Segoe UI to 9-point Segoe UI.
- Enabled dark mode support for the menus on Windows 11 Version 25H2 (2025 Update).
- [Setup] section directive WizardImageBackColor and the other three BackColor directives now accept the #rrggbb color format in addition to $bbggrr.
- Setup command line parameter '/SUPPRESSMSGBOXES' can now suppress additional early fatal error messages and the final restart error message. The parameter still only has an effect when combined with '/SILENT' or '/VERYSILENT'.
- Pascal Scripting:
- Added support for command link buttons (the button style used in task dialogs). See CodeClasses.iss for an example.
- Added support functions Round, Trunc, Int, and MulDiv.
- Added support function StrToColor.
- Undid the change made to the CurPageChanged event function in version 6.5.0.
- If Windows returns a temporary directory that does not exist, Setup and Uninstall will now recreate it, but only if they detect the specific scenario described in the linked article. Starting with version 6.5.0, Setup and Uninstall could not run in this scenario. Prior to version 6.5.0, they would select a different temporary directory, which was also undesirable.
- Minor improvements and fixes.
2025-05-03
Compiler IDE change: The editor now restores selections on undo and redo.
Inno Setup now includes a new command-line tool, ISSigTool.exe. This tool is designed to sign files using ECDSA P-256 cryptographic signatures. Compil32, ISCC, and ISCmplr use these signatures to verify a number of DLL files before loading them. This is a "technology preview" that is subject to change (e.g., any signatures you create now may have to be recreated when upgrading to the next version).
Note: ISSigTool.exe does not replace Microsoft's signtool.exe in any way and is in fact not related to Authenticode Code Signing at all.
Fix: Autocomplete support for parameter names in the [Components] and [Dirs] sections was broken since 6.1.1.
Fix: Pascal Scripting support function Extract7ZipArchive which was introduced by 6.4.0 would fail with error 11 on older versions of Windows, at least Windows 8.1 and Windows Server 2016.
Minor tweaks and documentation improvements.
2025-02-12
Compiler IDE changes
Added mouseover tooltips for all Pascal Scripting support functions and class members showing their prototype. Always shows all classes' members instead of just those of the current object's class.
Autocompletion lists now use the same font as the editor.
Fix: When the IDE was started for the first time on a system with a DPI setting over 100%, the editor's initial font size was larger than expected.
Other changes
{reg:...} constants can now also embed REG_DWORD-type registry values.
Fix: In 6.4.0, using "Shift+" in a HotKey parameter in the [Icons] section didn't work and required "Shift" instead, so for example "Ctrl+ShiftM" instead of "Ctrl+Shift+M".
Fix: In 6.4.0, a custom form shown using [Code] didn't have a taskbar button if Setup's wizard was not visible at the time.
Added official Arabic translation.
Some minor tweaks and improvements.
编辑日志
- 新增 6.5.3 简体中文版 2025-09-20
下载地址
Inno Setup 官方英文版地址
https://files.jrsoftware.org/is/6/innosetup-6.6.1.exe
Inno Setup 6.6.1 最新版
https://pan.quark.cn/s/118c2883bb2d
https://osssr.lanzoum.com/b0r9asyyd
https://www.123pan.com/s/uhN9-9lnD.html
https://url20.ctfile.com/d/12493720-61578118-3dea15【osssr】
OSSSR.COM

评论前必须登录!
注册