+
+
+
+Using the ExperienceUI
+
+
+Implementing the ExperienceUI into your NSIS script is very easy. Many people that use the ExperienceUI will be creating new script files,
+but for those who are upgrading a Modern UI, UltraModernUI, or InstallSpider UI script to the ExperienceUI, all you'll need to do is change
+the include to the ExperienceUI header file.
+
+The ExperienceUI uses a define/macro system. This allows you to define custom colors, bitmaps, and user interface files, but the defaults
+will be used if you don't define anything. You don't need to know that much about NSIS to use the ExperienceUI, because all of the code
+that controls the user interface has been written for you.
+You shouldn't use settings like Icon, CheckBitmap, or ChangeUI, because the ExperienceUI uses its own GUI settings.
+
+If you haven't done so, I recommend that you read the syntax page before diving into this.
+
+
+ If you are creating a new script or upgrading a script from the standard UI
+
+
+ - Include the header file.
+
+ Include the header file with:
+ !include XPUI.nsh.
+ This notifies NSIS that you want to use the ExperienceUI. The XPUI.nsh file is in <NSIS Folder>\Include, so you don't need
+ to specify a path.
+
+ - GUI Settings
+
+ Next, define any settings that apply to the entire installer, like XPUI_ICON, XPUI_TEXT_COLOR and such. Actually, while this is the best
+ place to define visual settings, you can really define settings like these anywhere before you insert the first language file.
+
+ - Installer Pages
+
+ Insert pages into the script.
+ Read about page settings...
+
+
+ - Your own sections and functions
+
+ Now, insert your own code into the script. This is usually your own sections, functions, and such. For more information about
+ sections and functions, please refer to the NSIS users manual.
+
+ - Custom code for ExperienceUI pages
+
+ You can add your own code to the ExperienceUI page macros. For each page in the installer, you can insert three functions, one
+ before the page is initialized, one when the page is about to be shown, and one after the page is finished. More about custom functions...
+
+ - Your own pages
+
+ NSIS 2 features a plugin system that allows you to insert your own pages. Refer to the NSIS users' guide for information on how
+ to use InstallOptions to create custom pages.
+
+ To insert a custom page, use the Page command between ExperienceUI page macros at the point where you want your page to appear.
+ Then, use the ExperienceUI's InstallOptions Macros to display the page.
+
+ Here is an example custom page:
+
+
+ !insertmacro XPUI_PAGE_WELCOME
+ !insertmacro XPUI_PAGE_COMPONENTS
+ ; this page will be in between the Components and Install Confirm pages
+ Page custom CstmPage "" " - Custom Page!"
+ !insertmacro XPUI_PAGE_INSTCONFIRM
+
+ Function CstmPage
+ !insertmacro XPUI_INSTALLOPTIONS_EXTRACT MyPage.ini
+ !insertmacro XPUI_INSTALLOPTIONS_SHOW "MyPage.ini"
+ FunctionEnd
+
+
+
+
+ - Section Descriptions
+
+ Now, you can insert section descriptions. If you are using a components page, you can set a description of each component to appear when the
+ user positions the mouse over an item in the list. Read more...
+
+
+ - Language Files
+
+ Insert languages into your installer.
+ The languages included with the ExperienceUI are English, French, German, PortugueseBR (Brazilian Portuguese), and Spanish.
+
+ You must insert at least one language into your installer in order for the ExperienceUI to work properly.
+
+ !insertmacro XPUI_LANGUAGE "English"
+ !insertmacro XPUI_LANGUAGE "PortugueseBR"
+
+ You don't need to insert XPUI_FUNCTION_GUIINIT anymore, because it is now inserted the first time you insert a language.
+
+
+
+ Converting a Modern UI, UltraModern UI, or InstallSpider UI script
+
+ You can use an existing script that uses the Modern UI, UltraModern UI, or InstallSpider UI with the ExperienceUI. The ExperienceUI
+ includes special code that converts all known Modern UI defines to ExperienceUI-compatible settings. This is much like WINE for Linux.
+ WINE is not Windows, it just can look that way because of special code. The ExperienceUI works the same way. While the ExperienceUI
+ can understand Modern UI-compatible scripts, its underlying architecture is completely different.
+
+ I can do this using a feature known as dummy macros. If you insert, for example, MUI_PAGE_WELCOME, the ExperienceUI will automatically
+ substitute XPUI_PAGE_WELCOME (or XPUI_PAGE_WELCOME2 if UMUI_USE_ALTERNATE_PAGE is defined)
+
+ To use the ExperienceUI in a Modern UI, UltraModern UI, or InstallSpider UI script, just change the include. Example:
+
+ Old:
+ !include "MUI.nsh" ; or UMUI.nsh or ISUI.nsh...
+
+
+ New:
+ !include "XPUI.nsh"
+
+
+
+
+
+
+ |
+
+
+
+