InstallOptionsEx plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
Line 33: Line 33:
Documentation is available with the plugin DLL download.
Documentation is available with the plugin DLL download.


== Lastest Alpha Version Changes ==
== Lastest Beta Version Changes ==


I thank Scott (alias sheik) for his help in the correction of the bugs in this version.
fter two years since the last beta and 9 alpha versions, this is the new InstallOptionsEx version 2.4.5 beta 2.
*'''Added:''' setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions. Prefer to use the FOCUS flag if you can.
 
*'''Added:''' New control type VLine and HLine (IO patch #1683189).
A lot of bugs were fixed in this version.
 
Two versions of the plugin are available: a legacy version and a version using the new NSIS plugin API.
* The legacy version work with all NSIS versions.
This legacy version can NOT be used as a replacement of the original InstallOptions.dll with Modern UI since in NSIS 2.42.
* The new API version version can NOT work with nsis versions prior to 2.42.
This version version can be used as a replacement of the original InstallOptions.dll with Modern UI since in NSIS 2.42.
 
A big thank to Scott (alias sheik), Daz (alias Dro) and Phalanger for there help to fix bugs of this version.
 
* Compiled with VisualStudio 2008. Smaller dll.
*'''Added:''' setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions.
*'''Added:''' skipValidation dll function: If a page contains fields with MinLen or MaxLen and ValidateText attributes, you can go to the next page by skipping the text validation.
*'''Added:''' New control type VLine and HLine (IO patch _1683189).
*'''Fixed:''' If more than one notify flags is used for a control, any action was notified.
*'''Fixed:''' If more than one notify flags is used for a control, any action was notified.
*'''Fixed:''' VisualStudio 6 errors and warning (In particular, the fopen and sscanf functions are used by default instead of fopen_s and sscanf_s except if you define USE_SECURE_FUNCTIONS in the compilation options (in VisualStudio 2005 only)).
*'''Fixed:''' The fopen_s and sscanf_s functions are used by default instead of fopen and sscanf except if you define NOTUSE_SECURE_FUNCTIONS in the plugin compilation options (VisualStudio 6 only).
*'''Fixed:''' Groupbox and Link controls colors problems.
*'''Fixed:''' Groupbox and Link controls colors problems.
*'''Fixed:''' A filter key problem for button using the OPEN_FILEREQUEST and the SAVE_FILEREQUEST flags, it did not cut the string in items.
*'''Fixed:''' A filter key problem for button using the OPEN_FILEREQUEST and the SAVE_FILEREQUEST flags, it did not cut the string in items.
*'''Fixed:''' A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its State key.
*'''Fixed:''' A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its own State key.
*'''Fixed:''' The Notify=ONCLICK and Notify=ONDBLCLICK didn't work with the Link control.
*'''Fixed:''' The Notify=ONCLICK and Notify=ONDBLCLICK didn't work with the Link control.
*'''Fixed:''' Applied IO Patch that kill some compiler warnings under Linux and mingw32.
*'''Fixed:''' Applied IO Patch that kill some compiler warnings under Linux and mingw32.
*'''Fixed:''' Use installer's name for message boxes (IO patch #1661677).
*'''Fixed:''' Use installer's name for message boxes (IO patch #1661677).
*'''Fixed:''' A memory access violation.
*'''Fixed:''' Transparent icons had a grey background.
* Link and Button can be used in the same way. It was not cleary indicated in this documentation.
* Link and Button can be used in the same way. It was not cleary indicated in this documentation.
* The Notify=ONCLICK is not necessary any more for a link or a button using OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, FONTREQUEST and COLORREQUEST flags to show the dialog. As for if the State key containing something to be executed or opened. Thus the leave function is not called any more unnecessarily.
* The Notify=ONCLICK is not necessary any more for a link or a button using OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, FONTREQUEST and COLORREQUEST flags to show the dialog. As for if the State key containing something to be executed or opened. Thus the leave function is not called any more unnecessarily.
* Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95.
* Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95 (IO patch).
* Disable the X button for InstallOptions pages as well when CancelEnabled is used.
* Disable the X button for InstallOptions pages as well when CancelEnabled is used (IO patch).
 
Changes since the last alpha version:
Compiled with VisualStudio 2008. Smaller dll.
*'''Added:''' skipValidation dll function: If a page contains fields with MinLen or MaxLen and ValidateText attributes, you can go to the next page by skipping the text validation.</li>
*'''Fixed:''' Memory access violation (by phalanger)
*'''Fixed:''' Transparent icons had a grey background (by daz)
*'''New:''' Two versions of the plugin are available: a legacy version and a version using the new NSIS plugin API.


== Credits ==
== Credits ==

Revision as of 20:51, 13 June 2009

Author: deguix (talk, contrib)


Links

Zip.gif InstallOptionsEx2.4.5b2.zip (218 KB) (DLL w/ C++ Source)

Exe.gif InstallOptionsEx2.4.5b2.exe (397 KB) (DLL w/ C++ Source)

InstallOptionsEx Forum Thread

InstallOptionsEx 2.4.5 development Forum Thread

InstallOptionsEx SourceForge Project Page

Description

Version: 2.4.5 beta 2.

This plugin is an extension for the original InstallOptions plug-in you find with NSIS package. For those who want to have a more professional looking NSIS page. See a little bit of the feature list below to entertain yourself:

  • More controls: Animation, ProgressBar, TrackBar, IPAddress, DateTime, MonthCalendar, UpDown, TreeView, ListView, Image (based on already existing ones) and RichText.
  • Extended notification system which you can specify the types of notifications you want a control to support.
  • Supports setting colors and font for most of the controls. Alignment works for some controls.
  • Supports timeout, which makes the plugin to go to the validation function automatically after the specified time.
  • Normal and Balloon ToolTips with color change and a halfway multiline support.
  • Automatic detection of number of controls available in your INI page file.
  • Supports variables as a value for any value name, so you don't need anymore to write several times into an INI file.
  • Flags have been added, like of those Buttons with an image or icon, Checkboxes with "gray" state added...
  • ListBox controls have the multicolumn feature which makes each item to occupy less space of the control.
  • Height and Width value names, have a better organization of controls rectangles.
  • Button and Link controls have the old DirRequest and FileRequest controls abilities so that you can customize the control text and where the result will go of selecting a file or dir.

Documentation is available with the plugin DLL download.

Lastest Beta Version Changes

fter two years since the last beta and 9 alpha versions, this is the new InstallOptionsEx version 2.4.5 beta 2.

A lot of bugs were fixed in this version.

Two versions of the plugin are available: a legacy version and a version using the new NSIS plugin API.

  • The legacy version work with all NSIS versions.

This legacy version can NOT be used as a replacement of the original InstallOptions.dll with Modern UI since in NSIS 2.42.

  • The new API version version can NOT work with nsis versions prior to 2.42.

This version version can be used as a replacement of the original InstallOptions.dll with Modern UI since in NSIS 2.42.

A big thank to Scott (alias sheik), Daz (alias Dro) and Phalanger for there help to fix bugs of this version.

  • Compiled with VisualStudio 2008. Smaller dll.
  • Added: setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions.
  • Added: skipValidation dll function: If a page contains fields with MinLen or MaxLen and ValidateText attributes, you can go to the next page by skipping the text validation.
  • Added: New control type VLine and HLine (IO patch _1683189).
  • Fixed: If more than one notify flags is used for a control, any action was notified.
  • Fixed: The fopen_s and sscanf_s functions are used by default instead of fopen and sscanf except if you define NOTUSE_SECURE_FUNCTIONS in the plugin compilation options (VisualStudio 6 only).
  • Fixed: Groupbox and Link controls colors problems.
  • Fixed: A filter key problem for button using the OPEN_FILEREQUEST and the SAVE_FILEREQUEST flags, it did not cut the string in items.
  • Fixed: A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its own State key.
  • Fixed: The Notify=ONCLICK and Notify=ONDBLCLICK didn't work with the Link control.
  • Fixed: Applied IO Patch that kill some compiler warnings under Linux and mingw32.
  • Fixed: Use installer's name for message boxes (IO patch #1661677).
  • Fixed: A memory access violation.
  • Fixed: Transparent icons had a grey background.
  • Link and Button can be used in the same way. It was not cleary indicated in this documentation.
  • The Notify=ONCLICK is not necessary any more for a link or a button using OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, FONTREQUEST and COLORREQUEST flags to show the dialog. As for if the State key containing something to be executed or opened. Thus the leave function is not called any more unnecessarily.
  • Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95 (IO patch).
  • Disable the X button for InstallOptions pages as well when CancelEnabled is used (IO patch).

Changes since the last alpha version: Compiled with VisualStudio 2008. Smaller dll.

  • Added: skipValidation dll function: If a page contains fields with MinLen or MaxLen and ValidateText attributes, you can go to the next page by skipping the text validation.
  • Fixed: Memory access violation (by phalanger)
  • Fixed: Transparent icons had a grey background (by daz)
  • New: Two versions of the plugin are available: a legacy version and a version using the new NSIS plugin API.

Credits

Original IO version Copyright © 2001 Michael Bishop (locnar42)

IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM

IO DLL version 2 Copyright © 2003-2007 Amir Szekely (kichik), Joost Verburg, Dave Laundon (eccles)

IOEx DLL Copyright © 2004-2005 Diego Pedroso (deguix)

IOEx DLL (starting at v.2.4.5) Copyright © 2006-2007 SuperPat

Compatibility

As of NSIS v2.42, where a new plugin API was implemented, InstallOptionsEx is no longer compatible with the default Modern UI headers. Replacing the standard InstallOptions.dll via a renamed InstallOptionsEx inevitably leads to a crashing installer.

If you wish to continue to use InstallOptionsEx as a drop-in replacement, replace the standard Modern UI headers with those from a pre-v2.42 NSIS release.