Inno Setup 3.0
Revision History
|
Copyright © 1997-2003 Jordan Russell. All rights reserved.
Portions Copyright © 2000-2002 Martijn Laan. All rights reserved.
For conditions of distribution and use, see LICENSE.TXT.
3.0.7 (2003-04-14)
- Starting in 2003 some Chinese users began experiencing trouble starting the Setup program and uninstaller; an error message about a missing ".MSG" file would be displayed. Reportedly, this is because -- for some completely unknown reason -- Windows is changing the case of parameters passed on the command line from uppercase to lowercase. This confused the Setup program and uninstaller, because they used a case-sensitive string compare when parsing internally-used command line parameters. This was nothing new; it had been this way since version 1.0, released in 1997.
Why this issue only surfaced in the year 2003, and why it only affects Chinese users, I don't know. All I know for sure is that it was not due to any programming error in Inno Setup. Using case-sensitive switches is and has always been perfectly legal. I'm sure that these same users will also have trouble running other programs that rely on case-sensitive switches, e.g. pretty much any utility ported from UNIX.
Nevertheless, I have (reluctantly) changed the Setup program and uninstaller to use a case-insensitive compare.
- Minor tweaks.
3.0.6 (2002-12-17)
- Updated the Script Wizard to output Flags: ignoreversion instead of the CopyMode: alwaysoverwrite.
- Fixed focus issue with the Find dialog in the compiler IDE.
3.0.5 (2002-12-16)
- The [Files] section CopyMode parameter is now deprecated; the CopyMode options have been replaced by flags. See the updated description of CopyMode in the help file for the list of corresponding flags. Note that CopyMode is still recognized by the compiler, but will generate a warning when used.
- By default, when an existing file is a newer version than a file being installed, Setup will no longer ask the user whether the file should be replaced; instead, it will just be skipped. In previous versions, you had to use CopyMode: alwaysskipifsameorolder to activate this behavior. To go back to the old behavior, use the new promptifolder flag.
- The [Files] section flag comparetimestampalso has been replaced by a new flag: comparetimestamp. This flag is like the old flag, but can also work with files that lack version info. See the help file for details.
- On the License Agreement wizard page, the "do not accept the agreement" radio button is now initially selected. Previously, there was no initial selection, which meant the radio buttons couldn't be reached with the Tab key (but could still be selected using Alt+letter).
- #include no longer requires that included files start with a section tag.
- The [Setup] section directive WizardSmallImageBackColor is now documented.
- Backslashes are now permitted in the DestName parameter of a [Files] section entry if they are inside a constant.
- Now binds the message data to unins???.exe while it's being extracted, instead of re-opening it later and doing it. This might work around the Kaspersky Antivirus issue described here.
- Changed message: WelcomeLabel2 has been simplified in hopes of increasing user-friendliness.
Changed message: PowerUserPrivilegesRequired has been reworded for clarity.
- Extensive documentation updates, including a new Wizard Pages topic.
- Minor tweaks.
3.0.4-beta (2002-10-20)
- New [Setup] section directive: PrivilegesRequired. This supersedes AdminPrivilegesRequired, and allows you to check for either administrative or Power User privileges.
- Setup's progress bar is now based on the standard Windows progress bar control, allowing it to have a themed appearance on Windows XP.
- Now uses a new, more standard method of detecting administrative privileges.
- Updated bzip2 code to version 1.0.2.
- Fixed a long-standing bug with [LangOptions]'s DialogFontName directive; certain values could cause the uninstaller dialogs not to appear.
Note that this didn't cause any error messages in the uninstaller; it just made it where the progress and shared file dialogs weren't shown. (In the case of the shared file dialog, it would act as if the user chose No.)
- Minor tweaks.
3.0.3-beta (2002-08-26)
- Almost all the new features in 3.0.x are now documented in the help file.
- The RestartComputer directive introduced in Inno Setup 3.0.0 has been removed. Revert to using AlwaysRestart as before.
- New [Setup] section directive: RestartIfNeededByRun (default: yes). When set to yes, and a program executed in the [Run] section queues files to be replaced on the next reboot (by calling MoveFileEx or by modifying wininit.ini), Setup will detect this and prompt the user to restart the computer at the end of installation. This directive controls what the RestartComputer directive used to.
- Setup now returns a non-zero exit code when installation fails or is cancelled. For more details, see the Setup Exit Codes topic in the help file.
- When the /VERYSILENT switch is passed to Setup, it now hides the taskbar button.
- Added a heading to the Finished wizard page for Wizard 97 compliance and consistency with other wizards.
- When the font specified by [LangOptions]'s WelcomeFontName directive doesn't exist, it now falls back to 12pt MS Shell Dlg/MS Sans Serif instead of 12pt Arial. This looks somewhat better and more consistent with other wizards.
- When executing [Run] or [UninstallRun] entries, to prevent ambiguity it now adds quotes around Filename even when it doesn't contain spaces. Also, it no longer includes an unnecessary space after the filename when there are no parameters.
- Compiler IDE: New Run | Parameters... command, which allows you to run installations with command line parameters (e.g. /SILENT) from within the IDE.
- Fixed some window issues when Setup was compiled on Delphi 3 or higher. It's important to note that these issues did not affect the Inno Setup binaries on my web site since they are compiled under Delphi 2.
- New message: FinishedHeadingLabel.
Obsolete messages that have been removed: WizardWelcome, WizardFinished.
3.0.2-beta (2002-06-01)
- Directories created by non-{group} [Icons] section entries are now automatically deleted by the uninstaller if empty; it is no longer necessary to use [Dirs] or [UninstallDelete] entries to do that.
- Compiler: Now shows the version numbers of files (if available) as they are compressed.
- Compiler: When processing an #include directive, it now looks for the included file in the same directory as the file being parsed.
- ISCC: Now if you specify "-" as the filename, it reads from standard input.
- When extracting a file, it now sets any attributes on the file after renaming it to its final name, instead of before. This change was made because reportedly Novell doesn't allow files with the read-only attribute to be renamed.
- The .iss file association is now properly cleaned up when Inno Setup is uninstalled.
- New message: UserInfoSerial (currently not used for anything).
- Various minor tweaks.
3.0.1-beta (2002-04-03)
- New [Setup] section directive UninstallRestartComputer (default: no). When set to yes, the uninstaller will always ask the user if he/she wants to restart at the end of the uninstallation process.
- New [Files] section flag: uninsrestartdelete. When this flag is used and the file is in use at uninstall time, the uninstaller will queue the file to be deleted when the system is restarted, and at the end of the uninstallation process ask the user if he/she wants to restart. This flag can be useful when uninstalling things like shell extensions which cannot be programmatically stopped. Note that administrative privileges are required on Windows NT/2000/XP for this flag to have an effect.
- An #include compiler directive is now supported, which pulls in lines from a separate file into the script. Usage example:
#include "filename.txt"
Note that when the compiler begins reading an included file, it forgets which section it was parsing in the previous file. Therefore, included files must begin with a section tag if they contain entries.
- The compiler now displays an error if there is stray text not inside a section.
- Now when Cancel is clicked on the Preparing to Install wizard page it doesn't show the confirmation message box.
- New message: UninstalledAndNeedsRestart.
- Patched zlib from version 1.1.3 to 1.1.4.
- The uninstall program's version is now 51.6.0.0.
- Minor tweaks.
3.0.0-beta (2002-02-17)
- New features:
- The compiler IDE now includes an integrated "debugger":
- You can trace the order in which entries are processed by using the Step Over (F8) and Run to Cursor (F4) commands.
- You can spy on the values of constants (e.g. {pf}) in your script by hovering the mouse over them. (Setup has to be running in order to do this.)
- Added optional User Information wizard page.
- New [Setup] section directive UserInfoPage (default: no), which is used to enable the User Information page.
- New constants {userinfoname} and {userinfoorg} which hold the name and organization entered by the user.
- New [Setup] section directives DefaultUserInfoName (default: {sysuserinfoname}) and DefaultUserInfoOrg (default: {sysuserinfoorg}), which determine the default name and organization shown.
- New [Setup] section directive UsePreviousUserInfo (default: yes).
- New Preparing to Install wizard page, displayed immediately before Installing, which performs this check:
- If one of the files specified in the [Files] section was already queued (by some other installation) to be replaced on the next reboot, it prevents the user from continuing with the installation, and tells them they need to reboot.
If the check passes, it proceeds automatically to the Installing wizard page without stopping on the Preparing to Install wizard page.
- New constant {uninstallexe} which holds the full path and filename of the uninstall program. (It is not valid when Uninstallable is set to no.)
- New constant {cmd} which translates to the path of the system's command interpreter. On Windows NT/2000/XP, this is Windows\System32\cmd.exe. On Windows 9x/Me, this is Windows\COMMAND.COM.
- New constants {sysuserinfoname} and {sysuserinfoorg} which hold the name and organization that Windows is registered to. (This information is read from the registry.)
- New [Setup] section directive RestartComputer (default: auto), which supercedes AlwaysRestart.
The RestartComputer directive is no longer available in Inno Setup 3.0.3. Use AlwaysRestart, as before, instead.
- New command line parameter supported by Setup: /NOCANCEL. It prevents the user from cancelling during the installation process by disabling the Cancel button and ignoring clicks on the close button. It is intended to be used along with /SILENT.
- Compiler IDE: Added "Undo after save" option.
- Changes/Improvements:
- The License Agreement wizard page now uses radio buttons.
- By default, if a program executed in the [Run] section queues files to be replaced on the next reboot (by calling MoveFileEx or by modifying wininit.ini), Setup will now detect this and prompt the user to restart the computer at the end of installation. If you don't want this, set the new RestartComputer directive to no.
The RestartComputer directive is no longer available in Inno Setup 3.0.3. Use the new RestartIfNeededByRun directive instead.
- The {%NAME} constant (read environment variable) now works like the {reg:...} constant in that it accepts a default value, supports embedded constants, and supports %-encoding.
- On Windows NT, the compiler and Setup can now read version information from VXD files.
- The Startup folder is no longer included in the list of existing folders on the Select Start Menu Folder wizard page.
- When the user clicks Cancel during installation, it now shows a "Rolling back changes" status message while it undoes the changes.
- When UsePreviousSetupType=no is used, it no longer warns about already-installed components that are not checked.
- The compiler now can handle multiple sections of the same name.
- Removals:
- The "classic" wizard style is no longer included beginning with this version.
- Windows NT 3.51 is no longer supported beginning with this version.
- AlwaysCreateUninstallIcon and UninstallIconName are no longer supported. Instead, if you want to create an uninstall icon, add an [Icons] entry with Filename set to {uninstallexe}.
- This version is derived from Inno Setup 2.0.19, and therefore includes all of the features and fixes from that version.
Inno Setup 2.0 Revision History