The uninstaller now doesn't remove the directory specified by an [Icons] section entry unless the directory is "{group}" or a subdirectory of it. In previous versions if an icon was created in, for example, "{commonstartup}", the folder would get removed by the uninstaller if there were no icons left in it.
It no longer unnecessarily writes to the uninstall log files copied to "{tmp}" and files that use the deleteafterinstall flag, since the installer deletes these files automatically.
The 32-bit version doesn't use any form of executable compression anymore (i.e. no ASPack, no UPX). This means installations will be around 45KB larger than before. I decided to do this to avoid false virus warnings by certain poorly designed virus scanners, and hopefully this will only be temporary. You can still run ASPack or UPX on Inno Setup's *.E32 files if you want to still use EXE compression.
Misc. tweaks in the help file.
1.11k
16-bit installations only: On Windows 3.1 with SHARE loaded and without vshare.386 installed, the uninstaller gave a "Sharing Violation" message after the uninstallation was complete. This was not extremely serious since it did still uninstall the application properly. The error message is caused by a bug in Windows 3.1, and does not occur on Windows for Workgroups 3.11 (what I had been doing all my testing on) since vshare.386 comes preinstalled. A workaround for this OS bug has been implemented.
On scripts with a lot of entries (over 16,000), the compiler would fail with an "out of resources" message on not-NT Windows platforms because the list box would exceed the item limit. It now resets the list box when it gets full.
To make it possible to compile Inno Setup using Delphi's command line compiler, changed all the forward slashes in zlib.pas's {$I} include directives to backslashes. Also created separate 16-bit and 32-bit versions of the projects' .res files under the extensions .r16 and .r32, and modified the .dpr files to conditionally include the .r16 and .r32 files.
1.11i
The [Setup] section entry CompressLevel can now be set to 0. (This required a bug-fix patch be applied to the zlib code; that's why 0 wasn't allowed in previous versions.)
When the comparetimestampalso flag is used on the 16-bit version of Inno Setup it now properly handles files with years up to 2107, the maximum for the 16-bit Windows API. (Previous versions of Inno Setup did not work correctly when years higher than 2043 were used.)
1.11h
Some of the dialogs were incorrectly hardcoded to use black for the text color instead of the proper Control Panel setting (not sure how that happened). The only color scheme that doesn't use black fonts is High Contrast, so this definitely wasn't a widespread problem. (In fact, nobody reported it to me -- I discovered it myself by accident.)
If you used a "&" character in the AppName or AppVerName [Setup] section entries, on the wizard pages it would be displayed as "_". Fixed.
The [Files] section flags sharedfile and uninsneveruninstall now produce the expected effect when combined -- the shared count for the file is incremented when installed and decremented when uninstalled, but the file is never deleted.
If an error occured while a file was being copied causing an "Abort, Retry, Ignore" dialog to come up, the progress meter would be unnecessarily incremented each time Retry was chosen.
The 32-bit EXE's are now compressed with ASPack version 1.083. The last version used ASPack 1.082.
1.11g
The width of the buttons on the Setup program's wizard are now properly scaled to the screen's pixels-per-inch setting. Translation: The buttons now look wider if the system is set to use large fonts. (The text on the buttons in previous versions of Inno Setup did fit just fine, but they looked small in comparison to the other controls on the wizard.)
The createvalueifdoesntexist flag in [Registry] sections didn't always work right when dealing with the default value of the key. It was overwriting the default value even if it already existed if the key happened to contain other named values. Fixed. (The SDK docs don't mention that RegEnumValue can return ERROR_MORE_DATA. That was the root cause of this bug, so blame MS :-)
The 32-bit EXE's are now compressed with ASPack version 1.082. The last version used ASPack 1.08.
1.11f
In rare cases on the 16-bit compiler, it would give a garbage error message when processing the [Files] section and abort the compile. This problem was due to an uninitialized variable, and did not affect the 32-bit version. Big thanks to Paul Laurik for tracking this down. :-)
1.11e
The 32-bit EXE's are now compressed with ASPack version 1.08. Previously I was using ASPack 1.07b.
[Registry] entries using the "binary" data type were not being created correctly. Fixed. Only 32-bit installations support the "binary" data type, so that's why there is no 16-bit version of 1.11e. (Actually this bug has been in there ever since 1.1 -- how come it wasn't reported sooner?)
1.11d
The compiler now allows the "String" parameter in [INI] sections to be blank.
1.11c
With the addition of constant name checking in 1.11, using the "{fonts}" constant gave an erroneous error message in the compiler. I had left out this particular constant in the list of valid constants by accident. Fixed.
1.11b
Using "{{" now correctly produces a single "{" character as documented instead of two "{"s. Sorry about that. :-)
1.11a
Fixed problem in 1.1 and 1.11 of not allowing "0" in the MinVersion [Setup] section entry.