2.16

NSIS

Previous | Contents | Next

F.46 2.16

Released on April 7th, 2006

F.46.1 Release Notes

  • The script compiler, makensis, builds and works on big-endian platforms. This change enlarges the portability range of NSIS to theoretically every POSIX platform. Please report any incompatibility with specific platforms or build-tools.
  • The internal changes made to support big-endian platforms also pave the road to x64 installers. There is now a central function which writes data to disk. This function currently only converts the endianity of integers, but it can be changed to selectively write 64-bit integers. Hopefully, there'll soon be a simple method of compiling a script to both x86 and x64 installers.
  • Changing Source/exehead/fileform.h to alter the internal structure of installers is no longer enough. The compiler has its own definitions of the structures which must also be changed in Source/fileform.cpp. In the future, fileform.cpp should be automatically generated from fileform.h, but for now, the synchronization must be done manually.

F.46.2 Changelog

F.46.2.1 Major Changes

  • Big-endian platforms are now fully supported by makensis
  • Library now available on non-Windows platforms as well, although it requires the installed DLL to have version information
  • MakeNSISW 2.1: added "Cancel compilation" menu item

F.46.2.2 New/Changed Commands

F.46.2.3 Minor Changes

  • Added an optional timestamp in the log - NSIS_CONFIG_LOG_TIMESTAMP build setting (RFE #1460586)
  • Added NSIS_WIN32_MAKENSIS define, defined only when compiling on Windows
  • Exported validate_filename to plug-ins
  • Fixed a crash in CResourceEditor when adding resources to a PE that already contains named resources
  • Fixed a small resource leak in the TypeLib::GetLibVersion plug-in function
  • Fixed CResourceEditor input sanity checks
  • Fixed incorrect FileOpen input validation (bug #1459789)
  • Fixed Library failure with DLLs marked as read-only
  • Fixed lzma's POSIX implemention thread synchronization issues and resource leaks
  • Fixed makensis self-path detection on non-Windows platforms (NSIS_CONFIG_CONST_DATA_PATH=no)
  • Fixed replace_icon and generate_uninstall_icon_data icon validation
  • Made external CHM links safer to script exceptions (bug #1449879)
  • Minor documentation improvements and fixes (including bug #1077439, bug #1448374, RFE #1464446)
  • Modern UI 1.75: added show function for the start menu page (RFE #1448176), added MUI_HEADER_TRANSPARENT_TEXT for transparent header texts (RFE #1447766)
  • NSISdl: better header detection for better compatibility with proxies like WinProxy (bug #1445735), fail if no headers are sent, faster downloads (patch #1465378)
  • StartMenu: validate user input (bug #1440636)

F.46.2.4 Translations

  • Added Basque translation
  • Minor Slovenian fixes

F.46.2.5 Build System

  • Added code tests for CResourceEditor and CDialogTemplate
  • Automatically pass build settings to script, eliminating the need to edit build.cpp for new settings
  • Fixed $PREFIX expansion during installation on POSIX platforms (bug #1456943)
  • Fixed CHM dependencies
  • Fixed compatibility issue with EclipseNSIS (version wasn't prefixed with 'v')
  • Fixed GCC 4.1 compatibility (patch #1456861)
  • Test for -Wl,-Map availability

Previous | Contents | Next