This release contains minor bug fixes and enhancements.
Minor Bug Fixes
Fix a bug where modified files don't get updated in the unpack process, so changes to file objects never get noticed when unpacked.
Fixed a bug in the classic wizard init that would cause it to fail.
Fixed a missing quote in the Dutch translations for the Classic Wizard that would cause an error when creating a new project with this theme.
Fix a bug where using \ in an image path can cause the image to get lost at runtime.
Fixed a nasty little bug where the File Update Method was not being respected for files being installed. This would cause things like date checks to fail and overwrite modified, existing files.
Fixed a bug where canceling during installation would sometimes cause the process to freeze until killed.
Fixed a bug where canceling during installation could cause an error because the unpack proceeds and tried to update a file that wasn't installed.
Committed the correct version of the LZMA library on Windows. This will fix issues with building installers using LZMA compression on Windows.
Modernized the choose directory dialog. The label showing the directory is gone, and the entry now reflects the entire folder path. The entire path is now checked for valid characters before closing the dialog.
Fixed a bug that caused integer overflows in diskspace calculations on non-Windows platforms.
Fixed a bug where errors could cause errors with install title text.
Fixed a bug where changing the language would not update the install title with the appropriate title for the new language.
Several fixes to dialog transient parent handling and some new variables to control native dialogs.
Fix a bug in the bgerror handler.
Fix a bug that causes an error message when building with no files.
Removed the dummy test for Readma panes so that they don't display the wrong information in a language other than English.
Fixed a bug where the various move wizard actions would always move on step extra because the wizard was not noticing that the actions had moved forward.
Fixed a bug where not all languages would appear as choices in the builder.
Fixed a bug where opening the condition editor could cause copy-and-paste actions to not work anymore.
Fixed a typo in the <%FileGroup%> virtual text that caused an error.
Fixed a bug in Execute External Program where using progressive output would not accurately set the exit status on error.
Fixed a bug in the SetActiveSetupType API where it was not repopulating the components correctly.
Fixed a bug where the Unpack Stored File action would create the original install directory for the packed file by mistake.
Fixed a bug in the Execute Script action where returning a value would result in an error.
Fixed a bug that would not allow multiple directories with the same name to exist in a file group.
Made builds more robust when we hit unexpected errors. The errors should now go correctly to the build log, and the builder should go back to a known state so that the build can be tried again.
Fixed a bug where multiple channels were opened to the debug log.
Fixed a bug in shortcut actions where setting Command Line Properties did not propagate on UNIX platforms.
Fixed a bug where passing --temp on the command line would not actually set the Temp virtual text.
Fixed a bug where attempting to paste an object with conditions would cause an error.
Fixed several bugs with message boxes on non-Windows platforms.
Fixed a bug and an inconsistency with the SpaceAvailable virtual text on non-Windows platforms.
Fixed a bug where deleting objects from the system would not remove all of their virtual text from the project file.
Fixed a bug where opening a project from the right-click menu in the project list would result in an error.
Fixed a bug in ::InstallAPI::FindProcesses on Windows.
Fixed a bug where using tk_getOpenFile would error on non-Windows platforms.
Fixed several bugs relating to "match any" conditions.
Fixed a bug where opening a choose directory dialog from a Windows network share would error out.
Removed the entry box on the choose directory dialog. Make New Folder is sufficient for specifying a folder name, and the entry was just confusing.
Fixed several bugs between setting Aliases of objects and their title in the component tree.
Fixed a bug that caused the Setup Actions group to never actually execute.
Fixed a bug in ::InstallAPI::PromptForFile on Windows.
Fix a small bug for command-line builds.
Fix a bug in installers with non-ASCII characters.
Fixed a bug where condition failure messages would pop up in the wrong place on some systems.
Fixed a bug where symlink'd files on UNIX were being truncated once installed on Windows.
Fixed a bug where a symlink'd directory would end up creating a recursive symlink on the target system during installation.
Fixed a bug in the Modify Widget action where the parent could not be determined if the action was attached to a checkbutton or something else.
Minor Enhancements
Added more functionality to the debugging command to allow for specifying whether you want to debug to the console or file or both.
Added a new Validate Entry On property to the Add Widget action. This will allow entry widgets to specify an action that is executed when certain events happen.
Install Windows Shortcut will now use TWAPI as its method of creating the shortcut when it is available. This will fix the problems many people are having installing shortcuts on Asian character sets in Windows.
Added a -encoding option to the LoadMessageCatalog API.
Added the ability to specify configuration options at the top of a message catalog file in the form of key-value pairs. (-encoding utf-8 etc...).
Added a new "All" language to text fields that will set all languages with the same message when used. When retrieving text for the All language, text will only be retrieved if all languages have the same text. Otherwise, the text is blank.
Added a link on the Help menu to the Support Forums.
Adding Russian translations (thanks to Stanislav Borutsky
The order of Before Pane is Displayed actions and conditions has been reversed. Previously, the actions would execute first, but this is the opposite of the way every other check works. The conditions will now be checked before the pane is displayed, and if they fail, the wizard will move forward without ever executing the actions.
Added a new AddLanguage API call.
Added new PromptForDirectoryNewFolderText virtual text to the English message catalog. This is the default text for the Make New Folder button on the Choose Directory dialog. Translations will be added as they become available.
Added a new -object option the SetVirtualText API. This allows for setting virtual text on objects like panes and actions.
Added new LoadMessageCatalog API.
Added a new, powerful FindObjects API for locating just about anything in the system.
The system default language will now be used as the default language in the installer if it is supported. If the installer does not include the language for the user's system, the Default Language will be used in its place.
Added a new Editor external program preference to specify an editor to use when editing multi-line text. InstallJammer will create a temporary file, execute the selected editor and watch for changes on the file and propagate them back into the project.
Re-enabled the Save as button for projects. With the new Duplicate Project option, this shouldn't be nearly as confusing as before.
Added a check when saving to see if the project file is writable. If it's not, InstallJammer can attempt to make the file writable before saving at the user's request.
Added a new Watch Virtual Text property to allow matching of patterns without an actual virtual text variable in the pattern. Regular expressions with less than two sub match patterns will use this variable as the default.
Added new Include TWAPI property to the Install Wrapped Script action. This allows wrapped scripts on the target system to include the TWAPI extension on Windows platforms. The script will be automatically modified with a small header to load the TWAPI extension automatically.
Added the ability to specify images in an installer at runtime. Image properties can now contain a file on the build system, a file on the target system or an ID or Alias to a file stored within the installer.
Added a new Command Line Actions group that replaces the Setup Actions group in terms of location. The Command Line Actions group executes before the command-line options have been parsed, and the Setup Actions group now executes after the command-line options have been parsed.
Added a new Test Component property to Panes, Actions and Conditions. This property tells the (un)installer whether the given component should be executed when the installer is run in test mode. This allows to disabling things like license panels and other annoying things when a developer is testing.
Changed Test Component feature to Include with more options than just Yes or No.
Added new --test-without-installing command-line build option to pass the --test option to the installer when testing.
Made it legal to pass a directory on the command-line, and the builder will figure out which project file in the directory to use if it can.
When a project is converted to a new version, it is now automatically saved, and a backup is made of the previous project file.
Added new Wizard Height and Wizard Width properties to the Install Features section. These allow the developer to alter the size of the wizard during (un)installation.
Added a new Default Directory Location to the Project Preferences. This property, if set, specifies the Location to use for all files and directories that are direct descendants of a file group if their own Location is not set.
The SetVirtualText API now recognizes update actions and commands on language-specific virtual text. This allows tracking changes to language text.
The SetVirtualText API's -language option now accepts the language code or full language name (en or English, etc...).
The title of the installer and wizard are now specified in the InstallTitleText virtual text. Both will update automatically anytime this virtual text changes.
Windows command-line builds are now done synchronously through a new installjamemr.com binary. This will better allow scripting builds on the Windows platform.
Added a -glob argument to ::InstallAPI::FindProcesses (Windows-only currently).
Installers will now focus on the Next button by default when moving panes.
When editing a property, clicking away from the property will now auto-save the property. You no longer have to hit Return to save the change. This may cause some problems with errors in properties.
Added new Require Response property to the Console Get User Input action. This says that the user cannot provide an empty response and must give something.
Added a Package Databases property to the Register Package action. This allows the developer to specify that they only want to support RPM, DPKG or all package managers. All is the default for backward compatibility.