PageRenderTime 78ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 1ms

/whatsnew.htm

https://github.com/lukas-ais/issrc
HTML | 1168 lines | 1110 code | 58 blank | 0 comment | 0 complexity | db6b7cd410b1c599c733826ea04ab4c9 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <title>Inno Setup 5 Revision History</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6. <style type="text/css">
  7. body { font: small verdana, arial, sans-serif; color: black; background-color: white }
  8. a:link { color: #264b99; background-color: white }
  9. a:active { color: #7799dd; background-color: white }
  10. a:visited { color: #5e85d7; background-color: white }
  11. tt { font: small "courier new", monospace }
  12. li { margin-top: 0.15em; margin-bottom: 0.15em }
  13. div.bluehead { text-align: center; color: white; background-color: #264b99; padding: 5px; font-weight: bold }
  14. .date { font-size: x-small; font-weight: bold }
  15. .head1 { font-size: xx-large }
  16. .head2 { font-size: large }
  17. .ver { font-size: large; font-weight: bold }
  18. </style>
  19. </head>
  20. <body>
  21. <div class="bluehead"><span class="head1">Inno Setup 5</span><br /><span class="head2">Revision History</span></div>
  22. <p>Copyright &copy; 1997-2013 <a href="http://www.jrsoftware.org/">Jordan Russell</a>. All rights reserved.<br />
  23. Portions Copyright &copy; 2000-2013 Martijn Laan. All rights reserved.<br />
  24. For conditions of distribution and use, see <a href="http://www.jrsoftware.org/files/is/license.txt">LICENSE.TXT</a>.
  25. </p>
  26. <p><a name="5.5.3"></a><span class="ver">5.5.3-dev </span><span class="date">(?)</span></p>
  27. <ul>
  28. <li>Windows 8 change: [Icons] section flag <tt>excludefromshowinnewinstall</tt> now additionally prevents the new shortcut from being automatically pinned the Start screen.</li>
  29. <li>Added new command line parameters supported by Setup: /HELP and /?. Cause Setup to display the list of accepted command line parameters in a message box, exiting with exit code 0 afterwards. Ignored if the <tt>UseSetupLdr</tt> [Setup] section directive was set to <tt>no</tt>.</li>
  30. <li>Added new command line parameter supported by Inno Setup's own installer: /PORTABLE=1. Causes Inno Setup's own installer to not create an uninstaller nor an entry in the <i>Add/Remove Programs</i> Control Panel applet. Also supported by QuickStart Pack's installer.</li>
  31. <li>Added workaround for bug in 64-bit Windows which in some cases would cause Windows to display an error message when a user tries to change the icon of an installed shortcut.</li>
  32. <li>Updated the compiler and document icons, created by Motaz.</li>
  33. <li>Restart Manager: If Setup is not running silently and is unable to close all applications using files that need to be updated, it will now ask the user to abort, retry, or ignore. Previously it always ignored.</li>
  34. <li>A message has been added in this version.
  35. (<a href="https://github.com/jrsoftware/issrc/commit/4e2a3c21dcb0a8ecf591d628062e317e8a2fc0e3">View differences in Default.isl</a>)
  36. <ul>
  37. <li><b>New message:</b> ErrorCloseApplications.</li>
  38. </ul>
  39. </li>
  40. <li>Added official Corsican and Nepali translations. The Nepali translation requires Unicode Inno Setup.</li>
  41. <li>Inno Setup Preprocessor (ISPP) changes:
  42. <ul>
  43. <li>Added directive <tt>#redim</tt> to increase or decrease the dimension of an existing array variable.</li>
  44. <li>Added function <tt>DimOf</tt>. Returns the dimension of the specified identifier.</li>
  45. </ul>
  46. </li>
  47. <li>Pascal Scripting changes:
  48. <ul>
  49. <li>Added new function: <tt>ExtractTemporaryFiles</tt>. This function is like <tt>ExtractTemporaryFile</tt> but supports wildcards and doesn't ignore directory information.</li>
  50. <li>When <tt>ExtractTemporaryFile</tt> or <tt>ExtractTemporaryFiles</tt> extracts a file, this is now logged.</li>
  51. <li>Unicode Inno Setup: Now has an <tt>Int64</tt> type, supported by <tt>IntToStr</tt>. Also added new <tt>StrToInt64</tt>, <tt>StrToInt64Def</tt>, and <tt>GetSpaceOnDisk64</tt> support functions.</li>
  52. <li>Increase the length of <tt>VersionInfoProductTextVersion</tt> to 50 characters.</li>
  53. </ul>
  54. </li>
  55. <li>If the <tt>Flags</tt> parameter of a [Files] entry includes <tt>isreadme</tt> and the entry also has a <tt>BeforeInstall</tt> or <tt>AfterInstall</tt> parameter, the <tt>BeforeInstall</tt> or <tt>AfterInstall</tt> functions will now only be called when the file is installed and no longer a second time when the file is viewed after the installation has completed.</li>
  56. <li>The Inno Setup help file source code has been moved into the main Inno Setup source code repository.</li>
  57. <li><i>Fix:</i> [Setup] section directive <tt>CloseApplicationsFilter</tt> was partially case sensitive.</li>
  58. <li>Unicode [Code] based on RemObjects Pascal Script Git commit 31abd2925837d85a6965b5325e8fb7835ca73ea8.</li>
  59. <li>QuickStart Pack: No longer offers to download and install InnoIDE (which is no longer maintained by its author) unless /ALLOWINNOIDE=1 is specified on the command line. If you're still using InnoIDE it is recommended you switch to <a href="https://www.kymoto.org/inno-script-studio" target="_blank">Inno Script Studio</a> (which QuickStart pack can download and install).</li>
  60. <li>Minor tweaks.</li>
  61. </ul>
  62. <p><a name="5.5.2"></a><span class="ver">5.5.2 </span><span class="date">(2012-10-08)</span></p>
  63. <ul>
  64. <li>Added the Windows 8 "compatibility" section to the various manifest resources used by Inno Setup.</li>
  65. <li>Added constants <tt>{userpf}</tt> and <tt>{usercf}</tt>. Only Windows 7 and later supports <tt>{userpf}</tt> and <tt>{usercf}</tt>; if used on previous Windows versions, they will translate to the same directories as <tt>{localappdata}\Programs</tt> and <tt>{localappdata}\Programs\Common</tt>.</li>
  66. <li>Pascal Scripting: Added new <tt>RegisterExtraCloseApplicationsResources</tt> event function and also added new <tt>RegisterExtraCloseApplicationsResource</tt> support function. These functions can be used to register extra files which Setup should check for being in-use.</li>
  67. <li>Added new command line parameters supported by Setup: /CLOSEAPPLICATIONS and /RESTARTAPPLICATIONS. These can be used to override the <tt>CloseApplications</tt> and <tt>RestartApplications</tt> directives.</li>
  68. <li>Decreased Unicode Inno Setup's size slightly. Contributed by <a href="https://github.com/ahausladen" target="_blank">Andreas Hausladen</a> via <a href="https://github.com/jrsoftware" target="_blank">GitHub</a>.</li>
  69. <li>Unicode [Code] based on RemObjects Pascal Script Git commit 52291ffbfc14f3cf1a445f3e88c6902e13fbdf78.</li>
  70. <li>Minor tweaks.</li>
  71. </ul>
  72. <p><a name="5.5.1"></a><span class="ver">5.5.1 </span><span class="date">(2012-07-09)</span></p>
  73. <ul>
  74. <li>Added official Greek translation.</li>
  75. <li>Updated the official Catalan, Czech, Danish, Finnish, French (Standard), German, Hebrew, Hungarian, Italian, Japanese, Norwegian (Bokmal), Polish, Portuguese (Brazil), Portuguese (Portugal), Russian, Serbian (Cyrillic), Serbian (Latin), Slovenian, Spanish, and Ukrainian translations for the changes introduced by the previous version.</li>
  76. <li>Demoted the official <a href="http://jrsoftware.org/files/istrans/Basque-1/Basque-1-5.1.11.isl">Basque</a> and <a href="http://jrsoftware.org/files/istrans/Slovak-6/Slovak-6-5.1.11.isl">Slovak</a> translations to unofficial because of a lack of updates by the maintainers. To send updates yourself, see <a href="http://news.jrsoftware.org/read/article.php?id=2295&amp;group=jrsoftware.innosetup.translations#2295">this post</a> for what needs updating and use <a href="http://www.jrsoftware.org/files/istrans/send2.php">this form</a> to send updates (or use <a href="https://github.com/jrsoftware/issrc" target="_blank">GitHub</a>). See the <a href="http://www.jrsoftware.org/files/istrans/">Inno Setup Translations</a> page for more information.</li>
  77. <li><i>Fix:</i> The <i>Preparing to Install</i> wizard page's detection of files that need to be updated but are in use or queued (by some other installation) to be replaced or deleted on the next restart did not work for [Files] and [InstallDelete] entries with a <tt>Components</tt> or <tt>Tasks</tt> parameter.</li>
  78. <li>Minor tweaks.</li>
  79. </ul>
  80. <p><a name="5.5.0"></a><span class="ver">5.5.0 </span><span class="date">(2012-05-29)</span></p>
  81. <ul>
  82. <li>Non-Unicode Inno Setup <b>OS requirements change</b>: Windows 95, 98, Me, and NT 4.0 are no longer supported. Like the Unicode version, Windows 2000 is now the minimum supported operating system.</li>
  83. <li>The <tt>MinVersion</tt> and <tt>OnlyBelowVersion</tt> directives and parameters now require only a single version number. For example: <tt>MinVersion=5.1</tt>. For compatibility with previous versions of Inno Setup, separate Windows 95/98/Me and Windows NT version numbers may still be specified, but these aren't used anymore.</li>
  84. <li>On Windows Vista and newer, Setup now supports the Windows <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa373524.aspx" target="_blank">Restart Manager</a> API to close and restart applications using files that need to be updated:
  85. <ul>
  86. <li>Added new [Setup] section directive: <tt>CloseApplications</tt>, which defaults to <tt>yes</tt>. If set to <tt>yes</tt> and Setup is not running silently, Setup will now pause on the <i>Preparing to Install</i> wizard page if it detects applications using files that need to be updated by the [Files] or [InstallDelete] section, showing the applications and asking the user if Setup should automatically close the applications and restart them after the installation has completed. If set to <tt>yes</tt> and Setup is running silently, Setup will always close and restart such applications, unless told not to via the command line (see below).</li>
  87. <li>Added new [Setup] section directive: <tt>CloseApplicationsFilter</tt>, which defaults to <tt>*.exe,*.dll,*.chm</tt>. Controls which files Setup will check for being in use. Setting this to <tt>*.*</tt> can provide better checking at the expense of speed.</li>
  88. <li>Added new [Setup] section directive: <tt>RestartApplications</tt>, which defaults to <tt>yes</tt>. Note: for Setup to be able to restart an application after the installation has completed, the application needs to be using the Windows <tt>RegisterApplicationRestart</tt> API function.</li>
  89. <li>Added new command line parameters supported by Setup: /NOCLOSEAPPLICATIONS and /NORESTARTAPPLICATIONS. These can be used to override the new <tt>CloseApplications</tt> and <tt>RestartApplications</tt> directives.</li>
  90. <li>Added new [Code] support function: <tt>RmSessionStarted</tt>.</li>
  91. <li>TWizardForm: Added new <tt>PreparingMemo</tt> property.</li>
  92. </ul>
  93. </li>
  94. <li>The <i>Preparing to Install</i> wizard page now also checks if one or more files specified in the [InstallDelete] section were queued (by some other installation) to be replaced or deleted on the next restart, making Setup stop on the page if it does. Previously it only checked files specified in the [Files] section.</li>
  95. <li>Setup now additionally hides the <i>Back</i> and <i>Next</i> buttons while the <tt>PrepareToInstall</tt> [Code] event function is running. Previously it only disabled itself.</li>
  96. <li>Added new [Setup] section directive: <tt>AllowNetworkDrive</tt>, which defaults to <tt>yes</tt>. If set to <tt>no</tt>, the user will not be allowed to enter a network drive on the <i>Select Destination Location</i> page of the wizard. Note: to fully disallow installation to network locations, you must also set <tt>AllowUNCPath</tt> to <tt>no</tt>.</li>
  97. <li>Windows 7 changes:
  98. <ul>
  99. <li>Added new [Icons] section flag: <tt>preventpinning</tt>. Prevents a Start menu entry from being pinnable to Taskbar or the Start Menu on Windows 7 (or later). This also makes the entry ineligible for inclusion in the Start menu's Most Frequently Used (MFU) list. Ignored on earlier Windows versions. Contributed by <a href="https://github.com/miniak" target="_blank">Milan Burda</a> via <a href="https://github.com/jrsoftware" target="_blank">GitHub</a>.</li>
  100. <li>Windows 7 SP1 fixed the issue with <tt>EstimatedSize</tt> values in the Uninstall registry key and on Windows 7 SP1 or newer Setup now sets <tt>EstimatedSize</tt> even for sizes of 4GB or more.</li>
  101. </ul>
  102. </li>
  103. <li>Improved the "auto-retry" feature of the [Files] section: it now automatically retries even if the <tt>restartreplace</tt> [Files] section flag is used.</li>
  104. <li>Pascal Scripting: Changed the <tt>InstallOnThisVersion</tt> support function to return a Boolean value. If an invalid version string is passed, an exception will be raised.</li>
  105. <li>Added 128x128 and 256x256 sizes to the compiler and document icons, created by Motaz.</li>
  106. <li>Some messages have been added and removed in this version.
  107. (<a href="https://github.com/jrsoftware/issrc/commit/0769551f461e66ad58436cc9b31580d4fa70fe62">View differences in Default.isl</a>)
  108. <ul>
  109. <li><b>New messages:</b> ApplicationsFound, ApplicationsFound2, CannotInstallToNetworkDrive, CannotInstallToUNCPath, CloseApplications, DontCloseApplications, InvalidParameter, SetupAlreadyRunning, ShutdownBlockReasonInstallingApp, ShutdownBlockReasonUninstallingApp, StatusClosingApplications, StatusRestartingApplications, WindowsServicePackRequired, WindowsVersionNotSupported.</li>
  110. <li><b>New custom messages:</b> AutoStartProgramGroupDescription, AutoStartProgram, AddonHostProgramNotFound.</li>
  111. <li><b>Removed messages:</b> ToUNCPathname.</li>
  112. </ul>
  113. Note: only the official English and Dutch (Netherlands) translations have been updated for these changes at this moment. See the <a href="http://www.jrsoftware.org/files/istrans/">Inno Setup Translations</a> page for more information.<br />
  114. </li>
  115. <li>Inno Setup Preprocessor (ISPP) changes:
  116. <ul>
  117. <li>Added function <tt>DirExists</tt>.</li>
  118. <li>The ISPP source code has been moved into the main Inno Setup source code repository.</li>
  119. </ul>
  120. </li>
  121. <li>Unicode [Code] based on RemObjects Pascal Script Git commit e5a93a963f785e89810e61e3eb5e2b6ee3efd3e7.</li>
  122. <li>Minor tweaks.</li>
  123. </ul>
  124. <hr />
  125. <p><a name="5.4.3"></a><span class="ver">5.4.3 </span><span class="date">(2011-12-20)</span></p>
  126. <ul>
  127. <li>QuickStart Pack: Now offers to download and install <a href="https://www.kymoto.org/inno-script-studio" target="_blank">Inno Script Studio</a> besides <a href="http://www.innoide.org/" target="_blank">InnoIDE</a>.</li>
  128. <li>Setup now only allows the "Don't create a Start Menu folder" check box to suppress the creation of shortcuts under <tt>{group}</tt>. Previously, it would also suppress the creation of shortcuts in other locations, such as <tt>{userstartup}</tt>, on entries that lacked a Tasks parameter.</li>
  129. <li>Setup now doesn't count files with <tt>Tasks</tt>/<tt>Check</tt> parameters when calculating the disk space shown at the bottom of the <i>Select Components</i> page.</li>
  130. <li>Improved throughput of external file copying on some devices.</li>
  131. <li>On Unicode, Setup now supports Rich Edit 4.1 when available.</li>
  132. <li>Inno Setup Preprocessor (ISPP) changes:
  133. <ul>
  134. <li>Documentation improvements: Added the functions available from <i>ISPPBuiltins.iss</i> to the help file.</li>
  135. <li><tt>#ifexist</tt>/<tt>#ifnexist</tt>: For consistency with ISPP functions, prepend SourcePath if the filename is relative, and also support prefix expansion.</li>
  136. <li><tt>ReadReg</tt>: Now only requests KEY_QUERY_VALUE access on the key. Previously, it requested KEY_ALL_ACCESS.</li>
  137. </ul>
  138. </li>
  139. <li>The Inno Setup source code is now also available as a Git repository at <a href="https://github.com/jrsoftware/issrc" target="_blank">GitHub</a>. This should make it easier to contribute to Inno Setup, see <a href="http://help.github.com/fork-a-repo/">GitHub Help - Fork A Repo</a> for more info.</li>
  140. <li>Added official Serbian (both Latin and Cyrillic) and Ukrainian translations.</li>
  141. <li>Minor tweaks.</li>
  142. </ul>
  143. <p><a name="5.4.2"></a><span class="ver">5.4.2 </span><span class="date">(2011-03-17)</span></p>
  144. <ul>
  145. <li>Windows 7 change:
  146. <ul>
  147. <li>Added new [Icons] section flag: <tt>excludefromshowinnewinstall</tt>. Prevents the Start menu entry for the new shortcut from receiving a highlight on Windows 7. Ignored on earlier Windows versions.</li>
  148. </ul>
  149. </li>
  150. <li>Compiler IDE change:
  151. <ul>
  152. <li>Changed shortcut for <i>Edit | Complete Word</i> to Alt+Right (but still recognize Ctrl+Space). Reportedly, Ctrl+Space conflicts with the Chinese IME.</li>
  153. </ul>
  154. </li>
  155. <li><i>Fixes:</i>
  156. <ul>
  157. <li>Inno Setup Preprocessor: <tt>#include</tt> handling of <tt>'.\'</tt> and <tt>'..\'</tt> now treats such filenames as relative to the directory containing the current file, not to the current directory (which is undefined).</li>
  158. <li>On the 5.4.1 Unicode compiler, trying to build a multi-language installer while running under a DBCS code page could unexpectedly result in "Illegal null character" errors.</li>
  159. <li>On Unicode, string-type parameters passed to <tt>BeforeInstall</tt> and <tt>AfterInstall</tt> functions were being converted to ANSI.</li>
  160. </ul>
  161. </li>
  162. </ul>
  163. <p><a name="5.4.1"></a><span class="ver">5.4.1 </span><span class="date">(2011-02-09)</span></p>
  164. <ul>
  165. <li>Inno Setup Preprocessor (ISPP) changes:
  166. <ul>
  167. <li>ISPP is now an official part of Inno Setup and is included in the standard Inno Setup installer instead of only being included in the QuickStart Pack installer.</li>
  168. <li>It is now possible to enable ISPP preprocessing on .isl files by adding a line saying <tt>#preproc ispp</tt> at the top of the .isl file.</li>
  169. <li>With the exception of <tt>Exec</tt>, <tt>ReadIni</tt>, and <tt>WriteIni</tt>, all ISPP functions that take filenames have been changed to interpret the filenames as relative to <tt>SourcePath</tt> instead of the current directory. Additionally, these functions, the <tt>#include</tt> directive, and the <tt>#file</tt> directive now support prefix expansion (e.g. 'compiler:') in filenames.</li>
  170. <li>The <tt>#include</tt> directive no longer searches the current directory.</li>
  171. <li><i>Builtins.iss</i> has been renamed to <i>ISPPBuiltins.iss</i>.</li>
  172. <li>The Compiler IDE no longer displays a separate ISPP version number in its title bar.</li>
  173. </ul>
  174. </li>
  175. <li>Compiler IDE changes:
  176. <ul>
  177. <li>The <i>Edit | Replace | Replace All</i> command now actually replaces all occurrences, instead of doing a Delphi-style "From Cursor" replacement. Also it now counts all replacements as a single undo action and shows how many occurrences were replaced.</li>
  178. <li>Unicode change: Added a new <i>File | Save Encoding</i> submenu. It now defaults to preserving the UTF-8 BOM of existing files, even if the UTF-8 encoding isn't really needed.</li>
  179. </ul>
  180. </li>
  181. <li>Unicode change: Added support for Unicode characters in DLL filenames (not specified directly in the script, but returned by constants like <tt>{app}</tt>). This fixes the "Cannot Import" error seen with for example the <i>CodeDll.iss</i> example script when uninstalling from an <tt>{app}</tt> path containing non-ANSI characters.</li>
  182. <li>Two new Setup exit codes related to the <i>Preparing to Install</i> stage were added. See the help file for more information.</li>
  183. <li>Minor tweaks.</li>
  184. </ul>
  185. <p><a name="5.4.0"></a><span class="ver">5.4.0 </span><span class="date">(2010-10-31)</span></p>
  186. <ul>
  187. <li>Compiler IDE changes:
  188. <ul>
  189. <li>The editor component has been changed from SynEdit to <a href="http://www.scintilla.org/" target="_blank">Scintilla</a>.</li>
  190. <li>Autocompletion support has been added to all sections except for <tt>[Messages]</tt>, <tt>[CustomMessages]</tt>, and <tt>[Code]</tt>.</li>
  191. <li>Brace highlighting has been added to all sections.</li>
  192. <li>Syntax errors are now underlined during editing. (Support for the <tt>[Code]</tt> section is limited.)</li>
  193. <li>Constants are now highlighted.</li>
  194. <li>Variable-pitch fonts may now be selected as the editor font.</li>
  195. <li>ISPP inline directives (<tt>{#...}</tt>) are now consistently highlighted in all contexts.</li>
  196. <li>Zooming is now supported.</li>
  197. <li>Added new options: <i>Word wrap</i> (default: off), <i>Auto indent mode</i> (default: on), <i>Show indentation guides</i> (default: off), <i>Invoke autocomplete automatically</i> (default: on), <i>Underline syntax errors</i> (default: on), and <i>Use tab character</i> (default: off).</li>
  198. </ul>
  199. </li>
  200. <li>Setup now instructs edit controls which are used to input a file or folder name to use AutoComplete to help complete file system paths.</li>
  201. <li>On disk space checks, Setup now queries the nearest volume mount point rather than the root.</li>
  202. <li>The default directory and Start Menu folder names specified via the <tt>/DIR=</tt>, <tt>/GROUP=</tt>, and <tt>/LOADINF=</tt> command line parameters now may include an "expand:" prefix which instructs Setup to expand any constants in the name. For example: <tt>/DIR="expand:{pf}\My Program"</tt>.</li>
  203. <li>Pascal Scripting changes:
  204. <ul>
  205. <li>TNewProgressBar: Added new <tt>Style</tt> and <tt>State</tt> properties. See the <i>CodeClasses.iss</i> example script for an example.</li>
  206. <li>TBitmapImage: Added new <tt>OnClick</tt> and <tt>OnDblClick</tt> properties. See the <i>CodeClasses.iss</i> example script for an example.</li>
  207. </ul>
  208. </li>
  209. <li>Dropped Itanium-specific 64-bit support for the [Files] section's <tt>regtypelib</tt> flag and the [Registry] section's <tt>Permissions</tt> parameter. These features depended on an Itanium-specific "helper" binary, which we no longer have the ability to test or build. (x64 support for these features is unaffected.)</li>
  210. <li>Updated bzip2 library to version 1.0.6.</li>
  211. <li>Minor tweaks.</li>
  212. </ul>
  213. <hr />
  214. <p><a name="5.3.11"></a><span class="ver">5.3.11 </span><span class="date">(2010-09-17)</span></p>
  215. <ul>
  216. <li>QuickStart Pack: Now offers to download and install <a href="http://www.innoide.org/" target="_blank">InnoIDE</a> instead of ISTool. InnoIDE is an easy to use Inno Setup Script editor by Graham Murt and meant as a replacement of the standard Compiler IDE that comes with Inno Setup. Using InnoIDE is especially recommended for new users. Note: unlike ISTool, InnoIDE supports Unicode scripts.</li>
  217. <li>Unicode changes:
  218. <ul>
  219. <li>Previously, if a Unicode installer included translations for both Traditional Chinese and Simplified Chinese using the language IDs $0404 (Taiwan) and $0804 (PRC), a user running under another Traditional Chinese language ID&mdash;such as $0C04 (Hong Kong)&mdash;could have incorrectly received the Simplified Chinese translation by default if it was listed first in the script's [Languages] section. Now, like the ANSI version of Setup, Traditional Chinese and Simplified Chinese are treated as completely separate languages. Thus, provided other options are available, Simplified Chinese will not be considered for selection as the default language on Traditional Chinese systems, and vice versa.</li>
  220. <li>Compiler IDE editor updated to the latest UniSynEdit version. This fixes the extra empty line appearing at the end of scripts when first saved.</li>
  221. <li>Ctrl+V/Esc/etc. are no longer intercepted by the Compiler IDE's main window while the Find dialog has the focus.</li>
  222. <li>Based on RemObjects Pascal Script SVN code revision 233. This fixes <tt>GetExceptionMessage</tt> always returning "(There is no current exception)" on Unicode.</li>
  223. </ul>
  224. </li>
  225. <li>Compiler IDE: Added new <i>Build | Open Output Folder</i> command.</li>
  226. <li>In certain cases, applications started via <tt>postinstall</tt> <tt>nowait</tt> [Run] entries did not come to the foreground (top of the Z-order) as expected. This could occur if Setup exited before the spawned process(es) were able to initialize, causing Windows to bring the window that was underneath Setup in the Z-order to the foreground instead. Now, when <tt>postinstall</tt> <tt>nowait</tt> [Run] entries are processed, Setup will wait briefly (up to one second) before exiting for another process to bump Setup from the foreground.</li>
  227. <li>To help protect applications against potential <a href="http://msdn.microsoft.com/en-us/library/ff919712.aspx">DLL preloading attacks</a>, Setup now always specifies a working directory on shortcuts it creates. If a <tt>WorkingDir</tt> parameter is not specified or is blank, Setup will try to extract a directory name from the <tt>Filename</tt> parameter. If for some reason that fails, the working directory will be set to <tt>{sys}</tt>.</li>
  228. <li>To help protect installers against potential DLL/EXE preloading attacks, Setup/Uninstall now calls SetDllDirectory to remove the current directory from the DLL search order, and SetSearchPathMode to prevent SearchPath and CreateProcess from searching the current directory before system directories.</li>
  229. <li>If the <tt>Filename</tt> parameter of a [Run]/[UninstallRun] entry or <tt>Exec</tt>/<tt>ShellExec</tt> call does not include a path, and a <tt>WorkingDir</tt> value is not provided, Setup/Uninstall will now specify a known-safe default (currently <tt>{sys}</tt>) for the process's initial current directory, instead of allowing the process to inherit Setup/Uninstall's current directory. You should not rely on this behavior, however; it is best to always specify a path in the <tt>Filename</tt> parameter.</li>
  230. <li>When an Open or Save common dialog is dismissed, the current directory is now restored to its original value.</li>
  231. <li>Updated bzip2 library to version 1.0.5.</li>
  232. <li>QuickStart Pack: Any ISPP function that uses the system's DLL search path such as <tt>GetFileVersion</tt> will no longer search the current directory.</li>
  233. <li>Minor tweaks.</li>
  234. </ul>
  235. <p><a name="5.3.10"></a><span class="ver">5.3.10 </span><span class="date">(2010-06-11)</span></p>
  236. <ul>
  237. <li>Added .NET Framework 4.0 support:
  238. <ul>
  239. <li>Added constants <tt>{dotnet40}</tt>, <tt>{dotnet4032}</tt>, and <tt>{dotnet4064}</tt>. An exception will be raised if an attempt is made to expand these constants on a system with no .NET Framework version 4.0 present.</li>
  240. <li>[Files] section flag <tt>gacinstall</tt> can now be used on .NET Framework 4.0 assemblies too.</li>
  241. </ul>
  242. </li>
  243. <li>Windows 7 changes:
  244. <ul>
  245. <li>[Icons] section flag <tt>foldershortcut</tt> is now ignored when running on Windows 7 (or later), as folder shortcuts do not expand properly on the Start Menu anymore.</li>
  246. </ul>
  247. </li>
  248. <li>[Setup] section directive changes:
  249. <ul>
  250. <li>When <tt>SignedUninstaller</tt> is set to <tt>yes</tt>, any temporary self-copies used by Setup are now digitally signed too.</li>
  251. <li><tt>Uninstallable</tt> may now be set to a boolean expression, which may contain calls to check functions. For example: <tt>Uninstallable=not IsTaskSelected('portablemode')</tt>. See the <tt>Uninstallable</tt> documentation for details.</li>
  252. <li><tt>AppVerName</tt> is no longer required if <tt>AppVersion</tt> is specified. It will now effectively default to: <tt>{cm:NameAndVersion,[AppName],[AppVersion]}</tt>. The Compiler IDE's New Script Wizard now also asks for an <tt>AppVersion</tt> instead of an <tt>AppVerName</tt>.</li>
  253. <li>If a text <tt>VersionInfo*</tt> directive is set to an empty string (as opposed to not being specified), then the version info field is really set to an empty string now, instead of forcing a default value.</li>
  254. <li><tt>VersionInfoProductTextVersion</tt> now defaults to <tt>VersionInfoProductVersion</tt> if set, else <tt>AppVersion</tt> if <tt>AppVersion</tt> is set and does not include constants, else <tt>VersionInfoTextVersion</tt>.</li>
  255. </ul>
  256. </li>
  257. <li>Unicode Inno Setup: An issue with the taskbar button re-appearing on /VERYSILENT installs has been fixed.</li>
  258. <li>Unicode [Code] based on RemObjects Pascal Script SVN code revision 228.</li>
  259. <li>Minor tweaks.</li>
  260. </ul>
  261. <p><a name="5.3.9"></a><span class="ver">5.3.9 </span><span class="date">(2010-04-10)</span></p>
  262. <ul>
  263. <li>For better appearance on Windows 7 and Vista when ClearType is enabled, Tahoma is the new default font used by Setup and Uninstall. A new [Setup] section directive <tt>DefaultDialogFontName</tt> has also been added to make it easy to override the default dialog font for all languages that do not have a custom <tt>DialogFontName</tt> setting. If you would like to revert to the dialog font used in previous versions of Inno Setup (Microsoft Sans Serif if available, else MS Sans Serif), set <tt>DefaultDialogFontName</tt> to an empty string (<tt>DefaultDialogFontName=</tt>).</li>
  264. <li>Added new [Setup] section directive: <tt>DisableWelcomePage</tt> to hide the <i>Welcome</i> wizard page. Doing so is recommended by the Aero wizard guidelines. Additionally, the <tt>ShouldSkipPage</tt> event function is now also called for <tt>wpWelcome</tt>.</li>
  265. <li>When Setup is not running silently, the <i>Ready To Install</i> wizard page now ignores attempts to skip it when no other wizard page before it has been shown yet.</li>
  266. <li>Added LZMA2 compression support:
  267. <ul>
  268. <li>Updated the <a href="http://www.7-zip.org/sdk.html">LZMA SDK</a> compression code to version 9.10 which adds support for LZMA2 compression. LZMA2 is a modified version of LZMA that offers a better compression ratio for uncompressible data (random data expands about 0.005%, compared to 1.35% with original LZMA), and optionally can compress multiple parts of large files in parallel, greatly increasing compression speed but with a possible reduction in compression ratio. LZMA2 compression may be activated by setting the <tt>Compression</tt> [Setup] section directive to <tt>lzma2</tt>, and <tt>lzma2</tt> is now also the default value.</li>
  269. </ul>
  270. </li>
  271. <li>Added various new [Setup] section directives with names that start with <tt>LZMA</tt> to fine-tune LZMA and LZMA2 compression parameters, including <tt>LZMADictionarySize</tt> which allows the LZMA dictionary size to be increased up to 256 MB from the previous maximum of 64 MB. Review the memory requirements listed in the <tt>Compression</tt> topic before using.</li>
  272. <li>Tweaked the JMP/CALL instruction optimization algorithm for slightly better compression of executable files. (On Inno Setup's own installer, this saved about 2 KB.)</li>
  273. <li>Improved compression of x64 executable files: just like for x86 executable files, JMP/CALL instruction optimization is now performed for x64 executable files. On average, this will reduce the compressed size of x64 executable files by 2-3%.</li>
  274. <li>[Setup] section directive <tt>DiskSliceSize</tt> can now be set to <tt>max</tt>, and <tt>max</tt> is now also the default value.</li>
  275. <li>Windows 7 change: The Compiler IDE is now pinnable. Also, files that are opened via the Welcome dialog, MRU list, and drag &amp; drop now get added to the Jump List.</li>
  276. <li>Windows 7 and Vista changes:
  277. <ul>
  278. <li>Before deleting a pinned shortcut, Uninstall now automatically removes it from the current user's Start menu pinned list and on Windows 7 also from the taskbar.</li>
  279. <li>Changed the icon that is shown on <i>Select Start Menu Folder</i> wizard page. Previously, it used the same icon as the preceding <i>Select Destination Location</i> page, but that was never really the intention.</li>
  280. <li>When Setup and Uninstall respawn for elevation, any SUBST'ed drives in the EXE filename are now expanded before the respawn, since the elevated user will not retain the original user's SUBST mappings. Fixes error seen when starting Setup from a SUBST'ed drive.</li>
  281. </ul>
  282. </li>
  283. <li>Setup now uses the SHA-1 algorithm instead of MD5 for file checksums and various internally-used hashes.</li>
  284. <li>Pascal Scripting: Added support functions <tt>GetSHA1OfString</tt>, <tt>GetSHA1OfUnicodeString</tt>, and <tt>GetSHA1OfFile</tt>.</li>
  285. <li>QuickStart Pack: Added ISPP functions <tt>GetSHA1OfString</tt>, <tt>GetSHA1OfUnicodeString</tt>, and <tt>GetSHA1OfFile</tt>.</li>
  286. <li>[Icons] section parameter <tt>AppUserModelID</tt> is now also used on Windows Server 2008 R2.</li>
  287. <li>In Setup's version info text fields, "(C)" is now automatically replaced with real copyright symbols ("&copy;").</li>
  288. <li>Unicode Inno Setup: Added workaround for upstream Delphi bug that could cause Setup (versions 5.3.6 to 5.3.8) to display a "Stream read error" error message at startup on Windows 2000 systems that did not have Service Pack 4 installed.</li>
  289. <li>Compiler IDE change: the <i>Tools | Configure Sign Tools...</i> dialog now allows editing of existing Sign Tools.</li>
  290. <li>The uninstall program's version is now 51.(10)52.0.0.</li>
  291. <li>Minor tweaks.</li>
  292. </ul>
  293. <p><a name="5.3.8"></a><span class="ver">5.3.8 </span><span class="date">(2010-02-18)</span></p>
  294. <ul>
  295. <li>Added new [Setup] section directive: <tt>UsePreviousLanguage</tt>. When this directive is <tt>yes</tt>, the default, at startup Setup will look in the registry to see if the same application is already installed, and if so, it will use the language of the previous installation as the default language selected in the list of available languages on the <i>Select Language</i> dialog. Note that this directive does not change the language used by the <i>Select Language</i> dialog itself because it cannot assume that the current user understands the same languages as the previous user. <tt>UsePreviousLanguage</tt> must be set to <tt>no</tt> when <tt>AppId</tt> includes constants.</li>
  296. <li>On Windows Vista and newer, Uninstall no longer blocks system shutdown until the uninstallation has actually started. This should make the Windows 7 Logo Kit (which wrongly tests any .exe in the application directory including the uninstaller) happy when it tries to shutdown an Uninstall sitting on its confirmation prompt.</li>
  297. <li>On Windows NT and newer, <tt>PrivilegesRequired=lowest</tt> now has an additional effect: the uninstall info root key will always be HKEY_CURRENT_USER, and the "common" forms of the Shell Folder constants are always mapped to the "user" forms, even if administrative privileges are available.</li>
  298. <li>[Setup] section directive <tt>CreateUninstallRegKey</tt> may now be set to a boolean expression, which may contain calls to check functions. For example: <tt>CreateUninstallRegKey=not IsTaskSelected('portablemode')</tt>. See the <tt>CreateUninstallRegKey</tt> documentation for details.</li>
  299. <li>The <i>Preparing to Install</i> wizard page now offers the user an option to directly reboot instead of just saying a reboot is needed. To trigger this option from a <tt>PrepareToInstall</tt> event function set its new <tt>NeedsRestart</tt> parameter to True.</li>
  300. <li>In the <tt>MinVersion</tt> and <tt>OnlyBelowVersion</tt> directives and parameters, <tt>.x</tt> is now treated the same as <tt>.0x</tt> when a major version of 5 or higher is specified. Thus, you now have the option of using either <tt>5.01</tt> or <tt>5.1</tt> to specify Windows XP. However, to maintain compatibility with existing scripts, <tt>4.x</tt> will still be interpreted as <tt>4.x0</tt>.</li>
  301. <li>Pascal Scripting: Added new <tt>PageIndexFromID</tt> support function.</li>
  302. <li>The online documentation available at <a href="http://www.jrsoftware.org/ishelp/">http://www.jrsoftware.org/ishelp/</a> now has an index and is searchable.</li>
  303. <li>QuickStart Pack changes:
  304. <ul>
  305. <li>Added ISPP function <tt>StringChange</tt>.</li>
  306. <li>The ISPP documentation is now available online at <a href="http://www.jrsoftware.org/ispphelp/">http://www.jrsoftware.org/ispphelp/</a>.</li>
  307. </ul>
  308. </li>
  309. <li>The uninstall program's version is now 51.(10)51.0.0.</li>
  310. <li>Minor tweaks.</li>
  311. </ul>
  312. <p><a name="5.3.7"></a><span class="ver">5.3.7 </span><span class="date">(2010-01-06)</span></p>
  313. <ul>
  314. <li>The <tt>PrivilegesRequired</tt> [Setup] section directive can now be set to <tt>lowest</tt>. On Windows Vista and later this instructs Setup to not request elevated rights (via a User Account Control dialog) even if it was started by a member of the Administrators group. Do not use this setting unless you are sure your installation will run successfully on unprivileged accounts. If you were using <tt>PrivilegesRequired=none</tt> before, it is recommended to switch to <tt>PrivilegesRequired=lowest</tt>.</li>
  315. <li>Added new Compiler IDE option: <i>Autosave before compiling</i>.</li>
  316. <li>[Tasks] section flags <tt>checkedonce</tt> and <tt>unchecked</tt> may now be combined. This combination specifies the task to be unchecked by default on the first install, and always unchecked by default on subsequent installs as well.</li>
  317. <li>A problem with "Not Implemented" errors when Setup or Uninstall was run on Windows 7 under special conditions such as from a non-interactive service was fixed.</li>
  318. <li>Changed the <i>CodePrepareToInstall.iss</i> example script to use the RunOnce registry key instead of a shortcut placed in <tt>{commonstartup}</tt>.</li>
  319. <li>Pascal Scripting: the Non Unicode compiler now has a <tt>PAnsiChar</tt> type just like the Unicode compiler.</li>
  320. <li>Added official Japanese translation.</li>
  321. <li>Unicode [Code] based on RemObjects Pascal Script SVN code revision 197.</li>
  322. <li>Minor tweaks.</li>
  323. </ul>
  324. <p><a name="5.3.6"></a><span class="ver">5.3.6 </span><span class="date">(2009-11-14)</span></p>
  325. <ul>
  326. <li>Windows 7 change:
  327. <ul>
  328. <li>Added new [Setup] section directive: <tt>UninstallDisplaySize</tt>. On Windows 7 and newer, Setup uses this directive to set the <tt>EstimatedSize</tt> value in the Uninstall registry key when possible since the Windows 7 <i>Add/Remove Programs</i> Control Panel (called <i>Program and Features</i>) no longer automatically calculates it. If an <tt>UninstallDisplaySize</tt> is not set, Setup estimates the size itself by taking the size of all files installed and adding any <tt>ExtraDiskSpaceRequired</tt> values set. Note: Windows 7 only supports the display of values smaller than 4 GB.</li>
  329. </ul>
  330. </li>
  331. <li>Pascal Scripting now supports <tt>IUnknown</tt> based COM. Previously it only supported <tt>IDispatch</tt> based COM but a growing number of Windows API functions are COM based without implementing the <tt>IDispatch</tt> interface, and you can now use these as well. See the new <i>CodeAutomation2.iss</i> example script for an example. Note: this is only supported by Unicode Inno Setup at the moment, because of Delphi 2's limitations (Delphi 2 is used to compile Non Unicode Inno Setup):
  332. <ul>
  333. <li>Added <tt>StringToGUID</tt>, <tt>CreateComObject</tt>, and <tt>OleCheck</tt> support functions.</li>
  334. <li>Added <tt>HResult</tt>, <tt>TGUID</tt>, <tt>TCLSID</tt>, and <tt>TIID</tt> support types.</li>
  335. </ul>
  336. </li>
  337. <li>The compiler no longer allows a single <tt>LanguageCodePage</tt> directive to be applied to multiple languages at once. If you were using this to force Non Unicode Setup to allow the user to select any language regardless of the system code page, set [Setup] section directive <tt>ShowUndisplayableLanguages</tt> to <tt>yes</tt> instead.</li>
  338. <li>Added new <i>CodePrepareToInstall.iss</i> example script.</li>
  339. <li><i>Fix:</i> Unicode Pascal scripting: passing a very long string to <tt>Format</tt> caused an error.</li>
  340. <li>Minor tweaks.</li>
  341. </ul>
  342. <p><a name="5.3.5"></a><span class="ver">5.3.5 </span><span class="date">(2009-09-23)</span></p>
  343. <ul>
  344. <li>Windows 7 changes:
  345. <ul>
  346. <li>Setup, Uninstall and custom <tt>TOutputProgressWizardPage</tt> pages now make use of the new Windows 7 taskbar functionality to display progress, pause and error indicators on their taskbar buttons.</li>
  347. <li>Added new [Icons] section parameter: <tt>AppUserModelID</tt>. Specifies the Windows 7 Application User Model ID for the shortcut. Ignored on earlier Windows versions and on server versions. This parameter can include constants.</li>
  348. </ul>
  349. </li>
  350. <li>Windows 7 and Vista changes:
  351. <ul>
  352. <li>Setup, Uninstall and custom <tt>TOutputProgressWizardPage</tt> pages now display pause and error indicators on their progress bars.</li>
  353. <li>Setup and Uninstall now call the Windows API function <tt>ShutdownBlockReasonCreate</tt> to set the shutdown block reason string to be displayed to the user if system shutdown is initiated. Note: this change is purely cosmetic, the fact that Setup and Uninstall block system shutdown is not new.</li>
  354. </ul>
  355. </li>
  356. <li>Pascal Scripting changes:
  357. <ul>
  358. <li>TWinControl: Added new <tt>ParentBackground</tt> property. By setting this to False, you can ensure the background of a TPanel will always display the color assigned to its <tt>Color</tt> property, instead of it becoming transparent under certain conditions. See the <i>CodeClasses.iss</i> example script for an example.</li>
  359. </ul>
  360. </li>
  361. <li>The Unicode compiler now behaves identical to the Non Unicode compiler if a language uses more than one .isl file (it no longer requires the <tt>LanguageCodePage</tt> to be set in each file), or if a languages <tt>LanguageCodePage</tt> is overwritten from the .iss file (it no longer ignores this), or if any language specific plain text ANSI <tt>LicenseFile</tt>, <tt>InfoBeforeFile</tt>, or <tt>InfoAfterFile</tt> is used (it now converts these to Unicode using the languages <tt>LanguageCodePage</tt> at compile-time, instead of using the system codepage at run-time).</li>
  362. <li><i>Fix:</i> Pascal scripting: passing a Unicode string to some built-in functions like <tt>Copy</tt> caused the string to be converted to ANSI.</li>
  363. <li>The uninstall program's version is now 51.(10)50.0.0.</li>
  364. <li>Minor tweaks.</li>
  365. </ul>
  366. <p><a name="5.3.4"></a><span class="ver">5.3.4 </span><span class="date">(2009-08-15)</span></p>
  367. <ul>
  368. <li>On Windows 7 the Compiler IDE now makes use of the new Windows 7 taskbar functionality to display progress, pause and error indicators on its taskbar button.</li>
  369. <li>Pascal Scripting: Documented function <tt>IDispatchInvoke</tt>, which can be used to access a COM Automation property or method whose name is a reserved word.</li>
  370. <li><i>Fix:</i> Unicode [Registry] section entries with <tt>ValueType</tt> set to <tt>binary</tt> did not set the correct value.</li>
  371. <li><i>Fix:</i> Pascal scripting: setting a COM Automation property or method parameter to a Unicode string variable caused an 'Invalid Type' error.</li>
  372. </ul>
  373. <p><a name="5.3.3"></a><span class="ver">5.3.3 </span><span class="date">(2009-08-01)</span></p>
  374. <ul>
  375. <li>[Setup] section directives <tt>VersionInfoProductVersion</tt> now sets the binary product version value instead of the textual product version value.</li>
  376. <li>Added new [Setup] section directive: <tt>VersionInfoProductTextVersion</tt>, which sets the textual product version value. Its default value is <tt>VersionInfoProductVersion</tt> if set, else <tt>VersionInfoVersion</tt>.</li>
  377. <li>[Setup] section directives <tt>DisableDirPage</tt> and <tt>DisableProgramGroupPage</tt> can now be set to <tt>auto</tt>. If they are, at startup Setup will look in the registry to see if the same application is already installed, and if so, it will hide the pages automatically.</li>
  378. <li>Pascal Scripting changes:
  379. <ul>
  380. <li><tt>WizardForm.PrevAppDir</tt> is now available and returns the directory of the previous installation. Returns an empty string if there's no previous installation or if <tt>UsePreviousAppDir</tt> is set to <tt>no</tt> or if <tt>Uninstallable</tt> was previously set to <tt>no</tt>.</li>
  381. <li>While running any <tt>PrepareToInstall</tt> event function Setup now displays the <i>Preparing to Install</i> wizard page instead of the <i>Ready to Install</i> page and disables itself.</li>
  382. </ul>
  383. </li>
  384. <li>Added the Windows 7 "compatibility" section to the various manifest resources used by Inno Setup.</li>
  385. <li>Documentation improvements.</li>
  386. </ul>
  387. <p><a name="5.3.2"></a><span class="ver">5.3.2-beta </span><span class="date">(2009-05-29)</span></p>
  388. <ul>
  389. <li>Replaced constant <tt>{regasmexe}</tt> with <tt>{dotnet11}</tt> and <tt>{dotnet20}</tt>.</li>
  390. <li>Pascal Scripting: Added new <tt>PrepareToInstall</tt> event function. Return a non empty string from this function to instruct Setup to stop at the <i>Preparing to Install</i> wizard page showing the returned string as the error message.</li>
  391. <li>Minor fixes and tweaks.</li>
  392. </ul>
  393. <p><a name="5.3.1"></a><span class="ver">5.3.1-beta </span><span class="date">(2009-05-15)</span></p>
  394. <ul>
  395. <li>[Setup] directive <tt>AppMutex</tt> and support function <tt>CheckForMutexes</tt> change: to specify a mutex name containing a comma you can now escape the comma with a backslash.</li>
  396. <li>Minor tweaks.</li>
  397. </ul>
  398. <p><a name="5.3.0"></a><span class="ver">5.3.0-beta </span><span class="date">(2009-04-22)</span></p>
  399. <ul>
  400. <li>Added .NET support (these cause an internal error if used on a system with no .NET Framework present):
  401. <ul>
  402. <li>Added new [Files] section flag: <tt>gacinstall</tt>.</li>
  403. <li>Added new [Files] section parameter: <tt>StrongAssemblyName</tt>.</li>
  404. <li>Added new constants: <tt>{regasmexe}</tt>, <tt>{regasmexe32}</tt>, <tt>{regasmexe64}</tt>.</li>
  405. </ul>
  406. </li>
  407. <li><tt>MinVersion</tt> parameter/directive change: if you leave one of the versions empty then it will use the default <tt>MinVersion</tt> for that platform.</li>
  408. <li>Pascal Scripting: Added new <tt>MinimizePathName</tt> support function.</li>
  409. <li>Added Unicode support: there's now a second version of Inno Setup available called Unicode Inno Setup. Key features of this version are its ability to display any language on any system regardless of the system code page, and its ability to work with Unicode filenames. Notes:
  410. <ul>
  411. <li>Unicode Inno Setup uses the existing ANSI .isl language files and you should not and may not convert these to Unicode or anything similar since it does so automatically during compilation using the <tt>LanguageCodePage</tt> setting listed inside the language's .isl file. However, you do need to convert existing [Messages] and [CustomMessages] entries in your .iss files to Unicode if the language used a special <tt>LanguageCodePage</tt>.</li>
  412. <li>The [Setup] directive <tt>ShowUndisplayableLanguages</tt> is ignored by Unicode Inno Setup.</li>
  413. <li>Unicode Inno Setup is compiled with Delphi 2009 instead of Delphi 2 and 3, leading to slightly larger files. The source code however is still compatible with Delphi 2 and 3, and a non Unicode version will remain available.</li>
  414. <li>Unicode Inno Setup and installers created by it require Windows 2000/XP or newer. The non Unicode version still works on NT/9x.</li>
  415. <li>Existing installations of your programs done by non Unicode installers can be freely updated by Unicode installers, and vice versa.</li>
  416. <li>Unicode Pascal Scripting notes:
  417. <ul>
  418. <li>The Unicode compiler sees type 'String' as a Unicode string, and 'Char' as a Unicode character. Its 'AnsiString' type hasn't changed and still is an ANSI string. Its 'PChar' type has been renamed to 'PAnsiChar'.</li>
  419. <li>The Unicode compiler is more strict about correct ';' usage: it no longer accepts certain missing ';' characters.</li>
  420. <li>The new RemObjects PascalScript version used by the Unicode compiler supports Unicode, but not for its input source. This means it does use Unicode string types as said, but any literal Unicode characters in the script will be converted to ANSI. This doesn't mean you can't display Unicode strings: you can for example instead use encoded Unicode characters to build Unicode strings (like <tt>S := #$0100 + #$0101 + 'Aa';</tt>), or load the string from a file using <tt>LoadStringsFromFile</tt>.</li>
  421. <li>Some support functions had their prototype changed: some parameters of <tt>CreateOutputMsgMemoPage</tt>, <tt>RegQueryBinaryValue</tt>, <tt>RegWriteBinaryValue</tt>, <tt>OemToCharBuff</tt>, <tt>CharToOemBuff</tt>, <tt>LoadStringFromfile</tt>, <tt>SaveStringToFile</tt>, and <tt>GetMD5OfString</tt> are of type AnsiString now instead of String.</li>
  422. <li>Added new <tt>SaveStringsToUTF8File</tt>, and <tt>GetMD5OfUnicodeString</tt> support functions.</li>
  423. <li>If you want to compile an existing script that imports ANSI Windows API calls with the Unicode compiler, either upgrade to the 'W' Unicode API call or change the parameters from 'String' or 'PChar' to 'AnsiString'. The 'AnsiString' approach will make your [Code] compatible with both the Unicode and the non Unicode version.</li>
  424. </ul>
  425. </li>
  426. <li>Unicode Inno Setup supports UTF-8 encoded .iss files (but not UTF-16).</li>
  427. <li>Unicode Inno Setup supports UTF-8 and UTF-16LE encoded .txt files for <tt>LicenseFile</tt>, <tt>InfoBeforeFile</tt>, and <tt>InfoAfterFile</tt>.</li>
  428. <li>QuickStart Pack: added ISPP predefined variable <tt>UNICODE</tt>.</li>
  429. </ul>
  430. </li>
  431. <li>Thanks to Carlo Kok and Evgeny Karpov of RemObjects Software for their help related to Unicode support.</li>
  432. <li>QuickStart Pack: added ISPP functions <tt>Trim</tt>, and <tt>GetMD5OfUnicodeString</tt>.</li>
  433. </ul>
  434. <hr />
  435. <p><a name="5.2.4"></a><span class="ver">5.2.4 </span><span class="date">(2009-03-16)</span></p>
  436. <ul>
  437. <li>Added new [Registry] section <tt>ValueType</tt>: <tt>qword</tt>.</li>
  438. <li>Added new [Setup] section directive: <tt>SignTool</tt>, which makes it possible to further automate digital signing of Setup and Uninstall. See the help file for more information.</li>
  439. <li>The value of the <tt>AppVersion</tt> directive is now also used to set the <tt>MajorVersion</tt> and <tt>MinorVersion</tt> values in the Uninstall registry key when possible.</li>
  440. <li>/LOG: Now logs exit codes on [UninstallRun] entries.</li>
  441. <li>Compiler IDE changes:
  442. <ul>
  443. <li>Added new <i>Tools | Configure Sign Tools...</i> command.</li>
  444. </ul>
  445. </li>

Large files files are truncated, but you can click here to view the full file