Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
authorDan
Tue, 16 Oct 2007 00:07:41 -0400
changeset 0 d5ce4c64ef88
child 1 99d4be98d3cc
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Contrib/ExperienceUI/ExperienceUIFileList.nsh
Contrib/ExperienceUI/INI/Confirm.ini
Contrib/ExperienceUI/INI/Confirm_rep.ini
Contrib/ExperienceUI/INI/Finish.ini
Contrib/ExperienceUI/INI/Instdir.ini
Contrib/ExperienceUI/INI/LangDlg.ini
Contrib/ExperienceUI/INI/MBSide.ini
Contrib/ExperienceUI/INI/Maint.ini
Contrib/ExperienceUI/INI/StartMenu.ini
Contrib/ExperienceUI/INI/Welcome.ini
Contrib/ExperienceUI/INI/ioSpecial.ini
Contrib/ExperienceUI/INI/isWelcome.ini
Contrib/ExperienceUI/INI/repair.ini
Contrib/ExperienceUI/Lang.nsh
Contrib/ExperienceUI/Langpage.nsi
Contrib/ExperienceUI/Language Files/Default.nsh
Contrib/ExperienceUI/Language Files/English.nsh
Contrib/ExperienceUI/Language Files/French.nsh
Contrib/ExperienceUI/Language Files/German.nsh
Contrib/ExperienceUI/Language Files/Italian.nsh
Contrib/ExperienceUI/Language Files/PortugueseBR.nsh
Contrib/ExperienceUI/Language Files/Spanish.nsh
Contrib/ExperienceUI/LargeLogo.gif
Contrib/ExperienceUI/License.rtf
Contrib/ExperienceUI/MUIConvert.nsh
Contrib/ExperienceUI/Skins/Bliss/Bottom.bmp
Contrib/ExperienceUI/Skins/Bliss/Checks.bmp
Contrib/ExperienceUI/Skins/Bliss/Gen.bmp
Contrib/ExperienceUI/Skins/Bliss/Header.bmp
Contrib/ExperienceUI/Skins/Bliss/LeftLogo.bmp
Contrib/ExperienceUI/Skins/Bliss/genex.bmp
Contrib/ExperienceUI/Skins/Default/Bottom.bmp
Contrib/ExperienceUI/Skins/Default/Header.bmp
Contrib/ExperienceUI/Skins/Default/LeftBranding.bmp
Contrib/ExperienceUI/Skins/Forum/Bottom.bmp
Contrib/ExperienceUI/Skins/Forum/Checks.bmp
Contrib/ExperienceUI/Skins/Forum/Gen.bmp
Contrib/ExperienceUI/Skins/Forum/Header.bmp
Contrib/ExperienceUI/Skins/Forum/LeftLogo.bmp
Contrib/ExperienceUI/Skins/Forum/genex.bmp
Contrib/ExperienceUI/Skins/LCD/Bottom.bmp
Contrib/ExperienceUI/Skins/LCD/Checks.bmp
Contrib/ExperienceUI/Skins/LCD/Gen.bmp
Contrib/ExperienceUI/Skins/LCD/Header.bmp
Contrib/ExperienceUI/Skins/LCD/LeftLogo.bmp
Contrib/ExperienceUI/Skins/LCD/genex.bmp
Contrib/ExperienceUI/Skins/Modern-Blue/Icon.ico
Contrib/ExperienceUI/Skins/Modern-Blue/bottom.bmp
Contrib/ExperienceUI/Skins/Modern-Blue/header.bmp
Contrib/ExperienceUI/Skins/Modern-Blue/leftbranding.bmp
Contrib/ExperienceUI/Skins/Modern-Blue/unicon.ico
Contrib/ExperienceUI/Skins/Orange/Bottom.bmp
Contrib/ExperienceUI/Skins/Orange/Header.bmp
Contrib/ExperienceUI/Skins/Orange/LeftBranding.bmp
Contrib/ExperienceUI/Skins/Windows XP.xpuiskin
Contrib/ExperienceUI/Skins/Windows XP/BtmImg.bmp
Contrib/ExperienceUI/Skins/Windows XP/Header.bmp
Contrib/ExperienceUI/Skins/Windows XP/Icon.ico
Contrib/ExperienceUI/Skins/Windows XP/Key.bmp
Contrib/ExperienceUI/Skins/Windows XP/LeftBranding.bmp
Contrib/ExperienceUI/Skins/Windows XP/Spotlight.bmp
Contrib/ExperienceUI/Skins/Windows XP/UnIcon.ico
Contrib/ExperienceUI/Skins/modern-blue.xpuiskin
Contrib/ExperienceUI/Skins/orange.xpuiskin
Contrib/ExperienceUI/UIs/BGui.exe
Contrib/ExperienceUI/UIs/Headerui.exe
Contrib/ExperienceUI/UIs/UI.exe
Contrib/ExperienceUI/UIs/WAnsis_ui.exe
Contrib/ExperienceUI/UIs/headerui_btmimg.exe
Contrib/ExperienceUI/UIs/tinyui.exe
Contrib/ExperienceUI/Uninst.exe
Contrib/ExperienceUI/Utils/Source/PatchGen.ini
Contrib/ExperienceUI/Utils/Source/PatchGen.nsi
Contrib/ExperienceUI/Utils/Source/Patcher.ico
Contrib/ExperienceUI/Utils/Source/Patcher.nsi
Contrib/ExperienceUI/Utils/Source/SigVerify.exe
Contrib/ExperienceUI/Utils/Source/Update.ico
Contrib/ExperienceUI/Utils/Source/UpdateWiz.nsi
Contrib/ExperienceUI/Utils/Source/Updater.ini
Contrib/ExperienceUI/Utils/XPUIRes.dll
Contrib/ExperienceUI/Utils/icon-patch.ico
Contrib/ExperienceUI/Utils/icon-skin.ico
Contrib/ExperienceUI/XPUI-Setup.nsi
Contrib/ExperienceUI/XPUI.nsh
Contrib/Graphics/Icons/XPUI-install.ico
Contrib/Graphics/Icons/XPUI-uninstall.ico
Docs/ExperienceUI/Images/ScreenShot1.png
Docs/ExperienceUI/Images/ScreenShot2.png
Docs/ExperienceUI/Images/XPUILogo.png
Docs/ExperienceUI/Images/link.gif
Docs/ExperienceUI/Images/minus.gif
Docs/ExperienceUI/Images/nsis.gif
Docs/ExperienceUI/Images/plus.gif
Docs/ExperienceUI/Images/sourceforge.gif
Docs/ExperienceUI/Images/spacer.gif
Docs/ExperienceUI/help.ico
Docs/ExperienceUI/index.htm
Docs/ExperienceUI/open_popup.hta
Docs/ExperienceUI/pages/browser.htm
Docs/ExperienceUI/pages/browser/back.bmp
Docs/ExperienceUI/pages/browser/back_o.bmp
Docs/ExperienceUI/pages/browser/exit.bmp
Docs/ExperienceUI/pages/browser/exit_o.bmp
Docs/ExperienceUI/pages/browser/forward.bmp
Docs/ExperienceUI/pages/browser/forward_o.bmp
Docs/ExperienceUI/pages/browser/go.bmp
Docs/ExperienceUI/pages/browser/go_o.bmp
Docs/ExperienceUI/pages/browser/hide.bmp
Docs/ExperienceUI/pages/browser/hide_o.bmp
Docs/ExperienceUI/pages/browser/home.bmp
Docs/ExperienceUI/pages/browser/home_o.bmp
Docs/ExperienceUI/pages/browser/refresh.bmp
Docs/ExperienceUI/pages/browser/refresh_o.bmp
Docs/ExperienceUI/pages/build_setup.htm
Docs/ExperienceUI/pages/changes.htm
Docs/ExperienceUI/pages/cmd.js
Docs/ExperienceUI/pages/custfunc.htm
Docs/ExperienceUI/pages/gui_macros.htm
Docs/ExperienceUI/pages/history.htm
Docs/ExperienceUI/pages/intro.htm
Docs/ExperienceUI/pages/io.htm
Docs/ExperienceUI/pages/lang.htm
Docs/ExperienceUI/pages/legal.htm
Docs/ExperienceUI/pages/license_agreement.htm
Docs/ExperienceUI/pages/macros.htm
Docs/ExperienceUI/pages/page_macros.htm
Docs/ExperienceUI/pages/page_settings.htm
Docs/ExperienceUI/pages/pagemode.htm
Docs/ExperienceUI/pages/patch.htm
Docs/ExperienceUI/pages/secdesc.htm
Docs/ExperienceUI/pages/skin.htm
Docs/ExperienceUI/pages/startmenu.htm
Docs/ExperienceUI/pages/style.css
Docs/ExperienceUI/pages/syntax.htm
Docs/ExperienceUI/pages/useful_macros.htm
Docs/ExperienceUI/pages/using.htm
Docs/ExperienceUI/pages/visual_settings.htm
Docs/ExperienceUI/pages/wansis.htm
Docs/ExperienceUI/pages/welcome.htm
Docs/ExperienceUI/toc.htm
Examples/ExperienceUI/Basic.nsi
Examples/ExperienceUI/Data/HEY!!! Put Your Install Data in this folder!!!.txt
Examples/ExperienceUI/HeaderBitmap.nsi
Examples/ExperienceUI/InstallOptions.nsi
Examples/ExperienceUI/MultiLang.nsi
Examples/ExperienceUI/Realworld.nsi
Examples/ExperienceUI/StartMenu.nsi
Examples/ExperienceUI/UmuiImport.nsi
Examples/ExperienceUI/WAnsis.nsi
Examples/ExperienceUI/WelcomeFinish.nsi
Examples/ExperienceUI/ioA.ini
Examples/ExperienceUI/ioB.ini
Examples/ExperienceUI/ioC.ini
Include/NSISArray.nsh
Include/RecFind.nsh
Include/XPUI.nsh
Include/system.nsh
Plugins/DcryptDll.dll
Plugins/NSISArray.dll
Plugins/WAnsis.dll
Plugins/ZipDLL.dll
Plugins/messagebox.dll
Plugins/newadvsplash.dll
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/ExperienceUIFileList.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,306 @@
+${SectionRO} "ExperienceUI Base Files" Base "The files required in order for the ExperienceUI to function.  This component must be installed."
+  SectionIn 1 2 3
+  ${SetOutPath} $INSTDIR
+  ${File} XPUI.nsh XPUI.nsh
+  ${File} Lang.nsh Lang.nsh
+  ${File} MUIConvert.nsh MUIConvert.nsh
+  ${File} ExperienceUIFileList.nsh ExperienceUIFileList.nsh
+  ${File} License.rtf License.rtf
+  ${File} Langpage.nsi Langpage.nsi
+  ${File} XPUI-Setup.nsi XPUI-Setup.nsi
+  ${SetOutPath} $INSTDIR\INI
+  ${File} Confirm.ini INI\Confirm.ini
+  ${File} Confirm_rep.ini INI\Confirm_rep.ini
+  ${File} Finish.ini INI\Finish.ini
+  ${File} Instdir.ini INI\Instdir.ini
+  ${File} ioSpecial.ini INI\ioSpecial.ini
+  ${File} isWelcome.ini INI\isWelcome.ini
+  ${File} LangDlg.ini INI\LangDlg.ini
+  ${File} Maint.ini INI\Maint.ini
+  ${File} MBSide.ini INI\MBSide.ini
+  ${File} StartMenu.ini INI\StartMenu.ini
+  ${File} repair.ini INI\Repair.ini
+  ${File} Welcome.ini INI\Welcome.ini
+  ${SetOutPath} "$INSTDIR\Language Files"
+  ${File} English.nsh "Language Files\English.nsh"
+  ${File} Default.nsh "Language Files\Default.nsh"
+  ${File} PortugueseBR.nsh "Language Files\PortugueseBR.nsh"
+  ${File} Spanish.nsh "Language Files\Spanish.nsh"
+  ${File} French.nsh "Language Files\French.nsh"
+  ${File} German.nsh "Language Files\German.nsh"
+  ${File} Italian.nsh "Language Files\Italian.nsh"
+  ${SetOutPath} $INSTDIR\UIs
+  ${File} BGui.exe UIs\bgui.exe
+  ${File} Headerui.exe UIs\headerui.exe
+  ${File} headerui_btmimg.exe UIs\headerui_btmimg.exe
+  ${File} tinyui.exe UIs\tinyui.exe
+  ${File} UI.exe UIs\UI.exe
+  ${File} WAnsis_ui.exe UIs\WAnsis_ui.exe
+  ${SetOutPath} $INSTDIR\..\..\Plugins
+  ${File} WAnsis.dll ..\..\Plugins\WAnsis.dll
+  ${File} ZipDLL.dll ..\..\Plugins\ZipDLL.dll
+  SetOverwrite off
+  File ..\..\Plugins\newadvsplash.dll
+  File ..\..\Plugins\NSISArray.dll
+  File ..\..\Plugins\messagebox.dll
+  File ..\..\Plugins\DCryptDll.dll
+  SetOverwrite on
+  ${SetOutPath} $INSTDIR\Utils
+  ${File} XPUIRes.dll Utils\XPUIRes.dll
+  ${SetOutPath} $INSTDIR\..\Graphics\Icons
+  ${File} XPUI-install.ico ..\Graphics\Icons\XPUI-install.ico
+  ${File} XPUI-uninstall.ico ..\Graphics\Icons\XPUI-uninstall.ico
+  ${SetOutPath} $INSTDIR\..\..\Include
+  ${File} XPUI.nsh ..\..\Include\XPUI.nsh
+  ${File} RecFind.nsh ..\..\Include\RecFind.nsh
+  ${File} NSISArray.nsh ..\..\Include\NSISArray.nsh
+  FileOpen $1 $INSTDIR\..\..\Include\XPUI.nsh w
+    ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString"
+    StrCpy $0 $0 "" 1
+    StrCpy $0 $0 -17
+    FileWrite $1 `!define XPUI_SYSDIR "$INSTDIR"$\r$\n!include "$INSTDIR\XPUI.nsh"$\r$\n`
+  FileClose $1
+  FileOpen $1 $INSTDIR\..\..\Include\system.nsh w
+    ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString"
+    StrCpy $0 $0 "" 1
+    StrCpy $0 $0 -17
+    FileWrite $1 `!include "$0\Examples\System\SysFunc.nsh"$\r$\n`
+  FileClose $1
+${SectionEnd}
+
+${Section} "Additional Utilities" Utils "Several utilities that make working with the ExperienceUI easier.  These include the Update Wizard, to make sure you have the latest version, and the patching system, for installing updates and skins"
+  SectionIn 1 2
+  ${SetOutPath} $INSTDIR\Utils\Source
+  ${File} Patcher.ico Utils\Source\patcher.ico
+  ${File} Patcher.nsi Utils\Source\patcher.nsi
+  ${File} Update.ico  Utils\Source\Update.ico
+  ${File} Updater.ini Utils\Source\Updater.ini
+  ${File} UpdateWiz.nsi Utils\Source\UpdateWiz.nsi
+  ${File} PatchGen.nsi Utils\Source\PatchGen.nsi
+  ${File} PatchGen.ini Utils\Source\PatchGen.ini
+  ${File} SigVerify.exe Utils\Source\SigVerify.exe
+  ${SetOutPath} $INSTDIR\Utils
+  ${File} icon-skin.ico Utils\icon-skin.ico
+  ${File} icon-patch.ico Utils\icon-patch.ico
+  !ifdef XPUI_SETUP_SPLASH
+  ${SetOutPath} $INSTDIR
+  ${File} LargeLogo.gif LargeLogo.gif
+  !endif
+  StrCpy $INSTALL_UTILS 1
+${SectionEnd}
+
+${Section} "ExperienceUI SDK Documentation" Docs "The complete documentation suite for the ExperienceUI SDK.  Highly recommended."
+  SectionIn 1 2
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI"
+  ${File} help.ico "..\..\Docs\ExperienceUI\help.ico"
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI\Images"
+  ${File} link.gif "..\..\Docs\ExperienceUI\Images\link.gif"
+  ${File} minus.gif "..\..\Docs\ExperienceUI\Images\minus.gif"
+  ${File} nsis.gif "..\..\Docs\ExperienceUI\Images\nsis.gif"
+  ${File} plus.gif "..\..\Docs\ExperienceUI\Images\plus.gif"
+  ${File} ScreenShot1.png "..\..\Docs\ExperienceUI\Images\ScreenShot1.png"
+  ${File} ScreenShot2.png "..\..\Docs\ExperienceUI\Images\ScreenShot2.png"
+  ${File} sourceforge.gif "..\..\Docs\ExperienceUI\Images\sourceforge.gif"
+  ${File} spacer.gif "..\..\Docs\ExperienceUI\Images\spacer.gif"
+  ${File} XPUILogo.png "..\..\Docs\ExperienceUI\Images\XPUILogo.png"
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI"
+  ${File} index.htm "..\..\Docs\ExperienceUI\index.htm"
+  ${File} open_popup.hta "..\..\Docs\ExperienceUI\open_popup.hta"
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI\pages\browser"
+  ${File} back.bmp "..\..\Docs\ExperienceUI\pages\browser\back.bmp"
+  ${File} back_o.bmp "..\..\Docs\ExperienceUI\pages\browser\back_o.bmp"
+  ${File} exit.bmp "..\..\Docs\ExperienceUI\pages\browser\exit.bmp"
+  ${File} exit_o.bmp "..\..\Docs\ExperienceUI\pages\browser\exit_o.bmp"
+  ${File} forward.bmp "..\..\Docs\ExperienceUI\pages\browser\forward.bmp"
+  ${File} forward_o.bmp "..\..\Docs\ExperienceUI\pages\browser\forward_o.bmp"
+  ${File} go.bmp "..\..\Docs\ExperienceUI\pages\browser\go.bmp"
+  ${File} go_o.bmp "..\..\Docs\ExperienceUI\pages\browser\go_o.bmp"
+  ${File} hide.bmp "..\..\Docs\ExperienceUI\pages\browser\hide.bmp"
+  ${File} hide_o.bmp "..\..\Docs\ExperienceUI\pages\browser\hide_o.bmp"
+  ${File} home.bmp "..\..\Docs\ExperienceUI\pages\browser\home.bmp"
+  ${File} home_o.bmp "..\..\Docs\ExperienceUI\pages\browser\home_o.bmp"
+  ${File} refresh.bmp "..\..\Docs\ExperienceUI\pages\browser\refresh.bmp"
+  ${File} refresh_o.bmp "..\..\Docs\ExperienceUI\pages\browser\refresh_o.bmp"
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI\pages"
+  ${File} browser.htm "..\..\Docs\ExperienceUI\pages\browser.htm"
+  ${File} build_setup.htm "..\..\Docs\ExperienceUI\pages\build_setup.htm"
+  ${File} changes.htm "..\..\Docs\ExperienceUI\pages\changes.htm"
+  ${File} cmd.js "..\..\Docs\ExperienceUI\pages\cmd.js"
+  ${File} custfunc.htm "..\..\Docs\ExperienceUI\pages\custfunc.htm"
+  ${File} gui_macros.htm "..\..\Docs\ExperienceUI\pages\gui_macros.htm"
+  ${File} history.htm "..\..\Docs\ExperienceUI\pages\history.htm"
+  ${File} intro.htm "..\..\Docs\ExperienceUI\pages\intro.htm"
+  ${File} io.htm "..\..\Docs\ExperienceUI\pages\io.htm"
+  ${File} lang.htm "..\..\Docs\ExperienceUI\pages\lang.htm"
+  ${File} legal.htm "..\..\Docs\ExperienceUI\pages\legal.htm"
+  ${File} license_agreement.htm "..\..\Docs\ExperienceUI\pages\license_agreement.htm"
+  ${File} macros.htm "..\..\Docs\ExperienceUI\pages\macros.htm"
+  ${File} pagemode.htm "..\..\Docs\ExperienceUI\pages\pagemode.htm"
+  ${File} page_macros.htm "..\..\Docs\ExperienceUI\pages\page_macros.htm"
+  ${File} page_settings.htm "..\..\Docs\ExperienceUI\pages\page_settings.htm"
+  ${File} patch.htm "..\..\Docs\ExperienceUI\pages\patch.htm"
+  ${File} secdesc.htm "..\..\Docs\ExperienceUI\pages\secdesc.htm"
+  ${File} skin.htm "..\..\Docs\ExperienceUI\pages\skin.htm"
+  ${File} startmenu.htm "..\..\Docs\ExperienceUI\pages\startmenu.htm"
+  ${File} style.css "..\..\Docs\ExperienceUI\pages\style.css"
+  ${File} syntax.htm "..\..\Docs\ExperienceUI\pages\syntax.htm"
+  ${File} useful_macros.htm "..\..\Docs\ExperienceUI\pages\useful_macros.htm"
+  ${File} using.htm "..\..\Docs\ExperienceUI\pages\using.htm"
+  ${File} visual_settings.htm "..\..\Docs\ExperienceUI\pages\visual_settings.htm"
+  ${File} wansis.htm "..\..\Docs\ExperienceUI\pages\wansis.htm"
+  ${File} welcome.htm "..\..\Docs\ExperienceUI\pages\welcome.htm"
+  ${SetOutPath} "$INSTDIR\..\..\Docs\ExperienceUI"
+  ${File} toc.htm "..\..\Docs\ExperienceUI\toc.htm"
+  StrCpy $INSTALL_DOCS 1
+${SectionEnd}
+
+${Section} "Example Pack" Examples "Example scripts, to get you started"
+  SectionIn 1 2
+  ${SetOutPath} "$INSTDIR\..\..\Examples\ExperienceUI\Data"
+  ${File} "HEY!!! Put Your Install Data in this folder!!!.txt" "..\..\Examples\ExperienceUI\Data\HEY!!! Put Your Install Data in this folder!!!.txt"
+  ${CopyFiles} $WINDIR\Notepad.exe Notepad.exe
+  ${SetOutPath} "$INSTDIR\..\..\Examples\ExperienceUI"
+  ${File} Basic.nsi "..\..\Examples\ExperienceUI\Basic.nsi"
+  ${File} HeaderBitmap.nsi "..\..\Examples\ExperienceUI\HeaderBitmap.nsi"
+  ${File} InstallOptions.nsi "..\..\Examples\ExperienceUI\InstallOptions.nsi"
+  ${File} ioA.ini "..\..\Examples\ExperienceUI\ioA.ini"
+  ${File} ioB.ini "..\..\Examples\ExperienceUI\ioB.ini"
+  ${File} ioC.ini "..\..\Examples\ExperienceUI\ioC.ini"
+  ${File} MultiLang.nsi "..\..\Examples\ExperienceUI\MultiLang.nsi"
+  ${File} Realworld.nsi "..\..\Examples\ExperienceUI\Realworld.nsi"
+  ${File} StartMenu.nsi "..\..\Examples\ExperienceUI\StartMenu.nsi"
+  ${File} UmuiImport.nsi "..\..\Examples\ExperienceUI\UmuiImport.nsi"
+  ${File} WAnsis.nsi "..\..\Examples\ExperienceUI\WAnsis.nsi"
+  ${File} WelcomeFinish.nsi "..\..\Examples\ExperienceUI\WelcomeFinish.nsi"
+  StrCpy $INSTALL_EX 1
+${SectionEnd}
+
+SectionGroup "Extra Skins"
+  ${SectionRO} "Default Skin" DefSkin "The default skin.  This must be installed."
+    SectionIn 1 2 3
+    ${SetOutPath} $INSTDIR\Skins\Default
+    ${File} Bottom.bmp Skins\Default\Bottom.bmp
+    ${File} Header.bmp Skins\Default\Header.bmp
+    ${File} LeftBranding.bmp Skins\Default\LeftBranding.bmp
+  ${SectionEnd}
+
+  ${Section} "Windows XP Skin" WinXPSkin "A skin that looks like the annoying OOBE (out of box experience) wizard that shows when you (re)install Windows XP."
+    SectionIn 1 2
+    ${SetOutPath} "$INSTDIR\Skins\Windows XP"
+    ${File} BtmImg.bmp "Skins\Windows XP\BtmImg.bmp"
+    ${File} Header.bmp "Skins\Windows XP\Header.bmp"
+    ${File} Icon.ico "Skins\Windows XP\Icon.ico"
+    ${File} Key.bmp "Skins\Windows XP\Key.bmp"
+    ${File} LeftBranding.bmp "Skins\Windows XP\leftbranding.bmp"
+    ${File} Spotlight.bmp "Skins\Windows XP\Spotlight.bmp"
+    ${File} UnIcon.ico "Skins\Windows XP\UnIcon.ico"
+    ${SetOutPath} $INSTDIR\Skins
+    ${File} "Windows XP.xpuiskin" "Skins\Windows XP.xpuiskin"
+  ${SectionEnd}
+
+  ${Section} "Orange Skin" OrangeSkin "This skin has a tropical orange color scheme."
+    SectionIn 1
+    ${SetOutPath} $INSTDIR\Skins\Orange
+    ${File} Header.bmp Skins\Orange\Header.bmp
+    ${File} Bottom.bmp Skins\Orange\Bottom.bmp
+    ${File} LeftBranding.bmp Skins\Orange\LeftBranding.bmp
+    ${SetOutPath} $INSTDIR\Skins
+    ${File} orange.xpuiskin Skins\Orange.xpuiskin
+  ${SectionEnd}
+
+  ${Section} "Modern Blue Skin" MBSkin "A skin with peaceful blue tones"
+    SectionIn 1
+    ${SetOutPath} $INSTDIR\Skins\Modern-Blue
+    ${File} bottom.bmp skins\modern-blue\bottom.bmp
+    ${File} header.bmp skins\modern-blue\header.bmp
+    ${File} leftbranding.bmp skins\modern-blue\leftbranding.bmp
+    ${File} Icon.ico skins\modern-blue\icon.ico
+    ${File} unicon.ico skins\modern-blue\unicon.ico
+    ${SetOutPath} $INSTDIR\Skins
+    ${File} modern-blue.xpuiskin skins\modern-blue.xpuiskin
+  ${SectionEnd}
+
+  SectionGroup "WAnsis Skins"
+    ${SectionRO} "Winamp Forum Skin" ForumWANSkin "Looks the the Winamp forums.  This is the default WAnsis skin and as a result must be installed.  The Forum skin was designed by ZmAn3."
+      SectionIn 1 2 3
+      ${SetOutPath} $INSTDIR\Skins\Forum
+      ${File} Bottom.bmp Skins\Forum\Bottom.bmp
+      ${File} Checks.bmp Skins\Forum\Checks.bmp
+      ${File} Gen.bmp Skins\Forum\Gen.bmp
+      ${File} genex.bmp Skins\Forum\Genex.bmp
+      ${File} Header.bmp Skins\Forum\Header.bmp
+      ${File} LeftLogo.bmp Skins\Forum\LeftLogo.bmp
+    ${SectionEnd}
+
+    ${Section} "Bliss Skin" BlissWANSkin "A metallic blue take-off on the InstallShield(R) skin, but with more features"
+      SectionIn 1 2
+      ${SetOutPath} $INSTDIR\Skins\Bliss
+      ${File} Bottom.bmp Skins\Bliss\Bottom.bmp
+      ${File} Checks.bmp Skins\Bliss\Checks.bmp
+      ${File} Gen.bmp Skins\Bliss\Gen.bmp
+      ${File} genex.bmp Skins\Bliss\Genex.bmp
+      ${File} Header.bmp Skins\Bliss\Header.bmp
+      ${File} LeftLogo.bmp Skins\Bliss\LeftLogo.bmp
+    ${SectionEnd}
+
+    ${Section} "LCD Skin" LCDWANSkin "Sort of a pea soup green, but wicked cool :-).  This skin looks good in installers for games and such.  This skin was designed by ZmAn3."
+      SectionIn 1
+      ${SetOutPath} $INSTDIR\Skins\LCD
+      ${File} Bottom.bmp Skins\LCD\Bottom.bmp
+      ${File} Checks.bmp Skins\LCD\Checks.bmp
+      ${File} Gen.bmp Skins\LCD\Gen.bmp
+      ${File} genex.bmp Skins\LCD\Genex.bmp
+      ${File} Header.bmp Skins\LCD\Header.bmp
+      ${File} LeftLogo.bmp Skins\LCD\LeftLogo.bmp
+    ${SectionEnd}
+  SectionGroupEnd
+SectionGroupEnd
+
+Section -post
+  StrCmp $INSTALL_UTILS 1 "" NoUtilsA
+    SetDetailsPrint both
+    DetailPrint "Compiling update wizard..."
+    nsExec::Exec `"$INSTDIR\..\..\MakeNSIS.exe" "$INSTDIR\Utils\Source\UpdateWiz.nsi"`
+    Pop $0
+    DetailPrint "   ...MakeNSIS returned $0"
+    DetailPrint "Compiling patch installer..."
+    nsExec::Exec `"$INSTDIR\..\..\MakeNSIS.exe" "$INSTDIR\Utils\Source\Patcher.nsi"`
+    Pop $0
+    DetailPrint "   ...MakeNSIS returned $0"
+    DetailPrint "Compiling patch generator..."
+    nsExec::Exec `"$INSTDIR\..\..\MakeNSIS.exe" "$INSTDIR\Utils\Source\PatchGen.nsi"`
+    Pop $0
+    DetailPrint "   ...MakeNSIS returned $0"
+    WriteRegStr   HKCR XPUI_P "" "ExperienceUI Patch"
+    WriteRegStr   HKCR XPUI_P\Shell "" Install
+    WriteRegStr   HKCR XPUI_P\Shell\Install\Command '' '"$INSTDIR\utils\PatchInstaller.exe" %1'
+    WriteRegStr   HKCR XPUI_P\DefaultIcon '' '"$INSTDIR\utils\icon-patch.ico"'
+    WriteRegStr   HKCR .eup "" XPUI_P
+
+    WriteRegStr   HKCR XPUI_S "" "ExperienceUI Skin"
+    WriteRegStr   HKCR XPUI_S\Shell "" Install
+    WriteRegStr   HKCR XPUI_S\Shell\Install\Command '' '"$INSTDIR\utils\PatchInstaller.exe" %1'
+    WriteRegStr   HKCR XPUI_S\DefaultIcon '' '"$INSTDIR\utils\icon-skin.ico"'
+    WriteRegStr   HKCR .eus "" XPUI_S
+    System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
+    SetDetailsPrint both
+  NoUtilsA:
+SectionEnd
+
+${SectionHidden} "cm-post" "sec.cmpost"
+  ${StartMenu} App $SMFOLDER
+    ${CreateShortcut} "ExperienceUI Installation Folder" "$INSTDIR` `` `$INSTDIR\Utils\XPUIRes.dll` `6"
+    StrCmp $INSTALL_EX 1 "" NoEx
+      ${CreateShortcut} "Example Scripts" "$WINDIR\Explorer.exe` `$INSTDIR\..\..\Examples\ExperienceUI` `$SYSDIR\Shell32.dll` `4"
+    NoEx:
+    StrCmp $INSTALL_DOCS 1 "" NoDocs
+      ${CreateShortcut} "ExperienceUI Documentation" "$INSTDIR\..\..\Docs\ExperienceUI\open_popup.hta` `` `$INSTDIR\..\..\Docs\ExperienceUI\help.ico` `0"
+    NoDocs:
+    ${CreateShortcut} "Uninstall the ExperienceUI" "$INSTDIR\Uninst.exe"
+
+    StrCmp $INSTALL_UTILS 1 "" NoUtils
+      ${CreateShortcut} "Check for Updates" "$INSTDIR\Utils\Updater.exe"
+      ${CreateShortcut} "Patch Generator" "$INSTDIR\Utils\PatchGen.exe"
+    NoUtils:
+  ${StartMenuEnd}
+${SectionEnd}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Confirm.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,34 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=4
+
+[Field 1]
+Type=Label
+Text=The installer is ready to install My Program on your computer.
+Left=10
+Right=-1
+Top=3
+Bottom=27
+
+[Field 2]
+Type=Label
+Text=Click "Next" to start the installation.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nThis setup program was written in NSIS by Dan Fuhry, aka dandaman32.\r\nIf you are interested in having Dan write a setup program for you,\r\nhis e-mail address is dandaman32@users.sourceforge.net.
+Left=10
+Right=-1
+Top=27
+Bottom=-17
+
+[Field 3]
+Type=Label
+Left=-51
+Right=1457
+Top=-17
+Bottom=851
+
+[Field 4]
+Type=Label
+Left=0
+Right=-51
+Top=-17
+Bottom=851
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Confirm_rep.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,32 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=3
+NextButtonText=Next
+BackEnabled=1
+State=0
+
+[Field 1]
+Type=Button
+Text=Repair
+Flags=NOTIFY
+Left=-61
+Right=-9
+Top=-25
+Bottom=-9
+
+[Field 2]
+Type=Label
+Text=The installer is ready to install My Program on your computer.
+Left=0
+Right=-1
+Top=3
+Bottom=27
+
+[Field 3]
+Type=Label
+Text=Click "Next" to start the installation.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nThis setup program was written in NSIS by Dan Fuhry, aka DanTheMan.\r\nIf you are interested in having Dan write a setup program for you,\r\nhis e-mail address is dandaman32@users.sourceforge.net.
+Left=0
+Right=343
+Top=30
+Bottom=182
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Finish.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,47 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=5
+
+[Field 1]
+Type=Checkbox
+Text=Start <NAME> now
+Left=0
+Right=-1
+Top=160
+Bottom=169
+State=1
+
+[Field 2]
+Type=Checkbox
+Text=View the documentation for <NAME>
+Left=0
+Right=-1
+Top=174
+Bottom=185
+State=1
+
+[Field 3]
+Type=Link
+Text=Call a custom function
+Left=0
+Right=-1
+Top=-9
+Bottom=-1
+Flags=NOTIFY
+
+[Field 4]
+Type=Label
+Text=Completing the <NAME> Setup Wizard
+Left=0
+Right=-1
+Top=6
+Bottom=32
+
+[Field 5]
+Type=Label
+Text=<NAME> has been successfully installed on your computer.\r\n\r\nWhich actions do you want to perform?
+Left=0
+Right=-1
+Top=46
+Bottom=155
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Instdir.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,36 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=4
+
+[Field 1]
+Type=DirRequest
+State=D:\Nullsoft\NSIS2
+Left=10
+Right=-95
+Top=144
+Bottom=156
+
+[Field 2]
+Type=Groupbox
+Text=NSIS Installation Folder
+Left=0
+Right=-1
+Top=120
+Bottom=169
+
+[Field 3]
+Type=Label
+Text=Select the folder in which to install the ExperienceUI for NSIS.\r\n\r\nIt is recommended that you change this value only if you have a different installation of NSIS that you want to install the ExperienceUI's files in.\r\n\r\nTo change the value, enter the folder path below, or click the "..." button to search for another folder.
+Left=0
+Right=-1
+Top=9
+Bottom=118
+
+[Field 4]
+Type=Label
+Text=\Contrib\ExperienceUI
+Left=-92
+Right=-11
+Top=145
+Bottom=153
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/LangDlg.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,30 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=3
+
+[Field 1]
+Type=DropList
+Text=Select language here...
+ListItems=
+Left=23
+Right=213
+Top=112
+Bottom=217
+
+[Field 2]
+Type=Label
+Text=This installer is available in more than one language.
+Left=23
+Right=-1
+Top=83
+Bottom=96
+
+[Field 3]
+Type=Label
+Text=Please select which language to use for this installer below:
+=
+Left=23
+Right=-1
+Top=97
+Bottom=112
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/MBSide.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,49 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=5
+NextButtonText=Please Answer Message Box
+Rect=1304
+
+[Field 1]
+Type=Button
+Text=Button
+Left=56
+Right=102
+Top=-17
+Bottom=-1
+Flags=NOTIFY
+
+[Field 2]
+Type=Button
+Text=Button
+Left=6
+Right=56
+Top=-17
+Bottom=-1
+Flags=NOTIFY
+
+[Field 3]
+Type=Button
+Text=Button
+Left=102
+Right=152
+Top=-17
+Bottom=-1
+Flags=NOTIFY
+
+[Field 4]
+Type=Label
+Text=TopText
+Left=3
+Right=-1
+Top=3
+Bottom=22
+
+[Field 5]
+Type=Label
+Text=BotText
+Left=3
+Right=-1
+Top=22
+Bottom=-20
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Maint.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,63 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=7
+
+[Field 1]
+Type=Droplist
+Text=Droplist
+State=Repair the ExperienceUI
+ListItems=Repair the ExperienceUI|Uninstall the ExperienceUI|Check for Updates|Continue Setup Normally
+Left=0
+Right=190
+Top=57
+Bottom=150
+Flags=NOTIFY
+
+[Field 2]
+Type=Label
+Text=If you are upgrading an existing installation, please select Continue Normally.
+Left=2
+Right=-1
+Top=168
+Bottom=177
+
+[Field 3]
+Type=Groupbox
+Text=Description
+Left=0
+Right=-1
+Top=73
+Bottom=164
+
+[Field 4]
+Type=Label
+Text=Please select which maintenance action you wish to perform:
+Left=0
+Right=-1
+Top=43
+Bottom=51
+
+[Field 5]
+Type=Label
+Text=Welcome to the ExperienceUI Maintenance Wizard
+Top=8
+Left=0
+Right=-1
+Bottom=25
+
+[Field 6]
+Type=Label
+Text=Repairing restores the program to its original state, reinstalling all files, registry entries, and Start Menu shortcuts.  Use this if the ExperienceUI loses a file or somehow becomes unusable.
+Left=6
+Right=-4
+Top=96
+Bottom=156
+
+[Field 7]
+Type=Label
+Text=Repair the ExperienceUI
+Left=6
+Right=-4
+Top=83
+Bottom=91
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/StartMenu.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,39 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=4
+
+[Field 1]
+Type=Label
+Text=Top
+Left=0
+Right=-1
+Top=0
+Bottom=8
+
+[Field 2]
+Type=Text
+State=$(^Name)
+Left=0
+Right=-1
+Top=14
+Bottom=28
+
+[Field 3]
+Type=Listbox
+Text=Listbox
+ListItems=
+Left=0
+Right=-1
+Top=33
+Bottom=-20
+Flags=NOTIFY
+
+[Field 4]
+Type=Checkbox
+Text=Checkbox
+Left=0
+Right=-1
+Top=-17
+Bottom=-3
+Flags=NOTIFY
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/Welcome.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,21 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=2
+BackEnabled=1
+
+[Field 1]
+Type=Label
+Text=Welcome to the NSIS Setup wizard for My Program.
+Left=6
+Right=295
+Top=89
+Bottom=121
+
+[Field 2]
+Type=Label
+Text=Welcome to My Program Setup.  This will install My Program on your computer.
+Left=8
+Right=295
+Top=121
+Bottom=-1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/ioSpecial.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,26 @@
+[Settings]
+Rect=1044
+NumFields=3
+
+[Field 1]
+Type=bitmap
+Left=0
+Right=109
+Top=0
+Bottom=-1
+Flags=RESIZETOFIT
+
+[Field 2]
+Type=label
+Left=120
+Right=-1
+Top=9
+Bottom=12
+
+[Field 3]
+Type=label
+Left=120
+Right=-1
+Top=0
+Bottom=1
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/isWelcome.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,21 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=2
+State=0
+
+[Field 1]
+Type=Label
+Left=0
+Right=290
+Top=17
+Bottom=62
+Text=Welcome to XXX Setup Wizard
+
+[Field 2]
+Type=Label
+Left=0
+Right=290
+Top=68
+Bottom=232
+Text=This will install XXX on your computer, etc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/INI/repair.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,56 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=6
+
+[Field 1]
+Type=RadioButton
+Text=Repair My Program
+State=1
+Left=16
+Right=-1
+Top=44
+Bottom=56
+Flags=NOTIFY
+
+[Field 2]
+Type=RadioButton
+Text=Remove My Program
+Left=16
+Right=-1
+Top=60
+Bottom=70
+Flags=NOTIFY
+
+[Field 3]
+Type=RadioButton
+Text=Continue Setup Normally
+Flags=NOTIFY
+Left=16
+Right=-1
+Top=76
+Bottom=86
+
+[Field 4]
+Type=Label
+Text=If you are upgrading an existing installation, please select Continue Setup Normally.
+Left=0
+Right=-1
+Top=104
+Bottom=112
+
+[Field 5]
+Type=Label
+Text=Select whether you want to repair or remove My Program,\r\nor if you want to continue Setup normally.
+Left=0
+Right=-1
+Top=12
+Bottom=28
+
+[Field 6]
+Type=Label
+Text=WARNING: This computer program is protected by copyright law and international\r\ntreaties.  Unauthorized duplication or distribution of this program, or any portion of\r\nit, may result in severe civil or criminal penalties, and will be prosecuted to the\r\nmaximum extent possible under the law.
+Left=0
+Right=-1
+Top=116
+Bottom=152
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Lang.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,728 @@
+; MULTI-LANGUAGE SUPPORT
+
+; SELECTION DIALOG
+
+!tempfile "XPUI_LANGPAGE_CHECKFILE"
+
+!macro XPUI_LANGDLL_SAVELANGUAGE
+!ifndef XPUI_PAGE_UNINSTALLER
+IfAbort XPUI.langdllsavelanguage_abort
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+WriteRegStr `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}` $LANGUAGE
+!endif
+XPUI.langdllsavelanguage_abort:
+!endif
+
+!macroend
+
+!macro XPUI_LANGDLL_DISPLAY
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef NSIS_CONFIG_SILENT_SUPPORT
+IfSilent XPUI.langdll_done
+!endif
+!insertmacro XPUI_DEFAULT XPUI_LANGDLL_WINDOWTITLE `Installer Language`
+!insertmacro XPUI_DEFAULT XPUI_LANGDLL_INFO `Please select a language.`
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` XPUI.langdll_show
+StrCpy $LANGUAGE $XPUI_TEMP1
+!ifndef XPUI_LANGDLL_ALWAYSSHOW
+Goto XPUI.langdll_done
+!endif
+XPUI.langdll_show:
+!endif
+LangDLL::LangDialog `${XPUI_LANGDLL_WINDOWTITLE}` `${XPUI_LANGDLL_INFO}` A ${XPUI_LANGDLL_PUSHLIST} ``
+Pop $LANGUAGE
+StrCmp $LANGUAGE `cancel` 0 XPUI.langdll_noquit
+Abort
+XPUI.langdll_noquit:
+!ifdef NSIS_CONFIG_SILENT_SUPPORT
+XPUI.langdll_done:
+!else ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+XPUI.langdll_done:
+!endif
+!insertmacro XPUI_LANGDLL_SAVELANGUAGE
+!verbose pop
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+    !endif
+  !else
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+    !endif
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+  !else
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}=${${ATTRIB_NAME}}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL ATTRIB_NAME
+  !ifndef XPUI_LANGPAGE_COMPILE_PARAMS
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `"/D${ATTRIB_NAME}"`
+    !endif
+  !else
+    !ifdef ${ATTRIB_NAME}
+      !define XPUI_LANGPAGE_COMPILE_PARAMS_TEMP `${XPUI_LANGPAGE_COMPILE_PARAMS}`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS
+      !define XPUI_LANGPAGE_COMPILE_PARAMS `${XPUI_LANGPAGE_COMPILE_PARAMS_TEMP} "/D${ATTRIB_NAME}"`
+      !undef XPUI_LANGPAGE_COMPILE_PARAMS_TEMP
+    !endif
+  !endif
+!macroend
+
+!macro XPUI_LANGPAGE_COMPILE
+; This next block of code compiles a specialized language selection dialog app.  This is because NSIS only allows
+; you to select the language in .onInit. (ahem, KiCHiK?) If just looking at it makes you feel braindead, I'll tell
+; you what it does: it detects all of your visual settings that are currently being used, and then it launches
+; MakeNSIS with the corresponding compiler flags.
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB XPUI_SKIN
+
+!ifdef XPUI_WANSIS
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_WANSIS_SKIN
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_WANSIS_GEN
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_WANSIS_GENEX
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS_HEADERIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_WANSIS_HEADERIMAGE_BMP
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_WANSIS_NODIVIDER
+!endif
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_NOVAL XPUI_NOBOTTOMIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB       XPUI_BOTTOMIMAGE_BMP
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_COLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_BGCOLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_TEXT_LIGHTCOLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_HEADERIMAGE
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_LEFTLOGO
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_HEADER_TEXT_COLOR
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT
+
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT_COLOR_FG
+!insertmacro XPUI_LANGPAGE_COMPILE_ATTRIB_FORCE XPUI_BRANDINGTEXT_COLOR_BG
+
+!execute `"${NSISDIR}\MakeNSIS.exe" "/NOCD" "/V0" "/DCHECKLIST=${XPUI_LANGPAGE_CHECKFILE}" "/DXPUI_LANGINI_LIST_B=${XPUI_LANGINI_LIST}" "/DXPUI_LANGIDLIST_LIST_B=${XPUI_LANGIDLIST_LIST}" ${XPUI_LANGPAGE_COMPILE_PARAMS} "${XPUI_SYSDIR}\LangPage.nsi"`
+
+!macroend
+
+!macro XPUI_LANGPAGE_DISPLAY
+
+!verbose push
+!verbose ${XPUI_VERBOSE}
+
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+  ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+  StrCmp $XPUI_TEMP1 `` XPUI.langdll_show
+  StrCpy $LANGUAGE $XPUI_TEMP1
+  !ifndef XPUI_LANGDLL_ALWAYSSHOW
+    Goto XPUI.langdll_done
+  !endif
+  XPUI.langdll_show:
+!endif
+!insertmacro XPUI_LANGPAGE_COMPILE
+InitPluginsDir
+SetOutPath $PLUGINSDIR
+File `${XPUI_SYSDIR}\LangDialog.exe`
+!system `del "${XPUI_SYSDIR}\LangDialog.exe"`
+ExecWait $PLUGINSDIR\LangDialog.exe $LANGUAGE
+Delete $PLUGINSDIR\LangDialog.exe
+StrCmp $LANGUAGE 1 `` +2
+Abort
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+  WriteRegStr `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}` $LANGUAGE
+!endif
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+!ifndef XPUI_LANGDLL_ALWAYSSHOW
+XPUI.langdll_done:
+!endif
+!endif
+!verbose pop
+!delfile `${XPUI_LANGPAGE_CHECKFILE}`
+!macroend
+
+!macro XPUI_UNGETLANGUAGE_PAGE
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` 0 XPUI.ungetlanguage_setlang
+!endif
+!insertmacro XPUI_LANGPAGE_DISPLAY
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+Goto XPUI.ungetlanguage_done
+XPUI.ungetlanguage_setlang:
+StrCpy $LANGUAGE $XPUI_TEMP1
+XPUI.ungetlanguage_done:
+!endif
+!verbose pop
+!macroend
+
+!macro XPUI_UNGETLANGUAGE
+!verbose push
+!verbose ${XPUI_VERBOSE}
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+ReadRegStr $XPUI_TEMP1 `${XPUI_LANGDLL_REGISTRY_ROOT}` `${XPUI_LANGDLL_REGISTRY_KEY}` `${XPUI_LANGDLL_REGISTRY_VALUENAME}`
+StrCmp $XPUI_TEMP1 `` 0 XPUI.ungetlanguage_setlang
+!endif
+!insertmacro XPUI_LANGDLL_DISPLAY
+!ifdef XPUI_LANGDLL_REGISTRY_ROOT & XPUI_LANGDLL_REGISTRY_KEY & XPUI_LANGDLL_REGISTRY_VALUENAME
+Goto XPUI.ungetlanguage_done
+XPUI.ungetlanguage_setlang:
+StrCpy $LANGUAGE $XPUI_TEMP1
+XPUI.ungetlanguage_done:
+!endif
+!verbose pop
+!macroend
+
+; FILES
+!macro XPUI_LANGUAGE LANGUAGE
+
+  !echo "ExperienceUI Language: ${LANGUAGE}"
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+
+  !ifndef XPUI_INTERNAL_LANG_INSERTED
+    !define XPUI_INTERNAL_LANG_INSERTED
+  !endif
+  
+    !include `${XPUI_SYSDIR}\Language files\${LANGUAGE}.nsh`
+  !verbose pop
+!macroend
+
+!macro XPUI_LANGUAGEFILE_BEGIN LANGUAGE
+!ifndef `XPUI_LANGUAGEFILE_${LANGUAGE}_USED`
+!define `XPUI_LANGUAGEFILE_${LANGUAGE}_USED`
+LoadLanguageFile `${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf`
+!else
+!error `ExperienceUI language file ${LANGUAGE} included twice!`
+!endif
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_UNSET MUI_LANGNAME
+
+!ifndef XPUI_INTERNAL_INTERFACE_INSERTED
+  !define XPUI_INTERNAL_INTERFACE_INSERTED
+  !insertmacro XPUI_INTERFACE
+!endif
+
+!macroend
+
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING NAME
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_UNLANGSTRING NAME
+!ifdef XPUI_UNINSTALLER
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!else
+!insertmacro XPUI_UNSET `${NAME}`
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_PAGE PAGE NAME
+!ifdef XPUI_INTERNAL_PAGEUSED_${PAGE}
+  !echo `${NAME}$\n${${NAME}}`
+  LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE PAGE NEW OLD
+!ifdef XPUI_INTERNAL_PAGEUSED_${PAGE}
+  !echo `${NEW}$\n${${OLD}}`
+  LangString `${NEW}` ${LANG_${XPUI_LANGNAME}} `${${OLD}}`
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_UNLANGSTRING_PAGE PAGE NAME
+!ifdef XPUI_UNINSTALLER
+  !ifdef XPUI_UN${PAGE}PAGE
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+   !insertmacro XPUI_UNSET `${NAME}`
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_MULTILANGSTRING_PAGE PAGE NAME
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_LANGSTRING_DEFINE DEFINE NAME
+!ifdef `${DEFINE}`
+LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro XPUI_LANGUAGEFILE_DEFAULT NAME VALUE
+!ifndef `${NAME}`
+!define `${NAME}` `${VALUE}`
+!ifndef MUI_LANGUAGEFILE_DEFAULT_USED
+!define MUI_LANGUAGEFILE_DEFAULT_USED
+!endif
+!endif
+!macroend
+
+!macro XPUI_LANGUAGEFILE_DEFINE DEFINE NAME
+!ifndef `${DEFINE}`
+!define `${DEFINE}` `${${NAME}}`
+!endif
+!insertmacro XPUI_UNSET `${NAME}`
+!macroend
+
+!macro MUI_LANGUAGEFILE_LANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_${PAGE}PAGE
+  !ifdef ${NAME}
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+  !endif
+    !insertmacro XPUI_UNSET `${NAME}`
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_UNINSTALLER
+    !ifdef MUI_UN${PAGE}PAGE
+    !ifdef ${NAME}
+      LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+      !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+    !else
+      !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE PAGE NAME
+
+  !ifdef MUI_${PAGE}PAGE | MUI_UN${PAGE}PAGE
+    !ifdef ${NAME}
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+    !insertmacro XPUI_UNSET `${NAME}`
+    !endif
+  !else
+    !insertmacro XPUI_UNSET `${NAME}`
+  !endif
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_LANGSTRING_DEFINE DEFINE NAME
+
+  !ifdef `${DEFINE}`
+    LangString `${NAME}` ${LANG_${XPUI_LANGNAME}} `${${NAME}}`
+  !endif
+  !insertmacro XPUI_UNSET `${NAME}`
+
+!macroend
+
+!macro MUI_LANGUAGEFILE_DEFINE DEFINE NAME
+
+  !ifndef `${DEFINE}`
+    !define `${DEFINE}` `${${NAME}}`
+  !endif
+  !insertmacro XPUI_UNSET `${NAME}`
+
+!macroend
+
+!macro XPUI_LANGUAGEFILE_END
+!insertmacro XPUI_LANGUAGE_CONVERT
+
+!include `${XPUI_SYSDIR}\Language files\Default.nsh`
+  !ifdef XPUI_LANGUAGEFILE_DEFAULT_USED
+    !undef XPUI_LANGUAGEFILE_DEFAULT_USED
+    !warning `${LANGUAGE} Modern UI language file version doesn't match. Using default English texts for missing strings.`
+  !endif
+
+  !ifndef XPUI_LANGINI_LIST
+    !define XPUI_LANGINI_LIST `${XPUI_${LANGUAGE}_LANGNAME}`
+   !else
+     !ifdef XPUI_LANGINI_LIST_TEMP
+       !undef XPUI_LANGINI_LIST_TEMP
+     !endif
+
+     !define XPUI_LANGINI_LIST_TEMP `${XPUI_LANGINI_LIST}`
+     !undef XPUI_LANGINI_LIST
+     !define XPUI_LANGINI_LIST `${XPUI_LANGINI_LIST_TEMP}|${XPUI_${LANGUAGE}_LANGNAME}`
+   !endif
+
+   !ifndef XPUI_LANGIDLIST_LIST
+    !define XPUI_LANGIDLIST_LIST `${LANG_${LANGUAGE}}`
+   !else
+     !ifdef XPUI_LANGIDLIST_LIST_TEMP
+       !undef XPUI_LANGIDLIST_LIST_TEMP
+     !endif
+
+     !define XPUI_LANGIDLIST_LIST_TEMP `${XPUI_LANGIDLIST_LIST}`
+     !undef XPUI_LANGIDLIST_LIST
+     !define XPUI_LANGIDLIST_LIST `${XPUI_LANGIDLIST_LIST_TEMP}${LANG_${LANGUAGE}}`
+   !endif
+   
+   !appendfile `${XPUI_LANGPAGE_CHECKFILE}` `StrCmp $XPUI_NOABORTWARNING "${XPUI_LANGNAME}" 0 +3$\r$\nSetErrorLevel ${LANG_${LANGUAGE}}$\r$\nReturn$\r$\n`
+
+  !ifdef XPUI_LANGNAME
+    !insertmacro XPUI_LANGUAGEFILE_DEFINE `XPUI_${LANGUAGE}_LANGNAME` `XPUI_LANGNAME`
+  !else
+    !insertmacro XPUI_LANGUAGEFILE_DEFINE `XPUI_${LANGUAGE}_LANGNAME` `MUI_LANGNAME`
+  !endif
+
+  !ifndef XPUI_LANGDLL_PUSHLIST
+    !ifdef XPUI_${LANGUAGE}_LANGNAME
+      !define XPUI_LANGDLL_PUSHLIST `'${XPUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} `
+    !else
+      !define XPUI_LANGDLL_PUSHLIST `'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} `
+    !endif
+  !else
+    !ifdef XPUI_LANGDLL_PUSHLIST_TEMP
+      !undef XPUI_LANGDLL_PUSHLIST_TEMP
+    !endif
+    !define XPUI_LANGDLL_PUSHLIST_TEMP `${XPUI_LANGDLL_PUSHLIST}`
+    !undef XPUI_LANGDLL_PUSHLIST
+
+    !ifdef XPUI_${LANGUAGE}_LANGNAME
+      !define XPUI_LANGDLL_PUSHLIST `'${XPUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} ${XPUI_LANGDLL_PUSHLIST_TEMP}`
+    !else
+      !define XPUI_LANGDLL_PUSHLIST `'${MUI_${LANGUAGE}_LANGNAME}' ${LANG_${LANGUAGE}} ${XPUI_LANGDLL_PUSHLIST_TEMP}`
+    !endif
+  !endif
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; BUTTONS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_NEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_BACK
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_CANCEL
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_BUTTONTEXT_CLOSE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_ABORTWARNING_TEXT
+
+; WELCOME PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_WELCOMEPAGE_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME XPUI_UNWELCOMEPAGE_CAPTION
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_WELCOMEPAGE2_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME2 XPUI_UNWELCOMEPAGE2_CAPTION
+
+; LICENSE PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_CHECKBOX
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_TOP
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_LICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_CHECKBOX
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_TOP
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE XPUI_UNLICENSEPAGE_TEXT_BOTTOM
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS XPUI_UNCOMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE
+
+; DIRECTORY PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_DESTINATION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_BROWSE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_DIRECTORYPAGE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_BROWSE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY XPUI_UNDIRECTORYPAGE_SUBTITLE
+
+; START MENU PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_STARTMENUPAGE_CHECKBOX
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU XPUI_UNSTARTMENUPAGE_CHECKBOX
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTCONFIRM XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM
+
+; INSTFILES PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_DONE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_DONE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_DONE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_DONE_SUBTITLE
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_FAIL_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_INSTFILESPAGE_FAIL_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_FAIL_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE INSTSUCCESS XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM
+
+; FINISH PAGE
+
+; compatibility
+;!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_RUN  XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN
+;!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_ALIAS_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_DOCS XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_TOP_ALT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CHECKBOX_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_CHECKBOX_DOCS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_RADIOBUTTON_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_FINISHPAGE_REBOOT_MESSAGEBOX
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_TOP_ALT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_TEXT_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_RUN
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_CHECKBOX_DOCS
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX
+
+; UNINST CONFIRM PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER
+
+; ABORT PAGE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_ABORTPAGE_CAPTION
+
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TEXT_TOP
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TEXT
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_TITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_SUBTITLE
+!insertmacro XPUI_LANGUAGEFILE_LANGSTRING_PAGE ABORT XPUI_UNABORTPAGE_CAPTION
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME `MUI_TEXT_WELCOME_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME `MUI_TEXT_WELCOME_INFO_TEXT`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_TEXT_LICENSE_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_TEXT_LICENSE_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_TOP`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE `MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS `MUI_TEXT_COMPONENTS_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS `MUI_TEXT_COMPONENTS_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS `MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS `MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY `MUI_TEXT_DIRECTORY_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY `MUI_TEXT_DIRECTORY_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_TEXT_STARTMENU_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_TEXT_STARTMENU_SUBTITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_INNERTEXT_STARTMENU_TOP`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU `MUI_INNERTEXT_STARTMENU_CHECKBOX`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_INSTALLING_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_INSTALLING_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_FINISH_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_FINISH_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_ABORT_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES `MUI_TEXT_ABORT_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_BUTTONTEXT_FINISH`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_TEXT`
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_INFO_REBOOT`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_REBOOTNOW`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_REBOOTLATER`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_RUN`
+  !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH `MUI_TEXT_FINISH_SHOWREADME`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_ABORTWARNING `MUI_TEXT_ABORTWARNING`
+
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME `MUI_UNTEXT_WELCOME_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME `MUI_UNTEXT_WELCOME_INFO_TEXT`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM `MUI_UNTEXT_CONFIRM_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM `MUI_UNTEXT_CONFIRM_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNTEXT_LICENSE_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNTEXT_LICENSE_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE `MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS `MUI_UNTEXT_COMPONENTS_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS `MUI_UNTEXT_COMPONENTS_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY `MUI_UNTEXT_DIRECTORY_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY  `MUI_UNTEXT_DIRECTORY_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_UNINSTALLING_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_UNINSTALLING_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_FINISH_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_FINISH_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_ABORT_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES `MUI_UNTEXT_ABORT_SUBTITLE`
+
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_TITLE`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_TEXT`
+  !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH `MUI_UNTEXT_FINISH_INFO_REBOOT`
+
+  !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_UNABORTWARNING `MUI_UNTEXT_ABORTWARNING`
+
+!macroend
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Langpage.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,199 @@
+!VERBOSE 1
+!define XPUI_VERBOSE 1
+!define XPUI_SILENT
+!define XPUI_INSTALLOPTIONS_MAXFIELD 4
+!ifndef XPUI_LANGINI_LIST_B
+  !error "This script should only be compiled through the ExperienceUI's internal multi-language support system!"
+!endif
+
+SetCompress off
+
+Name "Select Language"
+Caption " "
+OutFile "${NSISDIR}\Contrib\ExperienceUI\LangDialog.exe"
+
+MiscButtonText "" "" "" OK
+!define XPUI_DISABLEBG
+!define XPUI_ABORTPAGE_TEXT "The wizard was interrupted before the program could be installed.\r\n\r\nYour system has not been modified.  To install the program at a later time, please run this setup wizard again.\r\n\r\n\r\n\r\n\r\nPlease click $\"$(XPUI_BUTTONTEXT_CLOSE)$\" to exit the NSIS installation wizard."
+!define XPUI_ABORTPAGE_SUBTITLE "Setup did not complete successfully."
+!define XPUI_ABORTPAGE_CAPTION " "
+!include XPUI.nsh
+!VERBOSE 1
+
+Page custom LangSelect LangSelectFin ""
+;Page custom CancelConfirm CancelConfirmFin ""
+!insertmacro XPUI_PAGE_ABORT
+
+Function LangSelect
+Call GetParameters
+Pop $0
+StrCmp $0 "/CancelDialog" 0 +2
+Abort
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\INI\LangDlg.ini"
+WriteINIStr "$PLUGINSDIR\LangDlg.ini" "Field 1" ListItems "${XPUI_LANGINI_LIST_B}"
+StrCpy $XPUI_TEMP1 "${XPUI_LANGINI_LIST_B}"
+StrCpy $XPUI_HWND 0
+PipeLoop:
+StrCpy $XPUI_TEMP2 $XPUI_TEMP1 1 $XPUI_HWND
+StrCmp $XPUI_TEMP2 | foundPipe
+IntOp $XPUI_HWND $XPUI_HWND + 1
+Goto PipeLoop
+FoundPipe:
+StrCpy $XPUI_TEMP1 $XPUI_TEMP1 $XPUI_HWND
+WriteINIStr "$PLUGINSDIR\LangDlg.ini" "Field 1" State "$XPUI_TEMP1"
+InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\LangDlg.ini
+Pop $XPUI_HWND
+!insertmacro XPUI_CONTROL_SKIN $XPUI_HWND
+GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+!insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+!insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+CreateFont $XPUI_TEMP2 "Tahoma" 8 700
+SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1202
+!insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+CreateFont $XPUI_TEMP2 "Tahoma" 8 350
+SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+!insertmacro XPUI_HEADER_TEXT "Select Language" "Please select which language to use in the installer."
+InstallOptions::show
+FunctionEnd
+
+Function LangSelectFin
+
+Call GetParameters
+Pop $0
+StrCmp $0 "/CancelDialog" 0 +2
+Return
+
+; Reset everything
+StrCpy $XPUI_HWND 0
+StrCpy $XPUI_TEMP1 0
+StrCpy $XPUI_TEMP2 0
+
+ReadINIStr $XPUI_NOABORTWARNING $PLUGINSDIR\LangDlg.ini "Field 1" State
+!include `${CHECKLIST}`
+/*
+
+; First, find out if user selected first language...
+StrCpy $XPUI_TEMP1 "${XPUI_LANGINI_LIST_B}"
+StrCpy $XPUI_HWND 0
+PipeLoop1:
+StrCpy $XPUI_TEMP2 $XPUI_TEMP1 1 $XPUI_HWND
+StrCmp $XPUI_TEMP2 | foundPipe1
+IntOp $XPUI_HWND $XPUI_HWND + 1
+Goto PipeLoop1
+FoundPipe1:
+StrCpy $XPUI_TEMP1 $XPUI_TEMP1 $XPUI_HWND
+ReadINIStr $XPUI_NOABORTWARNING $PLUGINSDIR\LangDlg.ini "Field 1" State
+StrCmp $XPUI_TEMP1 $NOABORTWARNING "" PipeLoop2
+StrCpy $XPUI_TEMP1 0
+Goto Done
+
+PipeLoop2:
+
+; Reset everything
+StrCpy $XPUI_HWND 0
+StrCpy $XPUI_TEMP1 0
+StrCpy $XPUI_TEMP2 0
+
+PipeLoop:
+StrCpy $XPUI_TEMP2 "${XPUI_LANGINI_LIST_B}" 1 $XPUI_HWND
+StrCmp $XPUI_TEMP2 "" Done
+StrCmp $XPUI_TEMP2 | foundPipe
+IntOp $XPUI_HWND $XPUI_HWND + 1
+Goto PipeLoop
+FoundPipe:
+IntOp $XPUI_TEMP1 $XPUI_TEMP1 + 1
+IntOp $XPUI_HWND $XPUI_HWND + 1
+ReadINIStr $XPUI_NOABORTWARNING $PLUGINSDIR\LangDlg.ini "Field 1" State
+StrLen $XPUI_TEMP2 "$NOABORTWARNING"
+StrCpy $XPUI_TEMP2 "${XPUI_LANGINI_LIST_B}" $XPUI_TEMP2 $XPUI_HWND
+StrCmp $XPUI_TEMP2 $NOABORTWARNING Done PipeLoop
+Goto PipeLoop
+Done:
+IntOp $XPUI_TEMP1 $XPUI_TEMP1 * 4
+StrCpy $0 "${XPUI_LANGIDLIST_LIST_B}" 4 $XPUI_TEMP1
+SetErrorLevel $0       */
+MessageBox MB_OK|MB_ICONEXCLAMATION "The language page system could not detect the language ID.  The installer will use the first language inserted in the script file."
+SetErrorLevel 0
+FunctionEnd
+
+/*
+Function CancelConfirm
+Call GetParameters
+Pop $0
+StrCmp $0 "/CancelDialog" +2
+Abort
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\Ini\CancelConfirm.ini"
+!insertmacro XPUI_INSTALLOPTIONS_DISPLAY "CancelConfirm.ini"
+FunctionEnd
+
+Function CancelConfirmFin
+  ReadINIStr $0 $PLUGINSDIR\CancelConfirm.ini "Field 2" State
+  StrCmp $0 1 "" ResumeOnLogin
+  SetErrorLevel 5
+  Return
+  ResumeOnLogin:
+  ReadINIStr $0 $PLUGINSDIR\CancelConfirm.ini "Field 3" State
+  StrCmp $0 1 "" Resume
+  SetErrorLevel 6
+  Return
+  Resume:
+  SetErrorLevel 7
+FunctionEnd */
+
+Function .onUserAbort
+StrCmp $XPUI_ABORTED 1 Done
+MessageBox MB_YESNO|MB_ICONQUESTION "You are about to quit setup.$\n$\nIf you quit now, the program will not be installed.$\n$\nDo you want to continue?" IDNO CancelQuit
+!insertmacro XPUI_USERABORT
+CancelQuit:
+Abort
+Done:
+SetErrorLevel 1
+FunctionEnd
+
+Section
+SectionEnd
+
+ Function GetParameters
+
+   Push $R0
+   Push $R1
+   Push $R2
+   Push $R3
+
+   StrCpy $R2 1
+   StrLen $R3 $CMDLINE
+
+   ;Check for quote or space
+   StrCpy $R0 $CMDLINE $R2
+   StrCmp $R0 '"' 0 +3
+     StrCpy $R1 '"'
+     Goto loop
+   StrCpy $R1 " "
+
+   loop:
+     IntOp $R2 $R2 + 1
+     StrCpy $R0 $CMDLINE 1 $R2
+     StrCmp $R0 $R1 get
+     StrCmp $R2 $R3 get
+     Goto loop
+
+   get:
+     IntOp $R2 $R2 + 1
+     StrCpy $R0 $CMDLINE 1 $R2
+     StrCmp $R0 " " get
+     StrCpy $R0 $CMDLINE "" $R2
+
+   Pop $R3
+   Pop $R2
+   Pop $R1
+   Exch $R0
+
+ FunctionEnd
+
+ !insertmacro XPUI_LANGUAGE English
+
+!VERBOSE 1
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/Default.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,225 @@
+; EXPERIENCEUI DEFAULT LANGUAGE FILE
+
+; BUTTONS
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_BUTTONTEXT_NEXT   Next
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_BUTTONTEXT_BACK   Back
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_BUTTONTEXT_CANCEL Cancel
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_BUTTONTEXT_CLOSE  Close
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTWARNING_TEXT "You are about to quit setup.$\n$\nIf you quit now, $(^Name) will not be installed.$\n$\nDo you want to continue?"
+
+; WELCOME PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name) Setup Wizard"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of $(^Name).\r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\n"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE_TITLE "Welcome"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Welcome to $(^Name) Setup."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name) Uninstall Wizard"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "This wizard will guide you through the uninstallation of $(^Name).\r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\n"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Welcome"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Welcome to the $(^Name) Uninstall Wizard."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Welcome to the NSIS Setup Wizard for $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Welcome to $(^Name) Setup.  This will install $(^Name) on your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Welcome"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Welcome to $(^Name) Setup."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Welcome to the NSIS Uninstall Wizard for $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Welcome to $(^Name) Setup.  This will uninstall $(^Name) from your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Welcome"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Welcome to the $(^Name) Uninstaller."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_CAPTION ": License Agreement"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I do not agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "I agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Please review the license terms before installing $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TITLE "License Agreement"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Press Page Down to see the rest of the agreement."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, check the box below. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, select the first option above. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": License Agreement"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I do not agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "I agree to the above terms and conditions"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Please review the license terms before uninstalling $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TITLE "License Agreement"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Press Page Down to see the rest of the agreement."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, check the box below. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, select the first option above. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Select Components"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Choose which components of $(^Name) should be installed."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Choose Components"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Hover your mouse over a component to see its description"
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Select Components"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Choose which components of $(^Name) should be uninstalled."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Choose Components"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Hover your mouse over a component to see its description"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Select Installation Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "Setup will install $(^Name) in the following folder.$\r$\n$\r$\nTo install in the default folder, leave the text below as-is.  To install in a different folder, enter one below, or click Browse. $_CLICK"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Installation Directory"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Browse"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Please select a folder:"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Choose Install Location"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Choose the folder in which to install $(^Name)."
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Select Installation Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "Setup will uninstall $(^Name) from the following folder.$\r$\n$\r$\nTo uninstall from this folder, click Next.  To uninstall from a different folder, enter one below, or click Browse."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Installation Directory"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Browse"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Please select a folder:"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Choose Install Location"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Choose the folder from which to uninstall $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Start Menu Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Select Start Menu Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Select the folder in which to create Start Menu shortcuts to $(^Name):"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Select the Start Menu folder in which to create shortcuts to $(^Name):"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "Don't create a start menu folder"
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Start Menu Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Select Start Menu Folder"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Select the folder from which to remove Start Menu shortcuts:"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Select the Start Menu folder from which to remove shortcuts:"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Don't remove the Start Menu folder"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Confirm Installation"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "Setup has finished gathering information and is ready to install $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Confirm Installation"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "Setup is ready to install $(^Name) on your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Confirm Installation"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "Setup has finished gathering information and is ready to uninstall $(^Name)."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Confirm Uninstallation"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "Setup is ready to uninstall $(^Name) from your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Click Next to continue."
+
+; INSTFILES PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copying Files"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Please wait while $(^Name) is being installed."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_TITLE "Installing"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Installation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "All of the components of $(^Name) were successfully copied to your computer."
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Uninstalling Files"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Please wait while $(^Name) is being uninstalled."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Uninstalling"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Uninstallation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "All of the components of $(^Name) were successfully removed from your computer."
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Installation Incomplete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Uninstallation Incomplete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "$(^Name) Setup was not completed successfully."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Installation Successful"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "Setup has successfully installed $(^Name) on your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Installation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) has been successfully installed."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Click Close to exit."
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Uninstallation Successful"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "Setup has successfully uninstalled $(^Name) from your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Uninstallation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) has been successfully uninstalled."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Click Close to exit."
+
+; FINISH PAGE
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TITLE "Installation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_SUBTITLE "Setup has successfully installed $(^Name) on your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_CAPTION ": Installation Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Completing the $(^Name) Setup Wizard"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "NSIS Setup Wizard Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "Setup has successfully installed $(^Name) on your computer.\r\n\r\nWhich actions do you want to perform?"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "Setup has finished copying files to your computer.\r\n\r\nTo finish the installation, you must restart your computer.  Do you want to restart your computer now?"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_TEXT "Setup has successfully installed $(^Name) on your computer.\r\n\r\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Run $(^Name) now"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "View the documentation for $(^Name)"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Yes, restart my computer now."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "No, I will restart my computer later."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "Setup is about to reboot your computer.$\r$\n$\r$\nPlease save and close all open files and documents, and click OK to reboot your computer."
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TITLE "Uninstall Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "Setup has successfully uninstalled $(^Name) from your computer."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Uninstall Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Completing the $(^Name) Setup Wizard"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "NSIS Setup Wizard Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "Setup has finished copying files to your computer.\r\n\r\nTo finish the uninstallation, you must restart your computer.  Do you want to restart your computer now?"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "Setup has successfully uninstalled $(^Name) from your computer.\r\n\r\nWhich actions do you want to perform?"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_TEXT "Setup has successfully uninstalled $(^Name) from your computer.\r\n\r\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Yes, restart my computer now."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "No, I will restart my computer later."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "NSIS Setup Wizard Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTPAGE_TEXT "The wizard was interrupted before $(^Name) could be completely installed.\r\n\r\nYour system has not been modified.  To install this program at a later time, please run this\r\nwizard again.\r\n\r\n\r\n\r\n\r\nPlease click Close to exit the Setup Wizard."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTPAGE_TITLE "Installation Incomplete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTPAGE_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_ABORTPAGE_CAPTION ": Setup Cancelled"
+
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "NSIS Uninstall Wizard Complete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNABORTPAGE_TEXT "The wizard was interrupted before $(^Name) could be completely uninstalled.\r\n\r\nYour system has not been modified.  To uninstall this program at a later time, please run this wizard again.\r\n\r\n\r\n\r\n\r\nPlease click Close to exit the Setup Wizard."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNABORTPAGE_TITLE "Uninstallation Incomplete"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Setup Cancelled"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Confirm Uninstall"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Remove $(^Name) from your computer"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Uninstall $(^Name)"
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) will be uninstalled from the following folder.  Click Uninstall to start the uninstallation."
+!insertmacro XPUI_LANGUAGEFILE_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Uninstalling from:"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/English.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,245 @@
+;NSIS ExperienceUI - Language File
+;Compatible with ExperienceUI 1.09ß
+
+;Language: English (1033)
+;By dandaman32
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "English"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_DEFAULT XPUI_LANGNAME "English"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Next
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Back
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Cancel
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  Close
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "You are about to quit setup.$\n$\nIf you quit now, $(^Name) will not be installed.$\n$\nDo you want to continue?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name) Setup Wizard"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of $(^Name).\r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Welcome"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Welcome to $(^Name) Setup."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name) Uninstall Wizard"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "This wizard will guide you through the uninstallation of $(^Name).\r\n\r\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Welcome"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Welcome to the $(^Name) Uninstall Wizard."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Welcome to the NSIS Setup Wizard for $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Welcome to $(^Name) Setup.  This will install $(^Name) on your computer."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Welcome"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Welcome to $(^Name) Setup."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Welcome to the NSIS Uninstall Wizard for $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Welcome to $(^Name) Setup.  This will uninstall $(^Name) from your computer."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Welcome"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Welcome to the $(^Name) Uninstaller."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": License Agreement"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I do not agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "I agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Please review the license terms before installing $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "License Agreement"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Press Page Down to see the rest of the agreement."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, check the box below. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, select the first option above. You must accept the agreement to install $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": License Agreement"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I do not agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "I agree to the above terms and conditions"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Please review the license terms before uninstalling $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "License Agreement"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Press Page Down to see the rest of the agreement."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, check the box below. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "If you accept the terms of the agreement, select the first option above. You must accept the agreement to uninstall $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Select Components"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Choose which components of $(^Name) should be installed."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Choose Components"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Hover your mouse over a component to see its description"
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Select Components"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Choose which components of $(^Name) should be uninstalled."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Choose Components"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Hover your mouse over a component to see its description"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Select Installation Folder"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "Setup will install $(^Name) in the following folder.$\r$\n$\r$\nTo install in the default folder, leave the text below as-is.  To install in a different folder, enter one below, or click Browse. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Installation Directory"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Browse"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Please select a folder:"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Choose Install Location"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Choose the folder in which to install $(^Name)."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Select Installation Folder"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "Setup will uninstall $(^Name) from the following folder.$\r$\n$\r$\nTo uninstall from this folder, click Next.  To uninstall from a different folder, enter one below, or click Browse."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Installation Directory"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Browse"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Please select a folder:"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Choose Install Location"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Choose the folder from which to uninstall $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Start Menu Folder"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Select Start Menu Folder"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Select the folder in which to create Start Menu shortcuts to $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Select the Start Menu folder in which to create shortcuts to $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "Don't create a start menu folder"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Start Menu Folder"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Select Start Menu Folder"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Select the folder from which to remove Start Menu shortcuts:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Select the Start Menu folder from which to remove shortcuts:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Don't remove the Start Menu folder"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Confirm Installation"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "Setup has finished gathering information and is ready to install $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Confirm Installation"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "Setup is ready to install $(^Name) on your computer."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Confirm Installation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "Setup has finished gathering information and is ready to uninstall $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Confirm Uninstallation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "Setup is ready to uninstall $(^Name) from your computer."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Click Next to continue."
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copying Files"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Please wait while $(^Name) is being installed."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Installing"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Installation Complete"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "All of the components of $(^Name) were successfully copied to your computer."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Uninstalling Files"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Please wait while $(^Name) is being uninstalled."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Uninstalling"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Uninstallation Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "All of the components of $(^Name) were successfully removed from your computer."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Installation Incomplete"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Uninstallation Incomplete"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "$(^Name) Setup was not completed successfully."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Installation Successful"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "Setup has successfully installed $(^Name) on your computer."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Installation Complete"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) has been successfully installed."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Click Close to exit."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Uninstallation Successful"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "Setup has successfully uninstalled $(^Name) from your computer."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Uninstallation Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) has been successfully uninstalled."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Click Close to exit."
+
+; FINISH PAGE
+
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Installation Complete"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "Setup has successfully installed $(^Name) on your computer."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Installation Complete"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Completing the $(^Name) Setup Wizard"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "NSIS Setup Wizard Complete"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "Setup has successfully installed $(^Name) on your computer.\r\n\r\nWhich actions do you want to perform?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "Setup has finished copying files to your computer.\r\n\r\nTo finish the installation, you must restart your computer.  Do you want to restart your computer now?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "Setup has successfully installed $(^Name) on your computer.\r\n\r\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Run $(^Name) now"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "View the documentation for $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Yes, restart my computer now."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "No, I will restart my computer later."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "Setup is about to reboot your computer.$\r$\n$\r$\nPlease save and close all open files and documents, and click OK to reboot your computer."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Uninstall Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "Setup has successfully uninstalled $(^Name) from your computer."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Uninstall Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Completing the $(^Name) Setup Wizard"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "NSIS Setup Wizard Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "Setup has finished copying files to your computer.\r\n\r\nTo finish the uninstallation, you must restart your computer.  Do you want to restart your computer now?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "Setup has successfully uninstalled $(^Name) from your computer.\r\n\r\nWhich actions do you want to perform?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "Setup has successfully uninstalled $(^Name) from your computer.\r\n\r\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Yes, restart my computer now."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "No, I will restart my computer later."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CHECKBOX_RUN "${XPUI_FINISHPAGE_CHECKBOX_RUN}"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CHECKBOX_DOCS "${XPUI_FINISHPAGE_CHECKBOX_DOCS}"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "NSIS Setup Wizard Complete"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "The wizard was interrupted before $(^Name) could be completely installed.\r\n\r\nYour system has not been modified.  To install this program at a later time, please run this\r\nwizard again.\r\n\r\n\r\n\r\n\r\nPlease click Close to exit the Setup Wizard."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Installation Incomplete"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Setup Cancelled"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "NSIS Uninstall Wizard Complete"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "The wizard was interrupted before $(^Name) could be completely uninstalled.\r\n\r\nYour system has not been modified.  To uninstall this program at a later time, please run this wizard again.\r\n\r\n\r\n\r\n\r\nPlease click Close to exit the Setup Wizard."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Uninstallation Incomplete"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "$(^Name) Setup was not completed successfully."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Setup Cancelled"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Confirm Uninstall"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Remove $(^Name) from your computer"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Uninstall $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) will be uninstalled from the following folder.  Click Uninstall to start the uninstallation."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Uninstalling from:"
+
+!insertmacro XPUI_LANGUAGEFILE_END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/French.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,245 @@
+;NSIS ExperienceUI - Language File
+;Compatible with ExperienceUI 1.11
+
+;Language: French (1036)
+;By [d]évolution
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "French"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_DEFAULT XPUI_LANGNAME "Français"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Suivant
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Précédent
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Annuler
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  Fermer
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "L'installation n'est pas terminée.$\n$\nSi vous quittez maintenant, $(^Name) ne sera pas installé.$\n$\nVoulez-vous vraiment quitter l'installation ?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Bienvenue au programme d'installation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "Cet programme va vous guider durant l'installation de $(^Name).\r\n\r\nIl est recommandé de fermer toutes les applications avant de poursuivre l'installation.  Ce qui va permettre la mise à jour de fichiers systèmes importants sans avoir à redémarrer votre ordinateur.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Bienvenue"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Bienvenue dans l'installation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Bienvenue au programme de désinstallation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "Cet programme va vous guider dans la désinstallation de $(^Name).\r\n\r\nIl est recommandé de fermer toutes les applications avant de poursuivre l'installation.  Ce qui va permettre la mise à jour de fichiers systèmes importants sans avoir à redémarrer votre ordinateur.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Bienvenue"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Bienvenue dans le programme de désinstallation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Bienvenue au programme d'installation NSIS de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Bienvenue dans l'installation de $(^Name).  Ceci va installer $(^Name) sur votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Bienvenue"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Bienvenue dans l'installation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Bienvenue au programme d'installation NSIS de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Bienvenue dans l'installation de $(^Name).  Ceci va désinstaller $(^Name) de votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Bienvenue"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Bienvenue dans le programme de désinstallation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": Licence utilisateur"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Veuillez examiner les termes de la licence avant d'installer $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "Licence utilisateur"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Appuyez sur Page Suivante pour lire le reste de la licence utilisateur."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, cliquez sur J'accepte pour continuer.  Vous devez accepter la licence utilisateur pour installer $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, cochez la case ci-dessous.  Vous devez accepter la licence utilisateur pour installer $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, sélectionnez le premier choix ci-dessous.  Vous devez accepter la licence utilisateur pour installer $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": Licence utilisateur"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "J'accepte les termes et conditions ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Veuillez examiner les termes de la licence avant de désinstaller $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "Licence utilisateur"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Appuyez sur Page Suivante pour lire le reste de la licence utilisateur."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, cliquez sur J'accepte pour continuer.  Vous devez accepter la licence utilisateur pour désinstaller $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, cochez la case ci-dessous.  Vous devez accepter la licence utilisateur pour désinstaller $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si vous acceptez les termes de la licence utilisateur, sélectionnez le premier choix ci-dessous.  Vous devez accepter la licence utilisateur pour désinstaller $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Choisissez les composants"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Choisissez les composants de $(^Name) que vous souhaitez installer."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Choisissez les composants"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Passer le curseur de votre souris sur un composant pour voir sa description"
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Choisissez les composants"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Choisissez les composants de $(^Name) que vous souhaitez désinstaller."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Choisissez les composants"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Passer le curseur de votre souris sur un composant pour voir sa description"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Choisissez le dossier d'installation"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "L'assistant va installer $(^Name) dans le dossier suivant.$\r$\n$\r$\nPour l'installer dans le dossier par défaut, laissez le champs ci-dessous tel quel.  Pour l'installer dans un dossier différent, entrez un chemin ci-dessous, ou cliquez sur Parcourir. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Dossier de Destination"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Parcourir..."
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Veuillez sélectionner un dossier :"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Choisissez le dossier de destination"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Choisissez le dossier dans lequel installer $(^Name)."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Choisissez le dossier d'installation"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "L'assistant va désinstaller $(^Name) du dossier suivant.$\r$\n$\r$\nPour désinstaller à partir de ce dossier, cliquez sur suivant.  Pour désinstaller à partir d'un dossier différent, entrez un chemin ci-dessous, ou cliquez sur Parcourir."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Dossier de Destination"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Parcourir..."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Veuillez sélectionner un dossier :"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Choisissez le dossier de destination"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Choisissez le dossier dans lequel déinstaller $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Dossier du Menu Démarrer"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Choisissez un dossier dans le menu Démarrer"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Choisissez un dossier dans le menu Démarrer pour les raccourcis de $(^Name) :"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Choisissez le dossier du menu Démarrer dans lequel vous voulez placer les raccourcis de $(^Name) :"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "Ne pas créer de raccourcis"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER     "$(^Name)"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Dossier du Menu Démarrer"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Choisissez un dossier dans le menu Démarrer"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Choisissez un dossier dans le menu Démarrer dans lequel supprimer les raccourcis :"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Choisissez le dossier du menu Démarrer dans lequel vous voulez supprimer les raccourcis :"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Ne pas supprimer les raccourcis"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_FOLDER   "$(^Name)"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Confirmation de l'installation"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "Le programme a finit de rassembler les informations et est prêt à installer $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Confirmation de l'installation"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "L'assistant est prêt à installer $(^Name) sur votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Confirmation de l'installation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "Le programme a finit de rassembler les informations et est prêt à désinstaller $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Confirmation de la désinstallation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "L'assistant est prêt à désinstaller $(^Name) de votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Appuyez sur suivant pour continuer."
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copie des fichiers"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Veuillez patienter pendant l'installation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Installation en cours..."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Installation terminée"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "Tous les components de $(^Name) ont étés installés sur votre ordinateur."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Suppression des fichiers"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Veuillez patienter pendant la désinstallation de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Désinstallation en cours..."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Désinstallation terminée"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "Tous les components de $(^Name) ont étés supprimés de votre ordinateur."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Installation interrompue"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "L'installation de $(^Name) n'a pas été terminée."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Désinstallation interrompue"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "La désinstallation de $(^Name) n'a pas été terminée."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Installation réussie"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "L'assistant a terminé l'installation de $(^Name) sur votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Installation terminée"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) a été installé avec succès."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Cliquez sur suivant pour terminer."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Désinstallation réussie"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "L'assistant a terminé la désinstallation de $(^Name) sur votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Désinstallation terminée"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) a été désinstallé avec succès."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Cliquez sur suivant pour terminer."
+
+; FINISH PAGE
+
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Installation terminée"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "L'assistant a terminé l'installation de $(^Name) sur votre ordinateur est terminée."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Installation terminée"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Finalisation de l'assistant d'installation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "Fin de l'assistant d'installation de NSIS"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "L’installation de $(^Name) sur votre ordinateur est terminée.\r\n\r\nQue voulez-vous faire ?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "Le programme d'installation a terminé de copier les fichiers sur votre ordinateur.\r\n\r\nPour terminer l'installation, il faut redémarrer l'ordinateur.  Redémarrer l'ordinateur maintenant ?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "L’installation de $(^Name) sur votre ordinateur est terminée.\r\n\r\nCliquez sur $(XPUI_BUTTONTEXT_CLOSE) pour quitter le programme d'installation"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Exécuter $(^Name) maintenant"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "Afficher la documentation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Oui, redémarrer mon ordinateur maintenant."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "Non, je vais redémarrer moi-même mon ordinateur plus tard."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "L'assistant doit redémarrer votre ordinateur.$\r$\n$\r$\nFermez tous les documents et applications avant de continuer.  Cliquez sur Ok pour redémarrer votre ordinateur."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Désinstallation terminée"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "L'assistant a terminé la désinstallation de $(^Name) sur votre ordinateur."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Désinstallation terminée"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Finalisation de l'assistant d'installation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "Fin de l'assistant d'installation de NSIS"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "$(^Name) a été supprimé de votre ordinateur.\r\n\r\nPour terminer la désinstallation, il faut redémarrer l'ordinateur.  Redémarrer l'ordinateur maintenant ?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "$(^Name) a été supprimé de votre ordinateur.\r\n\r\nQue voulez-vous faire ?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "$(^Name) a été supprimé de votre ordinateur.\r\n\r\nCliquez sur $(XPUI_BUTTONTEXT_CLOSE) pour quitter le programme d'installation."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Oui, redémarrer mon ordinateur maintenant."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "Non, je vais redémarrer moi-même mon ordinateur plus tard."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "Fin de l'assistant d'installation de NSIS"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "L'assistant a été interrompu avant de pouvoir installer $(^Name).\r\n\r\nVotre système est inchangé. Pour installer ce programme ultérieurement, veuillez relancer le programme d'installation.\r\n\r\n\r\n\r\n\r\nCliquer sur Fermer pour terminer l'assistant d'installation."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Installation interrompue"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "L'installation de $(^Name) n'a pas été terminée."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Installation annulée"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "Fin de l'assistant de désinstallation de NSIS"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "L'assistant a été interrompu avant de pouvoir désinstaller $(^Name).\r\n\r\nVotre système est inchangé. Pour désinstaller ce programme ultérieurement, veuillez relancer le programme d'installation.\r\n\r\n\r\n\r\n\r\nCliquer sur Fermer pour terminer l'assistant d'installation."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Désinstallation interrompue"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "La désinstallation de $(^Name) n'a pas été terminée."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Désinstallation annulée"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Confirmation de la désinstallation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Supprimer $(^Name) de votre ordinateur"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Désinstallation de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) sera désinstallé à partir du dossier suivant.  Cliquez Désinstaller pour lancer la désinstallation."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Désintaller à partir de :"
+
+!insertmacro XPUI_LANGUAGEFILE_END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/German.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,245 @@
+; EXPERIENCEUI DEFAULT LANGUAGE FILE
+;Compatible with "Bryce" M1 and later
+
+;Language: German (1031)
+;Par Matze <matze@gravure-hebdo.com>
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "German"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_DEFAULT XPUI_LANGNAME "Deutsch"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Weiter
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Zurück
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Abbrechen
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  schließen
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "Sie sind bereit die Installation zu abbrechen.$\n$\nWenn Sie jetzt abbrechen, wird $(^Name) nicht installiert sein.$\n$\nWollen Sie fortfahren?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Willkommen beim Installations-Assistenten für $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "Dieser Assistent wird Sie durch die Installation von $(^Name) gegleiten.\r\n\r\nEs wird empfohlen vor der Installation alle anderen Programme zu schließen, damit bestimmte Systemdateien ohne Neustart ersetzt werden können.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Willkommen"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Willkommen bei der Installation von $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Willkommen beim Deinstallations-Assistenten für $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "Dieser Assistent wird Sie durch die Deinstallation von $(^Name) begleiten.\r\n\r\nEs wird empfohlen vor der Installation alle anderen Programme zu schließen, damit bestimmte Systemdateien ohne Neustart ersetzt werden können.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Willkommen"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Willkommen bei der Deinstallation von $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Willkommen beim Installations-Assistenten für $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Willkommen beim Installations-Assistenten für $(^Name). Er wird $(^Name) auf Ihrem Computer installieren."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Willkommen "
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Willkommen bei der Installation von $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Willkommen beim NSIS Deinstallations-Assistenten für $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Willkommen beim Installations-Assistenten für $(^Name). Er wird $(^Name) auf Ihrem Computer deinstallieren."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Willkommen"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Willkommen bei der Deinstallation von $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": Lizenzabkommen"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "J'accepte les termes et conditions de la licence ci-dessus"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Ich akzeptiere nicht die Bedingungen des Abkommens und Lizenzbedingungen"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "Ich akzeptiere die Bedingungen des Abkommens und Lizenzbedingungen"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie $(^Name) installieren."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "Lizenzabkommen"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Drücken Sie die Bild-nach-unten Taste, um den Rest des Abkommens zu sehen."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) installieren zu können."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) installieren zu können."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie die erste Option . Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) installieren zu können."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": Lizenzabkommen"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Ich akzeptiere die Bedingungen des Abkommens und Lizenzbedingungen"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Ich akzeptiere nicht die Bedingungen des Abkommens und Lizenzbedingungen"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "Ich akzeptiere nicht die Bedingungen des Abkommens und Lizenzbedingungen"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Bitte lesen Sie die Lizenzbedingungen durch, bevor Sie $(^Name) deinstallieren."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "Lizenzabkommen"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Drücken Sie die Bild-nach-unten Taste, um den Rest des Abkommens zu sehen."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, klicken Sie auf Annehmen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) deinstallieren zu können."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, aktivieren Sie das Kästchen. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) deinstallieren zu können."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Falls Sie alle Bedingungen des Abkommens akzeptieren, wählen Sie  die erste Option. Sie müssen die Lizenzvereinbarungen anerkennen, um $(^Name) deinstallieren zu können."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Komponenten auswählen"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Wählen Sie welche Komponenten aus $(^Name) installieret werden sollen."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Komponenten auswählen"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Beschreibung"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Komponenten auswählen"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Wählen Sie welche Komponenten aus $(^Name) deinstallieret werden sollen.."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Komponenten auswählen"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Beschreibung"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Zielverzeichnis auswählen"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "Die Installation wird $(^Name) in das folgende verzeichnis installieren.$\r$\nUm in das unten angegebene Verzeichnis zu installieren, fahren Sie fort.  Um in ein anderes Verzeichnis zu installieren, drücken Sie die Taste Durchsuchen und wählen Sie ein anderes Verzeichnis aus. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Zielverzeichnis"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Durchsuchen"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Wälhen Sie ein Verzeichnis:"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Wählen Sie ein Installationsverzeichnis"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Wählen Sie das Verzeichnis aus, in das $(^Name) installiert werden soll."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Wählen Sie ein Installationsverzeichnis"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "Die Installation wird $(^Name) von dem folgenden verzeichnis deinstallieren.$\r$\nUm von dem unten angegebenen Verzeichnis zu deinstallieren, fahren Sie fort.  Um von einem anderen Verzeichnis zu deinstallieren, drücken Sie die Taste Durchsuchen und wählen Sie ein anderes Verzeichnis aus."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Zielverzeichnis"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Durchsuchen"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Wälhen Sie ein Verzeichnis:"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Wählen Sie ein Installationsverzeichnis"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Wählen Sie das Verzeichnis aus, von dem $(^Name) deinstalliert werden soll."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION  ": Startmenü-Ordner"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE    "Bestimmen Sie einen Startmenü-Ordner für die Programmverknüpfungen."
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE "Bestimmen Sie einen Startmenü-Ordner in dem die Programmverknüpfungen für $(^Name) erstellet werden:"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT     "Bestimmen Sie einen Startmenü-Ordner für die Programmverknüpfungen zu $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX "Keine Verknüpfungen erstellen"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER   "$(^Name)"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Startmenü-Ordner"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Bestimmen Sie einen Startmenü-Ordner für die Programmverknüpfungen"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Bestimmen Sie einen Startmenü-Ordner in dem Sie die Programmverknüpfungen für $(^Name) entfernen wollen:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Bestimmen Sie einen Startmenü-Ordner von dem Sie die Programmverknüpfungen entfernen wollen:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Keine Verknüpfungen entfernen"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_FOLDER   "$(^Name)"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Installation bestätigen"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "Die Installation hat genug Informationen versammelt und ist bereit $(^Name) zu installieren."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Installation bestätigen"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "Die Installation ist bereit $(^Name) auf Ihr Computer zu installieren."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Installation bestätigen"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "Die Installation hat genug Informationen versammelt und ist bereit $(^Name) zu deinstallieren."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Deinstallation bestätigen"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "Die Installation ist bereit $(^Name) aus Ihr Computer zu deinstallieren."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Drücken Sie Weiter um fortzufahren."
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Kopie der Dateien"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Bitte warten Sie, während $(^Name) installiert wird."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Installiere..."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Die Installation ist vollständig"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "Alle Komponenten von $(^Name) wurden erfolgreich auf Ihr Computer kopiert."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Deinstallation der Dateien"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Bitte warten Sie, während $(^Name) deinstalliert wird."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Deinstallation"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Deinstallation fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "Alle Komponenten von $(^Name) wurden erfolgreich aus Ihr Computer entfernt."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Installation Nicht fertig"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "Die Installation von $(^Name) wurde nicht vollständig abgeschlossen."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Deinstallation Nicht fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "Die Installation von $(^Name) wurde nicht vollständig abgeschlossen."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Installation erfolgreich abgeschlossen."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "Die Installation hat erfolgreich $(^Name) auf Ihrem Computer installiert."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Die Installation ist vollständig"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) wurde erfolgreich installiert."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Klicken Sie auf Fertigstellen, um den Assistenten zu schließen."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Deinstallation erfolgreich abgeschlossen"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "Die Installation hat erfolgreich $(^Name) aus Ihrem Computer entfernt."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Deinstallation fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) ist erfolgreich entfernt worden."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Klicken Sie auf Fertigstellen, um den Assistenten zu schließen."
+
+; FINISH PAGE
+
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Installation fertig"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "Die Installation hat erfolgreich $(^Name) auf Ihrem Computer installiert."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Installation fertig"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Ende des Installations-Assistenten von $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "NSIS Installations-Assistent fertig"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "Die Installation hat erfolgreich $(^Name) auf Ihrem Computer installiert.\r\n\r\nWelche Aktionen wollen Sie tun?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "Die Installation hat die Dateien auf Ihr Computer kopiert.\r\n\r\nUm die Installation zu beenden, müssen Sie Irh Computer neu starten. Möchten Sie Windows jetzt neu starten?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "Die Installation hat erfolgreich $(^Name) auf Ihrem Computer installiert.\r\n\r\n$_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "$(^Name) jetzt starten"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "Die Anleitungen von $(^Name) lesen"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Ja, mein Computer jetzt neu starten."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "Nein, ich werde mein Computer später neu starten."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "Die Installation ist bereit Ihr Computer neu zu starten.$\r$\n$\r$\nSpeichern Sie und Schliessen Sie alle geöffnete Dateien, und klicken Sie auf OK um Ihr Computer neu zu starten."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Deinstallation fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "Die Installation hat erfolgreich $(^Name) aus Ihr Computer entfernt."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Deinstallation fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Ende des Installations-Assistenten von $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "NSIS Installations-Assistent fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "Die Installation hat die Dateien auf Ihr Computer kopiert.\r\n\r\nUm die Deinstallation zu beenden, müssen Sie Irh Computer neu starten. Möchten Sie Windows jetzt neu starten?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "Die Installation hat erfolgreich $(^Name) aus Ihr Computer entfernt.\r\n\r\nWelche Aktionen wollen Sie tun?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "Die Installation hat erfolgreich $(^Name) aus Ihr Computer entfernt.\r\n\r\nKlicken Sie auf $(XPUI_BUTTONTEXT_CLOSE) um di Installation zu verlassen."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Ja, mein Computer jetzt neu starten."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "Nein, ich werde mein Computer später neu starten."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "NSIS Installations-Assistent fertig"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "Der Assistent ist abgebrochen worden bevor $(^Name) vollig installiert wurde.\r\n\r\nIhr system wurde niche geändert.  Um dises Programm später zu installieren, starten Sie disen\r\nassistenten wieder.\r\n\r\n\r\n\r\n\r\nKlicken Sie auf schließen um der Assistent zu verlassen."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Installation Nicht fertig"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "Die Installation von $(^Name) wurde nicht vollständig abgeschlossen."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Abbruch der Installation"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "NSIS Deinstallations-Assistent fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "Der Assistent ist abgebrochen worden bevor $(^Name) vollig deinstalliert wurde.\r\n\r\nIhr system wurde niche geändert.  Um dises Programm später zu deinstallieren, starten Sie disen\r\nassistenten wieder.\r\n\r\n\r\n\r\n\r\nKlicken Sie auf schließen um der Assistent zu verlassen."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Deinstallation Nicht fertig"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "Die Installation von $(^Name) wurde nicht vollständig abgeschlossen."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Abbruch der Installation"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Deinstallation bestätigen"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "$(^Name) aus Ihrem Computer entfernen"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Désinstaller $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) wird von dem folgenden Verzeichnis deinstalliert werden.  Klicken Sie auf Deinstallieren um die Deinstallation zu starten."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Deinstallieren aus:"
+
+!insertmacro XPUI_LANGUAGEFILE_END
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/Italian.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,244 @@
+;NSIS ExperienceUI - Language File
+;Compatible with ExperienceUI 1.10
+
+;Language: Italiano (1040)
+;By Henrik Sozzi - henriks@tin.it
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "Italian"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_DEFAULT XPUI_LANGNAME "Italiano"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Next
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Back
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Cancel
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  Close
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "Stai per uscire dal setup.$\n$\nSe esci ora, $(^Name) non sarà installato.$\n$\nVuoi continuare?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Benvenuto nell'installazione di $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "Questa procedura ti guiderà nell'installazione di $(^Name).\r\n\r\nE' consigliato chiudere tutte le applicazioni prima di iniziare l'installazione. In questo modo sarà possibile aggiornare file di sistema senza riavviare il computer."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Benvenuto"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Benvenuto nell'installazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Benvenuto nella disinstallazione di $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "Questa procedura ti guiderà nella disinstallazione di $(^Name).\r\n\r\nE' consigliato chiudere tutte le applicazioni prima di iniziare la disinstallazione. Questo renderà possibile aggiornare file di sistema senza riavviare il computer."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Benvenuto"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Benvenuto nella disinstallazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Benvenuto nell'installazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Benvenuto nell'installazione di $(^Name). Verrà installato $(^Name) sul tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Benvenuto"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Benvenuto nell'installazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Benvenuto nella procedura di disinstallazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Benvenuto nell'installazione di $(^Name).  Verrà disinstallato $(^Name) dal tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Benvenuto"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Benvenuto nella disinstallazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": Accordo di licenza"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Sono daccordo a tutte le clausole e condizioni"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Non sono daccordo a tutte le clausole e condizioni"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "Sono daccordo a tutte le clausole e condizioni"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Leggi attentamente l'accordo di licenza prima di installare $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "Accordo di licenza"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Premi Pagina Giù per vedere il resto dell'accordo."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, fai click su Accetto per continuare. E' necessario accettare l'accordo per installare  $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, seleziona la casella sottostante. E' necessario accettare l'accordo per installare $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, seleziona la prima opzione sopra. E' necessario accettare l'accordo per installare $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": Accordo di licenza"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Accetto tutte le clausole e condizioni di cui sopra"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Non accetto tutte le clausole e condizioni di cui sopra"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "Accetto tutte le clausole e condizioni di cui sopra"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Sei pregato di rileggere l'accordo di licenza prima di disinstallare $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "Accordo di licenza"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Premi Pagina Giù per leggere il resto dell'accordo."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, fai click su Accetto per continuare. E' necessario accettare l'accordo per disinstallare  $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, seleziona la casella sottostante. E' necessario accettare l'accordo per disinstallare $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se accetti tutte le clausole e condizioni dell'accordo, seleziona la prima opzione sopra. E' necessario accettare l'accordo per disinstallare $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Seleziona i componenti"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Seleziona quali componenti di $(^Name) vuoi installare."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Seleziona componenti"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descrizione"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Muovi il mouse su un componente per vederne la descrizione"
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Seleziona i componenti"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Seleziona quali componenti di $(^Name) vuoi disinstallare."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Seleziona componenti"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descrizione"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Muovi il mouse su un componente per vederne la descrizione"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Seleziona la cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "L'installazione installerà $(^Name) nella seguente cartella.$\r$\n$\r$\nPer installare nella cartella di default lascia il testo sotto così com'è.  Per installare in una cartella differente inseriscila sotto oppure fai click su Sfoglia. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Sfoglia"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Seleziona una cartella:"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Seleziona cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Seleziona la cartella in cui installare $(^Name)."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Seleziona la cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "L'installazione disinstallerà $(^Name) dalla seguente cartella.$\r$\n$\r$\nPer disinstallare da questa cartella fai click su Avanti. Per disinstallare da una cartella differente inseriscila sotto oppure fai click su Sfoglia."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Sfoglia"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Seleziona una cartella:"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Seleziona cartella di installazione"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Seleziona la cartella da cui disinstallare $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Cartella del menu di avvio"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Seleziona la cartella del menu di avvio"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Seleziona la cartella del menu di avvio nella quale creare i collegamenti di $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Seleziona la cartella del menu di avvio nella quale creare i collegamenti di $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "Non creare una cartella nel menu avvio"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER     "$(^Name)"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Cartella del menu di avvio"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Seleziona la cartella del menu di avvio"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Seleziona la cartella del menu di avvio dalla quale rimuovere i collegamenti:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Seleziona la cartella del menu di avvio dalla quale rimuovere i collegamenti:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Non rimuovere la cartella del menu avvio"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_FOLDER   "$(^Name)"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Conferma installazione"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "L'installazione ha terminato di acquisire informazioni ed è pronta per installare $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Conferma l'installazione"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "L'installazione è pronta per installare $(^Name) nel tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Conferma installazione"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "L'installazione ha terminato di acquisire informazioni ed è pronta per disinstallare $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Conferma la disinstallazione"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "L'installazione è pronta per disinstallare $(^Name) nel tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Premi Avanti per continuare."
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copia files"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Attendere mentre avviene l'installazione di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Installazione"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "Tutti i componenti di $(^Name) sono stati copiati sul tuo computer."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Disinstallazione files"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Attendere mentre avviene la disinstallazioen di $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Disinstallazione"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "Tutti i componenti di $(^Name) sono stati rimossi dal tuo computer."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "Installazione di $(^Name) non completata."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "Disinstallazione di $(^Name) non completata."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "L'installazione ha installato con successo $(^Name) sul tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) è stato installato con successo."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Premi Chiudi per uscire."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "L'installazione ha disinstallato con successo $(^Name) dal tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) è stato disinstallato con successo."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Premi Chiudi per uscire."
+
+; FINISH PAGE
+
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "L'installazione ha installato con successo $(^Name) nel tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Completamento della procedura di installazione di $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "Procedura di installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "L'installazione ha installato con successo $(^Name) nel tuo computer.\r\n\r\nQuale azione vuoi eseguire?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "L'installazione ha finito di copiare files nel tuo computer.\r\n\r\nPer finire l'installazione devi riavviare il computer.  Vuoi riavviarlo ora?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "L'installazione ha installato con successo $(^Name) nel tuo computer.\r\n\r\nPremi $(XPUI_BUTTONTEXT_CLOSE) per uscire dall'installazione."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Esegui $(^Name) ora"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "Vedi la documentazione di $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Si, riavvia il computer ora."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "No, riavvierò il computer manualmente più tardi."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "L'installazione sta riavviando il computer.$\r$\n$\r$\nSalva e chiudi tutti i files e documenti aperti e fai click su OK per riavviare il computer."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "L'installazione ha rimosso con successo $(^Name) dal tuo computer."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Completamento della procedura di disinstallazione di $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "Procedura di disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "L'installazione ha finito di copiare files nel tuo computer.\r\n\r\nPer terminare la disinstallazione è necessario riavviare il computer.  Vuoi riavviarlo ora?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "L'installazione ha rimosso con successo $(^Name) dal tuo computer.\r\n\r\nQuale azione vuoi eseguire?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "L'installazione ha rimosso con successo $(^Name) dal tuo computer.\r\n\r\nPremi $(XPUI_BUTTONTEXT_CLOSE) per uscire dall'installazione."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Si, riavvia il computer ora."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "No, riavvierò il computer manualmente più tardi."
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "Installazione annullata"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "La procedura è stata interrotta prima che $(^Name) potesse essere installato.\r\n\r\nIl tuo sistema non è stato modificato.  Per installare questo software più avanti avvia questa \r\nprocedura di nuovo.\r\n\r\n\r\n\r\n\r\nPremi Chiudi per uscire dall'installazione."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Installazione completata"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "Installazione di $(^Name) non completata."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Installazione annullata"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "Disinstallazione annullata"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "La procedura è stata interrotta prima che $(^Name) potesse essere disinstallato.\r\n\r\nYour system has not been modified.  Il tuo sistema non è stato modificato.  Per installare questo software più avanti avvia questa procedura di nuovo.\r\n\r\n\r\n\r\n\r\nPremi Chiudi per uscire dall'installazione."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Disinstallazione completata"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "Disinstallazione di $(^Name) non completata."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Disinstallazione annullata"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Conferma disinstallazione"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Rimuovi $(^Name) dal tuo computer"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Disinstalla $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) sarà disinstallato dalla seguente cartella.  Premi Disinstalla per iniziare la disinstallazione."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Disinstalla da:"
+
+!insertmacro XPUI_LANGUAGEFILE_END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/PortugueseBR.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,242 @@
+;ExperienceUI for NSIS - Language File
+;Compatible with "Bryce" M1 and later
+
+;Language: Brazilian Portuguese (1046)
+;By Jenner Modesto <jennermodesto@gmail.com>
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "PortugueseBR"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!define XPUI_LANGNAME "Português do Brasil"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Avançar
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Voltar
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Cancelar
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  Fechar
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "Você deseja realmente finalizar a instalação do $(^Name)?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Bem-vindo ao Assistente de Instalação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "Esse Assistente irá orientá-lo durante o processo de instalação de $(^Name).\r\n\r\nÉ recomendado que todos os outros aplicativos sejam fechados antes de iniciar o Assistente. Isso tornará possível a atualização de arquivos de sistema sem a necessidade de reiniciar seu computador.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Bem-vindo"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Bem-vindo ao Assistente de Instalação de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Bem-vindo ao assistente de desinstalação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "Esse Assistente irá orientá-lo durante o processo de desinstalação de $(^Name).\r\n\r\nÉ recomendado que todos os outros aplicativos sejam fechados antes de iniciar o Assistente. Isso tornará possível a atualização de arquivos de sistema sem a necessidade de reiniciar seu computador.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Bem-vindo"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Bem-vindo ao Assistente de Desinstalação de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Bem-vindo ao Assistente de Instalação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Bem-vindo à Instalação de $(^Name).  $(^Name) será instalado em seu computador."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Bem-vindo"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Bem-vindo à Instalação de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Bem-vindo ao Assistente do NSIS de Desinstalação de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Bem-vindo à Desinstalação de $(^Name).  $(^Name) será desinstalado do seu computador."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Bem-vindo"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Bem-vindo à Desinstalação de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": Acordo de Licença"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Eu concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Eu não concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "Eu concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Por favor, leia os termos de licença abaixo antes de desinstalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "Acordo de Licença"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Pressione Page Down ou use a barra de rolagem para ver o resto do acordo."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, clique em Eu Concordo para continuar. Você tem que aceitar o acordo para instalar $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, marque a caixa abaixo. Você tem que aceitar o acordo para instalar $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, selecione a primeira opção acima. Você tem que aceitar o acordo para instalar $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": Acordo de Licença"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Eu concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "Eu não concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "Eu concordo com os termos e condições acima"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Por favor, leia os termos de licença abaixo antes de desinstalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "Acordo de Licença"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Pressione Page Down ou use a barra de rolagem para ver o resto do acordo."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, clique em Eu Concordo para continuar. Você tem que aceitar o acordo para desinstalar $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, marque a caixa abaixo. Você tem que aceitar o acordo para desinstalar $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Se você aceita os termos do acordo, selecione a primeira opção acima. Você tem que aceitar o acordo para desinstalar $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Escolha os Componentes"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Escolha quais componentes de $(^Name) devem ser instalados."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Escolha os Componentes"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descrição"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Passe o mouse sobre um componente para ver sua descrição"
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Selecione os Componentes"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Escolha quais componentes de $(^Name) devem ser desinstalados."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Escolha os Componentes"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descrição"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Passe o mouse sobre um componente para ver sua descrição"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Selecione o Diretório de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "O Assistente irá instalar $(^Name) no diretório abaixo.$\n$\nPara instalar nesse diretório, clique em Avançar.  Para instalar em outro diretório, digite manualmente ou clique em Procurar.  $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Diretório de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Procurar"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Por favor, selecione um diretório:"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Escolha o Local de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Escolha o diretório no qual será instalado $(^Name)."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Selecione o Diretório de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "O Assistente irá desinstalar $(^Name) do diretório abaixo.$\n$\nPara desinstalar desse diretório, clique em Avançar.  Para desinstalar de outro diretório, digite manualmente ou clique em Procurar. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Diretório de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Procurar"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Por favor, selecione um diretório:"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Escolha o Local de Instalação"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Escolha o diretório do qual será desinstalado $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Pasta do Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Selecione a Pasta do Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Selecione a pasta na qual serão criados atalhos no Menu Iniciar para $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Selecione a pasta do Menu Iniciar na qual serão criados os atalhos para $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "Não criar pasta no Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER     "$(^Name)"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION  ": Pasta do Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE    "Selecione a Pasta do Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE "Selecione a pasta da qual serão removidos os atalhos do Menu Iniciar:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT     "Selecione a pasta do Menu Iniciar da qual serão removidos os atalhos:"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX "Não remover a pasta do Menu Iniciar"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_FOLDER   "$(^Name)"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Confirmar a Instalação"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "O Assistente terminou de reunir informações e está pronto para instalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Confirmar a Instalação"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "O Assistente está pronto para instalar $(^Name) em seu computador."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Confirmar a Desinstalação"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "O Assistente terminou de reunir informações e está pronto para desinstalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Confirmar a desinstalação"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "O Assistente está pronto para desinstalar $(^Name) do seu computador."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copiando Arquivos"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Por favor, aguarde enquanto $(^Name) está sendo instalado."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Instalando"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Instalação Completada"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "A instalação foi concluída com sucesso."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Desinstalando Arquivos"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Por favor, aguarde enquanto $(^Name) está sendo desinstalado."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Desinstalando"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Deinstalação Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "A deinstalação foi concluída com sucesso."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Instalação Incompleta"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "Instalação de $(^Name) não teve êxito."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Desinstalação Incompleta"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "Desinstalação de $(^Name) não teve êxito."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Instalação Bem Sucedida"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "O Assistente instalou $(^Name) em seu computador com êxito."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Instalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) foi instalado com êxito."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Clique em Fechar para sair."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Desinstalação Bem Sucedida"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "O Assistente desinstalou $(^Name) do seu computador com êxito."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Desinstalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) foi desinstalado com êxito."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Clique em Fechar para sair."
+
+; FINISH PAGE
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Instalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "O Assistente instalou $(^Name) em seu computador com êxito."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Instalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Completando o Assistente de Instalação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "Assistente do NSIS de Instalação Terminado"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "O Assistente instalou $(^Name) em seu computador com êxito.\r\n\r\nO que você deseja executar?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "O Assistente terminou de copiar os arquivos para o seu computador.\r\n\r\nÉ preciso reiniciar seu computador para terminar a instalação.  Você quer reiniciar seu computador agora?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "O Assistente instalou $(^Name) em seu computador com êxito.\r\n\r\nPor favor, clique em Fechar para sair do Assistente."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Executar $(^Name) agora"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "Ver a documentação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Sim, reinicie meu computador agora."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "Não, eu reiniciarei meu computador mais tarde."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "O Assistente está prestes a reiniciar seu computador.$\n$\nPor favor, salve e feche todos os arquivos e documentos abertos e clique em OK para reiniciar seu computador."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Desinstalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "O Assistente desinstalou $(^Name) do seu computador com êxito."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Desinstalação Completa"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Terminando o Assistente de Instalação de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "Assistente do NSIS de Instalação Terminado"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "O Assistente terminou de copiar os arquivos para o seu computador.\r\n\r\nÉ preciso reiniciar seu computador para terminar a desinstalação.  Você quer reiniciar seu computador agora?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "O Assistente desinstalou $(^Name) do seu computador com êxito.\r\n\r\nPor favor, clique em Fechar para sair do Assistente."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Sim, reinicie me computador agora."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "Não, eu reiniciarei meu computador mais tarde."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "Assistente do NSIS de Instalação Terminado"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "O assistente foi interrompido antes que $(^Name) pudesse ser completamente instalado.\r\n\r\nSeu sistema não foi modificado.  Para instalar esse programa mais tarde, execute o assistente novamente.\r\n\r\n\r\n\r\n\r\nPor favor, clique em $(XPUI_BUTTONTEXT_CLOSE) para sair do Assistente."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Instalação Incompleta"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "Instalação de $(^Name) não teve êxito."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Instalação Cancelada"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "Assistente do NSIS de Desinstalação Terminado"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "O assistente foi interrompido antes que $(^Name) pudesse ser completamente desinstalado.$\n$\nSeu sistema não foi modificado.  Para desinstalar esse programa mais tarde, execute o assistente novamente.\r\n\r\n\r\n\r\n\r\nPor favor, clique em $(XPUI_BUTTONTEXT_CLOSE) para sair do Assistente."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Desinstalação Incompleta"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "Desinstalação de $(^Name) não teve êxito."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Desinstalação Cancelada"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Confirmar Desinstalação"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Remover $(^Name) do seu computador"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Desinstalar $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) será desinstalado.  Clique em Desinstalar para iniciar a desinstalação."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Desinstalando de:"
+
+!insertmacro XPUI_LANGUAGEFILE_END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Language Files/Spanish.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,245 @@
+;NSIS ExperienceUI - Language File
+;Compatible with ExperienceUI 1.09ß
+
+;Language: Spanish (1034)
+;Par Matze <matze@gravure-hebdo.com>
+
+;--------------------------------
+
+!insertmacro XPUI_LANGUAGEFILE_BEGIN "Spanish"
+
+; Use only ASCII characters (if this is not possible, use the English name)
+!insertmacro XPUI_UNSET XPUI_LANGNAME
+!insertmacro XPUI_DEFAULT XPUI_LANGNAME "Español"
+
+; BUTTONS
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_NEXT   Siguiente
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_BACK   Atrás
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CANCEL Cancelar
+!insertmacro XPUI_DEFAULT XPUI_BUTTONTEXT_CLOSE  Cerrar
+
+!insertmacro XPUI_DEFAULT XPUI_ABORTWARNING_TEXT "Usted está a punto de salir del setup.$\n$\nSi usted ahora sale, $(^Name) no será instalado.$\n$\n¿Está seguro de que desea salir de la instalación de $(^Name)?"
+
+; +---------+
+; | INSTALL |
+; +---------+
+
+; WELCOME PAGE
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT_TOP "Bienvenido al Asistente de Instalación de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT "Este programa instalará $(^Name) en su ordenador.\r\n\r\nSe recomienda que cierre todas las demás aplicaciones antes de iniciar la instalación. Esto hará posible actualizar archivos relacionados con el sistema sin tener que reiniciar su ordenador.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TITLE "Bienvenido"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_SUBTITLE "Bienvenido al Instalación de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT_TOP "Bienvenido al Asistente de desinstalación de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TEXT "Este programa desinstalará $(^Name) en su ordenador.\r\n\r\nSe recomienda que cierre todas las demás aplicaciones antes de iniciar la desinstalación. Esto hará posible actualizar archivos relacionados con el sistema sin tener que reiniciar su ordenador.\r\n\r\n"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_TITLE "Bienvenido"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_SUBTITLE "Bienvenido al desinstalación de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE_CAPTION " "
+
+; WELCOME PAGE STYLE 2
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT_TOP "Bienvenido al Asistente de Instalación NSIS de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TEXT "Bienvenido al Instalación de $(^Name). Este programa instalará $(^Name) en su ordenador"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_TITLE "Bienvenido"
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_SUBTITLE "Bienvenido al Instalación de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE2_CAPTION " "
+
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT_TOP "Bienvenido al Asistente de Desinstalación NSIS de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TEXT "Bienvenido al Desinstalación de $(^Name). Este programa desinstalará $(^Name) en su ordenador"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_TITLE "Bienvenido"
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_SUBTITLE "Bienvenido al Desinstalación de $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNWELCOMEPAGE2_CAPTION " "
+
+; LICENSE PAGE
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_CAPTION ": Acuerdo de licencia"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "No acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_CHECKBOX "Acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_SUBTITLE "Por favor revise los términos de la licencia antes de instalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TITLE "Acuerdo de licencia"
+!insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_TOP "Presione Avanzar Página para ver el resto del acuerdo."
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si acepta todos los términos del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para instalar $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si acepta los términos del acuerdo, marque abajo la casilla. Debe aceptar los términos para instalar $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_LICENSEPAGE_TEXT_BOTTOM "Si acepta los términos del acuerdo, seleccione abajo la primera opción. Debe aceptar los términos para instalar $(^Name)."
+  !endif
+!endif
+
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_CAPTION ": Acuerdo de licencia"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "Acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "No acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_CHECKBOX "Acepto todos los términos del acuerdo"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_SUBTITLE "Por favor revise los términos de la licencia antes de desinstalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TITLE "Acuerdo de licencia"
+!insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_TOP "Presione Avanzar Página para ver el resto del acuerdo."
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si acepta todos los términos del acuerdo, seleccione Acepto para continuar. Debe aceptar el acuerdo para desinstalar $(^Name)."
+  !endif
+!endif
+!ifndef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifdef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si acepta los términos del acuerdo, marque abajo la casilla. Debe aceptar los términos para desinstalar $(^Name)."
+  !endif
+!endif
+!ifdef XPUI_UNLICENSEPAGE_RADIOBUTTONS
+  !ifndef XPUI_UNLICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_UNLICENSEPAGE_TEXT_BOTTOM "Si acepta los términos del acuerdo, seleccione abajo la primera opción. Debe aceptar los términos para desinstalar $(^Name)."
+  !endif
+!endif
+
+; COMPONENTS PAGE
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_CAPTION ": Selección de componentes"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_SUBTITLE "Seleccione qué características de $(^Name) desea instalar."
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TITLE "Selección de componentes"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descripción"
+!insertmacro XPUI_DEFAULT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Sitúe el ratón encima de un componente para ver su descripción"
+
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_CAPTION ": Selección de componentes"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_SUBTITLE "Seleccione qué características de $(^Name) desea desinstalar."
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TITLE "Selección de componentes"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Descripción"
+!insertmacro XPUI_DEFAULT XPUI_UNCOMPONENTSPAGE_TEXT_DESCRIPTION_INFO  "Sitúe el ratón encima de un componente para ver su descripción"
+
+; DIRECTORY PAGE
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_CAPTION ": Elegir lugar de instalación"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_TOP "El programa de instalación instalará $(^Name) en el siguiente directorio.$\r$\n$\r$\nPara instalar en un directorio diferente, presione Examinar y seleccione otro directorio. $_CLICK"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_DESTINATION "Repertorio de instalación"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSE "Examinar"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG "Elegir Repertorio:"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TITLE "Elegir lugar de instalación"
+!insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_SUBTITLE "Elija el directorio para instalar $(^Name)."
+
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_CAPTION ": Elegir lugar de instalación"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_TOP "El programa de desinstalación desinstalará $(^Name) en el siguiente directorio.$\r$\n$\r$\nPara desinstalar en un directorio diferente, presione Examinar y seleccione otro directorio."
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_DESTINATION "Repertorio de instalación"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSE "Examinar"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TEXT_BROWSEDIALOG "Elegir Repertorio:"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_TITLE "Elegir lugar de instalación"
+!insertmacro XPUI_DEFAULT XPUI_UNDIRECTORYPAGE_SUBTITLE "Elija el directorio para desinstalar $(^Name)."
+
+; START MENU PAGE
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CAPTION    ": Carpeta del Menú Inicio"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TITLE      "Elegir Carpeta del Menú Inicio"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_SUBTITLE   "Elija una Carpeta del Menú Inicio para los accesos directos de $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_TEXT       "Elija una Carpeta del Menú Inicio para los accesos directos de to $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_CHECKBOX   "No crear accesos directos"
+!insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER     "$(^Name)"
+
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CAPTION    ": Carpeta del Menú Inicio"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TITLE      "Elegir Carpeta del Menú Inicio"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_SUBTITLE   "Elija una Carpeta del Menú Inicio para desinstalar los accesos directos de $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_TEXT       "Elija una Carpeta del Menú Inicio para desinstalar los accesos directos de to $(^Name):"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_CHECKBOX   "No desinstalar accesos directos"
+!insertmacro XPUI_DEFAULT XPUI_UNSTARTMENUPAGE_FOLDER     "$(^Name)"
+
+; INSTALL CONFIRM PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_CAPTION ": Confirmar Instalación"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_SUBTITLE "Setup tiene bastante información y es listo instalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TITLE "Confirmar Instalación"
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_TOP "Setup es listo instalar $(^Name) en su computadora."
+!insertmacro XPUI_DEFAULT XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM "$_CLICK"
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_CAPTION ": Confirmar Instalación"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_SUBTITLE "Setup tiene bastante información y es listo desinstalar $(^Name)."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TITLE "Confirmar Instalación"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_TOP "Setup es listo desinstalar $(^Name) de su computadora."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_TEXT_BOTTOM "Presione Siguiente para continuar."
+
+; INSTFILES PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_CAPTION ": Copiar Archivos"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_SUBTITLE "Por favor espere mientras $(^Name) se instala."
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_TITLE "Instalando"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_TITLE "Instalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_DONE_SUBTITLE "Todos los componentes de $(^Name) fueron copiados en su sistema."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_CAPTION ": Desinstalando Archivos"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_SUBTITLE "Por favor espere mientras $(^Name) se desinstala."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_TITLE "Desinstalando"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_TITLE "Desinstalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_DONE_SUBTITLE "Todos los componentes de $(^Name) fueron quitados de su sistema."
+
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_TITLE "Instalación incompletada"
+!insertmacro XPUI_DEFAULT XPUI_INSTFILESPAGE_FAIL_SUBTITLE "Instalación de $(^Name) no se completó correctamente."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_TITLE "Desinstalación incompletada"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTFILESPAGE_FAIL_SUBTITLE "Desinstalación de $(^Name) no se completó correctamente."
+
+; INSTALL SUCCESS PAGE
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_CAPTION ": Instalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_SUBTITLE "La instalación de $(^Name) se ha completado correctamente"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TITLE "Instalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_TOP    "$(^Name) ha sido instalado en su sistema."
+!insertmacro XPUI_DEFAULT XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM "Presione Terminar para cerrar este asistente."
+
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_CAPTION ": Desinstalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_SUBTITLE "La desinstalación de $(^Name) se ha completado correctamente"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TITLE "Desinstalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_TOP    "$(^Name) ha sido desinstalado en su sistema."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTSUCCESSPAGE_TEXT_BOTTOM "Presione Terminar para cerrar este asistente."
+
+; FINISH PAGE
+
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TITLE "Instalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_SUBTITLE "La instalación de $(^Name) se ha completado correctamente."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CAPTION ": Instalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP "Completando el Asistente de Instalación de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_TOP_ALT "Completando el Asistente de Instalación NSIS"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_RUN "$(^Name) ha sido instalado de su sistema.\r\n\r\n¿Qué acciones usted desean realizarse?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT_REBOOT "Instalación completando copiar archivos en su sistema.\r\n\r\nSu ordenador debe ser reiniciado para completar la instalación de $(^Name). ¿Desea reiniciar ahora?"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_TEXT "$(^Name) ha sido instalado de su sistema.\r\n\r\nPresione $(XPUI_BUTTONTEXT_CLOSE) para cerrar este asistente."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_RUN "Iniciar $(^Name) ahora"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_CHECKBOX_DOCS "Leer la documentación de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_REBOOT "Si, reiniciar su ordenador ahora."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_RADIOBUTTON_NOREBOOT "No, reiniciar su ordenador más tarde."
+!insertmacro XPUI_DEFAULT XPUI_FINISHPAGE_REBOOT_MESSAGEBOX "Setup está alrededor reiniciar su ordenador.$\r$\n$\r$\nPor favor excepto y cierre todos los archivos y los documentos abiertos, i presione OK para reiniciar su ordenador."
+
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TITLE "Desinstalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_SUBTITLE "La desinstalación de $(^Name) se ha completado correctamente."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_CAPTION ": Desinstalación Completada"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP "Completando el Asistente de Desinstalación de $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_TOP_ALT "Completando el Asistente de Desinstalación NSIS"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_REBOOT "Instalación completando copiar archivos en su sistema.\r\n\r\nSu ordenador debe ser reiniciado para completar la desinstalación de $(^Name). ¿Desea reiniciar ahora?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT_RUN "$(^Name) ha sido desinstalado de su sistema.\r\n\r\n¿Qué acciones usted desean realizarse?"
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_TEXT "$(^Name) ha sido desinstalado de su sistema.\r\n\r\nPresione $(XPUI_BUTTONTEXT_CLOSE) para cerrar este asistente."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_REBOOT "Si, reiniciar su ordenador ahora."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_RADIOBUTTON_NOREBOOT "No, reiniciar su ordenador más tarde."
+!insertmacro XPUI_DEFAULT XPUI_UNFINISHPAGE_REBOOT_MESSAGEBOX "${XPUI_FINISHPAGE_REBOOT_MESSAGEBOX}"
+
+; ABORT PAGE
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT_TOP "Completando el Asistente de Instalación NSIS"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TEXT "El Asistente fue interrumpido antes $(^Name) ha sido instalado en su sistema.\r\n\r\nSu sistema no se ha modificado.  Para instalar este programa más tarde, reinicia este\r\nassistente.\r\n\r\n\r\n\r\n\r\nPresione Terminar para cerrar este asistente."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_TITLE "Instalación incompletada"
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_SUBTITLE "Instalación de $(^Name) no se completó correctamente."
+!insertmacro XPUI_DEFAULT XPUI_ABORTPAGE_CAPTION ": Instalación Anulada"
+
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT_TOP "Completando el Asistente de Desinstalación NSIS"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TEXT "El Asistente fue interrumpido antes $(^Name) ha sido desinstalado en su sistema.\r\n\r\nSu sistema no se ha modificado.  Para instalar este programa más tarde, reinicia este assistente.\r\n\r\n\r\n\r\n\r\nPresione Terminar para cerrar este asistente."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_TITLE "Desinstalación incompletada"
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_SUBTITLE "Desinstalación de $(^Name) no se completó correctamente."
+!insertmacro XPUI_DEFAULT XPUI_UNABORTPAGE_CAPTION ": Instalación Anulada"
+
+; +-----------+
+; | UNINSTALL |
+; +-----------+
+
+; MOST OF THE UNINSTALL PAGES ARE TAKEN CARE OF USING THE PAGE MODE SYSTEM
+; THE XPUI CONFIRM, UNINSTFILES, AND SUCCESS PAGES USE THE PAGE MODE SYSTEM,
+; BUT THE NSIS-STYLE UNINSTALL CONFIRM PAGE SIMPLY USES A NON-PAGE-MODE METHOD.
+
+; UNINST CONFIRM PAGE (NSIS)
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION ": Confirmar Desinstalación"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE "Desinstalar $(^Name) de su sistema."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE "Desinstalar $(^Name)"
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP "$(^Name) sea desinstalado de la carpeta siguiente.  Presione Desinstalar para iniciar la Desinstalación."
+!insertmacro XPUI_DEFAULT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER "Desinstalar de:"
+
+!insertmacro XPUI_LANGUAGEFILE_END
Binary file Contrib/ExperienceUI/LargeLogo.gif has changed
Binary file Contrib/ExperienceUI/License.rtf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/MUIConvert.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,537 @@
+; ExperienceUI for NSIS
+; Converter script
+; Implements support for MUI and UMUI defines into ExperienceUI
+
+; Copyright © 2005-2006 Dan Fuhry (dandaman32)
+
+!macro XPUI_PAGE_TITLE_CONVERT P
+  !insertmacro XPUI_CONVERT XPUI_${P}PAGE_TITLE MUI_TEXT_${P}_TITLE
+  !insertmacro XPUI_CONVERT XPUI_${P}PAGE_SUBTITLE MUI_TEXT_${P}_SUBTITLE
+!macroend
+
+!macro XPUI_LANGUAGE_CONVERT
+
+!verbose push
+!verbose 1 ; These can be obnoxious
+
+; CONVERSION LIST (VERY LONG)
+; LEGEND:
+
+; MACRO                 | XPUI DEFINE                               | MUI/UMUI DEFINE
+;                       |                                           |
+!insertmacro XPUI_CONVERT XPUI_HEADERIMAGE                            MUI_HEADERIMAGE_BITMAP
+!insertmacro XPUI_CONVERT XPUI_HEADERIMAGE_NORESIZETOFIT              MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+!insertmacro XPUI_CONVERT XPUI_UNHEADERIMAGE                          MUI_HEADERIMAGE_UNBITMAP
+!insertmacro XPUI_CONVERT XPUI_UNHEADERIMAGE_NORESIZETOFIT            MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
+!insertmacro XPUI_CONVERT XPUI_TEXT_COLOR                             MUI_TEXT_COLOR
+!insertmacro XPUI_CONVERT XPUI_TEXT_BGCOLOR                           MUI_BGCOLOR
+!insertmacro XPUI_CONVERT XPUI_TEXT_LIGHTCOLOR                        UMUI_TEXT_LIGHTCOLOR
+!insertmacro XPUI_CONVERT XPUI_HEADERIMAGE                            UMUI_HEADERIMAGE_BMP
+!insertmacro XPUI_CONVERT XPUI_UNHEADERIMAGE                          UMUI_UNHEADERIMAGE_BMP
+!insertmacro XPUI_CONVERT XPUI_ICON                                   MUI_ICON
+!insertmacro XPUI_CONVERT XPUI_UNICON                                 MUI_UNICON
+!insertmacro XPUI_CONVERT XPUI_ABORTWARNING_TEXT                      MUI_TEXT_ABORTWARNING
+!insertmacro XPUI_CONVERT XPUI_ABORTWARNING_TEXT                      MUI_ABORTWARNING_TEXT
+!insertmacro XPUI_CONVERT XPUI_BRANDINGTEXT_COLOR_BG                  UMUI_BRANDINGTEXTBACKCOLOR
+!insertmacro XPUI_CONVERT XPUI_BRANDINGTEXT_COLOR_FG                  UMUI_BRANDINGTEXTFRONTCOLOR
+
+!insertmacro XPUI_CONVERT XPUI_BOTTOMIMAGE                            UMUI_BOTTOMIMAGE
+!insertmacro XPUI_CONVERT XPUI_BOTTOMIMAGE_BMP                        UMUI_BOTTOMIMAGE_BMP
+!insertmacro XPUI_CONVERT XPUI_UNBOTTOMIMAGE                          UMUI_UNBOTTOMIMAGE
+!insertmacro XPUI_CONVERT XPUI_UNBOTTOMIMAGE_BMP                      UMUI_UNBOTTOMIMAGE_BMP
+
+!insertmacro XPUI_CONVERT XPUI_LEFTLOGO                               UMUI_LEFTIMAGE_BMP
+!insertmacro XPUI_CONVERT XPUI_UNLEFTLOGO                             UMUI_UNLEFTIMAGE_BMP
+
+!insertmacro XPUI_CONVERT XPUI_UI                                     MUI_UI
+!insertmacro XPUI_CONVERT XPUI_UI                                     UMUI_UI
+
+!insertmacro XPUI_CONVERT XPUI_LICENSEBKCOLOR                         MUI_LICENSEPAGE_BGCOLOR
+
+!insertmacro XPUI_CONVERT XPUI_COMPONENTSPAGE_NODESC                  MUI_COMPONENTSPAGE_NODESC
+
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGE_TEXT                       MUI_WELCOMEPAGE_TEXT
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGE_TEXT_TOP                   MUI_WELCOMEPAGE_TITLE
+
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT                 MUI_WELCOMEPAGE_TEXT
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT_TOP             MUI_WELCOMEPAGE_TITLE
+
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT                 MUI_TEXT_WELCOME_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT_TOP             MUI_TEXT_WELCOME_INFO_TITLE
+
+!ifdef MUI_TEXT_WELCOME_INFO_TEXT
+  !insertmacro XPUI_DEFAULT XPUI_WELCOMEPAGE_TEXT `${MUI_TEXT_WELCOME_INFO_TEXT}`
+!endif
+
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGE_TEXT_TOP                   MUI_TEXT_WELCOME_INFO_TITLE
+
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT                 MUI_WELCOME_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_WELCOMEPAGESTYLE2_TEXT_TOP             MUI_WELCOME_INFO_TITLE
+
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_TEXT_TOP                   MUI_LICENSEPAGE_TEXT_TOP
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_TEXT_BOTTOM                MUI_LICENSEPAGE_TEXT_BOTTOM
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_CHECKBOX                   MUI_LICENSEPAGE_CHECKBOX
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_CHECKBOX_TEXT              MUI_LICENSEPAGE_CHECKBOX_TEXT
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_RADIOBUTTONS               MUI_LICENSEPAGE_RADIOBUTTONS
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_AGREE    MUI_LICENSEPAGE_RAGIOBUTTONS_TEXT_ACCEPT
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE  MUI_LICENSEPAGE_RAGIOBUTTONS_TEXT_DECLINE
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_TEXT_TOP                   MUI_INNERTEXT_LICENSE_TOP
+!insertmacro XPUI_CONVERT XPUI_LICENSEPAGE_TEXT_BOTTOM                MUI_INNERTEXT_LICENSE_BOTTOM
+
+; MUI Japanese Translation license page checkbox text has a `...
+!insertmacro XPUI_CONVERT_QUOTE_ALT XPUI_LICENSEPAGE_CHECKBOX_TEXT    MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX
+!insertmacro XPUI_CONVERT_QUOTE_ALT XPUI_LICENSEPAGE_CHECKBOX_TEXT    MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX
+
+!insertmacro XPUI_CONVERT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE  MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+!insertmacro XPUI_CONVERT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO   MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+!insertmacro XPUI_CONVERT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE  MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE
+!insertmacro XPUI_CONVERT XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO   MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO
+
+!insertmacro XPUI_CONVERT XPUI_DIRECTORYPAGE_TEXT_TOP                 MUI_DIRECTORYPAGE_TEXT_TOP
+!insertmacro XPUI_CONVERT XPUI_DIRECTORYPAGE_TEXT_DESTINATION         MUI_DIRECTORYPAGE_TEXT_DESTINATION
+
+!insertmacro XPUI_CONVERT XPUI_STARTMENUPAGE_TEXT                     MUI_STARTMENUPAGE_TEXT_TOP
+!insertmacro XPUI_CONVERT XPUI_STARTMENUPAGE_CHECKBOX                 MUI_STARTMENUPAGE_TEXT_CHECKBOX
+!insertmacro XPUI_CONVERT XPUI_STARTMENUPAGE_TEXT                     MUI_INNERTEXT_STARTMENU_TOP
+!insertmacro XPUI_CONVERT XPUI_STARTMENUPAGE_CHECKBOX                 MUI_INNERTEXT_STARTMENU_CHECKBOX
+
+!insertmacro XPUI_CONVERT XPUI_INSTFILESPAGE_DONE_TITLE               MUI_TEXT_FINISH_TITLE
+!insertmacro XPUI_CONVERT XPUI_INSTFILESPAGE_DONE_SUBTITLE            MUI_TEXT_FINISH_SUBTITLE
+
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP                        MUI_FINISHPAGE_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT                            MUI_FINISHPAGE_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_RUN                        MUI_FINISHPAGE_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT                     MUI_FINISHPAGE_INFO_REBOOT
+!ifdef MUI_FINISHPAGE_RUN
+  !ifndef XPUI_${XPUI_UN}FINISHPAGE_RUN
+    !define XPUI_${XPUI_UN}FINISHPAGE_RUN
+  !endif
+  !ifndef XPUI_${XPUI_UN}FINISHPAGE_RUN_FILE
+    !define XPUI_${XPUI_UN}FINISHPAGE_RUN_FILE "${MUI_FINISHPAGE_RUN}"
+  !endif
+!endif
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_RUN_FUNCTION                    MUI_FINISHPAGE_RUN_FUNCTION
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN                    MUI_FINISHPAGE_RUN_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_DOCS                            MUI_FINISHPAGE_SHOWREADME
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_DOCS_FILE                       MUI_FINISHPAGE_SHOWREADME
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS                   MUI_FINISHPAGE_SHOWREADME_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_NOREBOOT                        MUI_FINISHPAGE_NOREBOOTSUPPORT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT                       MUI_FINISHPAGE_LINK
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_LINK_LOCATION                   MUI_FINISHPAGE_LINK_LOCATION
+
+!ifdef MUI_FINISHPAGE_LINK
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_LINK ""
+  !insertmacro XPUI_SET XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT `${MUI_FINISHPAGE_LINK}`
+  !ifdef MUI_FINISHPAGE_LINK_LOCATION
+    !insertmacro XPUI_DEFAULT "XPUI_FINISHPAGE_LINK_LOCATION" "${MUI_FINISHPAGE_LINK_LOCATION}"
+  !endif
+!endif
+
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP                    MUI_TEXT_FINISH_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT                MUI_TEXT_FINISH_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT                        MUI_TEXT_FINISH_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT                 MUI_TEXT_FINISH_INFO_REBOOT
+
+!insertmacro XPUI_CONVERT XPUI_FINISH_TEXT_TOP                        MUI_TEXT_FINISH_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_FINISH_TEXT                            MUI_TEXT_FINISH_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_FINISH_TEXT_REBOOT                     MUI_TEXT_FINISH_INFO_REBOOT
+!insertmacro XPUI_CONVERT XPUI_FINISH_RUN                             MUI_TEXT_FINISH_RUN
+!insertmacro XPUI_CONVERT XPUI_FINISH_RUN_FILE                        MUI_TEXT_FINISH_RUN
+!insertmacro XPUI_CONVERT XPUI_FINISH_RUN_FUNCTION                    MUI_TEXT_FINISH_RUN_FUNCTION
+!insertmacro XPUI_CONVERT XPUI_FINISH_CHECKBOX_RUN                    MUI_TEXT_FINISH_RUN_TEXT
+!insertmacro XPUI_CONVERT XPUI_FINISH_DOCS                            MUI_TEXT_FINISH_SHOWREADME
+!insertmacro XPUI_CONVERT XPUI_FINISH_DOCS_FILE                       MUI_TEXT_FINISH_SHOWREADME
+!insertmacro XPUI_CONVERT XPUI_FINISH_CHECKBOX_DOCS                   MUI_TEXT_FINISH_SHOWREADME_TEXT
+!insertmacro XPUI_CONVERT XPUI_FINISH_NOREBOOT                        MUI_TEXT_FINISH_NOREBOOTSUPPORT
+!insertmacro XPUI_CONVERT XPUI_FINISH_LINK                            MUI_TEXT_FINISH_LINK
+!insertmacro XPUI_CONVERT XPUI_FINISH_LINK_TEXT                       MUI_TEXT_FINISH_LINK
+
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP                    MUI_TEXT_FINISH_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT                MUI_TEXT_FINISH_INFO_TITLE
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT                        MUI_TEXT_FINISH_INFO_TEXT
+!insertmacro XPUI_CONVERT XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT                 MUI_TEXT_FINISH_INFO_REBOOT
+
+!insertmacro XPUI_CONVERT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP        MUI_UNCONFIRMPAGE_TEXT_TOP
+!insertmacro XPUI_CONVERT XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER     MUI_UNCONFIRMPAGE_TEXT_LOCATION
+
+!insertmacro XPUI_CONVERT XPUI_LANGDLL_REGISTRY_ROOT                  MUI_LANGDLL_REGISTRY_ROOT
+!insertmacro XPUI_CONVERT XPUI_LANGDLL_REGISTRY_KEY                   MUI_LANGDLL_REGISTRY_KEY
+!insertmacro XPUI_CONVERT XPUI_LANGDLL_REGISTRY_VALUE                 MUI_LANGDLL_REGISTRY_VALUENAME
+
+!insertmacro XPUI_CONVERT XPUI_BUTTONTEXT_CLOSE                       MUI_BUTTONTEXT_FINISH
+
+!insertmacro XPUI_PAGE_TITLE_CONVERT                                  WELCOME
+!insertmacro XPUI_PAGE_TITLE_CONVERT                                  LICENSE
+!insertmacro XPUI_PAGE_TITLE_CONVERT                                  COMPONENTS
+!insertmacro XPUI_PAGE_TITLE_CONVERT                                  DIRECTORY
+!insertmacro XPUI_PAGE_TITLE_CONVERT                                  STARTMENU
+
+!insertmacro XPUI_CONVERT XPUI_INSTFILESPAGE_TITLE MUI_TEXT_INSTALLING_TITLE
+!insertmacro XPUI_CONVERT XPUI_INSTFILESPAGE_SUBTITLE MUI_TEXT_INSTALLING_SUBTITLE
+
+!insertmacro XPUI_PAGE_TITLE_CONVERT FINISH
+!insertmacro XPUI_PAGE_TITLE_CONVERT ABORT
+
+!verbose pop
+
+!macroend
+
+# MUI REPLACEMENT MACROS
+
+!macro MUI_PAGE_WELCOME
+  !ifdef UMUI_USE_ALTERNATE_PAGE
+    !insertmacro XPUI_PAGE_WELCOME2
+  !else
+    !insertmacro XPUI_PAGE_WELCOME
+  !endif
+!macroend
+
+!macro MUI_PAGE_LICENSE FILE
+  !insertmacro XPUI_PAGE_LICENSE `${FILE}`
+!macroend
+
+!macro MUI_PAGE_COMPONENTS
+  !insertmacro XPUI_PAGE_COMPONENTS
+!macroend
+
+!macro MUI_PAGE_DIRECTORY
+  !insertmacro XPUI_PAGE_DIRECTORY
+!macroend
+
+!macro MUI_PAGE_STARTMENU ID VAR
+  !insertmacro XPUI_PAGE_STARTMENU `${ID}` `${VAR}`
+!macroend
+
+!macro MUI_PAGE_INSTFILES
+  !insertmacro XPUI_PAGE_INSTFILES
+!macroend
+
+!macro MUI_PAGE_FINISH
+  !ifdef UMUI_USE_ALTERNATE_PAGE
+    !insertmacro XPUI_SET XPUI_${XPUI_UN}FINISHPAGE_TEXT_USE_TOP_ALT ``
+  !endif
+  !insertmacro XPUI_PAGE_FINISH
+!macroend
+
+!macro MUI_UNPAGE_WELCOME
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_WELCOME
+!macroend
+
+!macro MUI_UNPAGE_LICENSE FILE
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_LICENSE `${FILE}`
+!macroend
+
+!macro MUI_UNPAGE_COMPONENTS
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_COMPONENTS
+!macroend
+
+!macro MUI_UNPAGE_DIRECTORY
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_DIRECTORY
+!macroend
+
+!macro MUI_UNPAGE_STARTMENU ID VAR
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_STARTMENU `${ID}` `${VAR}`
+!macroend
+
+!macro MUI_UNPAGE_CONFIRM
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+!macroend
+
+!macro MUI_UNPAGE_INSTFILES
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_INSTFILES
+!macroend
+
+!macro MUI_UNPAGE_FINISH
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_FINISH
+!macroend
+
+!macro UMUI_PAGE_CONFIRM
+  !insertmacro XPUI_PAGEMODE_INST
+  !insertmacro XPUI_PAGE_INSTCONFIRM
+!macroend
+
+!macro UMUI_UNPAGE_CONFIRM
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_INSTCONFIRM
+!macroend
+
+!macro UMUI_PAGE_ABORT
+  !insertmacro XPUI_PAGEMODE_INST
+  !insertmacro XPUI_PAGE_ABORT
+
+  !insertmacro XPUI_UNSET UMUI_ABORTPAGE_LINK
+  !insertmacro XPUI_UNSET UMUI_ABORTPAGE_LINK_LOCATION
+!macroend
+
+!macro UMUI_UNPAGE_ABORT
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_ABORT
+
+  !insertmacro XPUI_UNSET UMUI_ABORTPAGE_LINK
+  !insertmacro XPUI_UNSET UMUI_ABORTPAGE_LINK_LOCATION
+!macroend
+
+!macro UMUI_LEFT_SETTIME M
+  !insertmacro XPUI_LEFT_SETTIME `${M} minutes`
+!macroend
+
+!macro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE NULL
+!macroend
+
+!macro UMUI_PAGE_LEFTMESSAGEBOX T C M
+
+  !insertmacro XPUI_CREATEID
+  Page custom umuilmb.c.${XPUI_UNIQUEID} umuilmb.l.${XPUI_UNIQUEID} ` `
+
+  Function umuilmb.c.${XPUI_UNIQUEID}
+
+    StrCmp $XPUI_ABORTED 1 `` +2
+    Abort
+
+    !insertmacro XPUI_HEADER_TEXT ` ` ` `
+    !insertmacro XPUI_LEFT_MESSAGE `${C}` `${M}` `${T}`
+  FunctionEnd
+
+  Function umuilmb.l.${XPUI_UNIQUEID}
+    !ifdef UMUI_LEFTMESSAGEBOX_VAR
+      ReadINIStr `$${UMUI_LEFTMESSAGEBOX_VAR}` `$PLUGINSDIR\MBSide.ini` `Settings` `State`
+    !endif
+
+    !ifdef UMUI_LEFTMESSAGEBOX_LEFTFUNC
+      Call `${UMUI_LEFTMESSAGEBOX_LEFTFUNC}`
+      !undef UMUI_LEFTMESSAGEBOX_LEFTFUNC
+    !endif
+
+    !ifdef UMUI_LEFT_MESSAGEBOX_LEFTFUNC
+      Call `${UMUI_LEFT_MESSAGEBOX_LEFTFUNC}`
+      !undef UMUI_LEFT_MESSAGEBOX_LEFTFUNC
+    !endif
+
+  FunctionEnd
+
+  !insertmacro XPUI_UNSET UMUI_LEFT_MESSAGEBOX_LEFTFUNC
+!macroend
+
+!macro UMUI_UNPAGE_LEFTMESSAGEBOX T C M
+
+  !insertmacro XPUI_CREATEID
+  UninstPage custom un.umuilmb.c.${XPUI_UNIQUEID} un.umuilmb.l.${XPUI_UNIQUEID} ` `
+
+  Function un.umuilmb.c.${XPUI_UNIQUEID}
+    !insertmacro XPUI_HEADER_TEXT ` ` ` `
+    !insertmacro XPUI_LEFT_MESSAGE `${C}` `${M}` `${T}`
+  FunctionEnd
+
+  Function un.umuilmb.l.${XPUI_UNIQUEID}
+    !ifdef UMUI_LEFTMESSAGEBOX_VAR
+      ReadINIStr `$${UMUI_LEFTMESSAGEBOX_VAR}` `$PLUGINSDIR\MBSide.ini` `Settings` `State`
+    !endif
+
+    !ifdef UMUI_LEFTMESSAGEBOX_LEFTFUNC
+      Call `${UMUI_LEFTMESSAGEBOX_LEFTFUNC}`
+      !undef UMUI_LEFTMESSAGEBOX_LEFTFUNC
+    !endif
+
+    !ifdef UMUI_LEFT_MESSAGEBOX_LEFTFUNC
+      Call `${UMUI_LEFT_MESSAGEBOX_LEFTFUNC}`
+      !undef UMUI_LEFT_MESSAGEBOX_LEFTFUNC
+    !endif
+
+  FunctionEnd
+
+!macroend
+
+!macro MUI_LANGUAGE LANG
+  !insertmacro XPUI_LANGUAGE `${LANG}`
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+!macroend
+
+!macro MUI_DESCRIPTION_TEXT SEC TEXT
+  !insertmacro XPUI_DESCRIPTION_TEXT `${SEC}` `${TEXT}`
+!macroend
+
+!macro MUI_FUNCTION_DESCRIPTION_END
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_END
+!macroend
+
+!macro MUI_HEADER_TEXT T S
+  !insertmacro XPUI_HEADER_TEXT `${T}` `${S}`
+!macroend
+
+!macro MUI_STARTMENU_WRITE_BEGIN ID
+  !insertmacro XPUI_STARTMENU_WRITE_BEGIN '${ID}'
+!macroend
+
+!macro MUI_STARTMENU_WRITE_END
+  !insertmacro XPUI_STARTMENU_WRITE_END
+!macroend
+
+!macro MUI_STARTMENU_GETFOLDER ID VAR
+
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+
+    ReadRegStr $XPUI_TEMP1 `${MUI_STARTMENUPAGE_REGISTRY_ROOT}` `${MUI_STARTMENUPAGE_REGISTRY_KEY}` `${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}`
+      StrCmp $XPUI_TEMP1 `` +3
+        StrCpy `${VAR}` $XPUI_TEMP1
+        Goto +2
+
+        StrCpy `${VAR}` `${XPUI_STARTMENUPAGE_FOLDER}`
+
+   !else
+
+     StrCpy `${VAR}` `${XPUI_STARTMENUPAGE_FOLDER}`
+
+   !endif
+
+!macroend
+
+!macro MUI_RESERVEFILE_LANGDLL
+
+  !verbose push
+  !verbose ${MUI_VERBOSE}
+
+  ReserveFile `${NSISDIR}\Plugins\LangDLL.dll`
+
+  !verbose pop
+
+!macroend
+
+!ifdef MUI_ABORTWARNING
+!define XPUI_ABORTWARNING
+!endif
+
+!ifdef MUI_UNABORTWARNING
+  !define XPUI_UNABORTWARNING
+!endif
+
+!macro MUI_LANGDLL_DISPLAY
+  !insertmacro XPUI_LANGDLL_DISPLAY
+!macroend
+
+!macro MUI_UNGETLANGUAGE
+  !insertmacro XPUI_UNGETLANGUAGE
+!macroend
+
+!macro MUI_LANGUAGEFILE_BEGIN L
+  !insertmacro XPUI_LANGUAGEFILE_BEGIN ${L}
+!macroend
+
+!macro MUI_LANGUAGEFILE_END
+  !insertmacro XPUI_LANGUAGEFILE_END
+!macroend
+
+# FIXES (DON'T EDIT)
+
+!ifdef MUI_COMPONENTSPAGE_CHECKBITMAP
+  !warning `The XPUI system uses a normal CheckBitmap command.`
+  CheckBitmap `${MUI_COMPONENTSPAGE_CHECKBITMAP}`
+!endif
+
+!ifdef MUI_FINISHPAGE_NOAUTOCLOSE
+  AutoCloseWindow false
+!endif
+
+!ifdef MUI_UNFINISHPAGE_NOAUTOCLOSE
+  AutoCloseWindow false
+!endif
+
+!ifdef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifndef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifndef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `${MUI_COMPONENTSPAGE_TEXT_TOP}`
+    !endif
+  !endif
+!endif
+
+!ifndef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifdef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifndef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `` `${MUI_COMPONENTSPAGE_TEXT_TOP}`
+    !endif
+  !endif
+!endif
+
+!ifndef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifndef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifdef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `` `` `${MUI_COMPONENTSPAGE_TEXT_TOP}`
+    !endif
+  !endif
+!endif
+
+!ifdef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifdef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifndef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `${MUI_COMPONENTSPAGE_TEXT_TOP}` `${MUI_COMPONENTSPAGE_TEXT_COMPLIST}`
+    !endif
+  !endif
+!endif
+
+!ifdef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifndef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifdef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `${MUI_COMPONENTSPAGE_TEXT_TOP}` `` `${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}`
+    !endif
+  !endif
+!endif
+
+!ifdef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifdef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifdef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `${MUI_COMPONENTSPAGE_TEXT_TOP}` `${MUI_COMPONENTSPAGE_TEXT_COMPLIST}` `${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}`
+    !endif
+  !endif
+!endif
+
+!ifndef MUI_COMPONENTSPAGE_TEXT_TOP
+  !ifdef MUI_COMPONENTSPAGE_TEXT_COMPLIST
+    !ifdef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
+      ComponentText `` `${MUI_COMPONENTSPAGE_TEXT_COMPLIST}` `${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}`
+    !endif
+  !endif
+!endif
+
+!ifdef UMUI_USE_ALTERNATE_PAGE
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT_USE_TOP_ALT ``
+!endif
+
+!ifdef MUI_WELCOMEFINISHPAGE_INI | UMUI_WELCOMEFINISHABORTPAGE_INI
+  !ifndef XPUI_WARNING_MUI_IO
+    !warning `The ExperienceUI does not support custom InstallOptions INI files for pages (yet).  When (if?) this is added, there will be an individual define for each page.`
+    !define XPUI_WARNING_MUI_IO
+  !endif
+!endif
+
+!ifdef MUI_UNWELCOMEFINISHPAGE_INI | UMUI_UNWELCOMEFINISHABORTPAGE_INI
+  !ifndef XPUI_WARNING_MUI_IO
+    !warning `The ExperienceUI does not support custom InstallOptions INI files for pages (yet).  When (if?) this is added, there will be an individual define for each page.`
+    !define XPUI_WARNING_MUI_IO
+  !endif
+!endif
+
+!ifdef MUI_FINISHPAGE_LINK_LOCATION
+
+  !insertmacro XPUI_CREATEID
+  !define XPUI_${XPUI_UN}FINISHPAGE_LINK_FUNCTION muiOpenLinkLocation.${XPUI_UNIQUEID}
+
+  Function muiOpenLinkLocation.${XPUI_UNIQUEID}
+    ExecShell open `${MUI_FINISHPAGE_LINK_LOCATION}`
+  FunctionEnd
+
+!endif
+
+!insertmacro XPUI_LANGUAGE_CONVERT
+
+; ********************************************
+; END MODERNUI/ULTRAMODERNUI CONVERSION SCRIPT
Binary file Contrib/ExperienceUI/Skins/Bliss/Bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Bliss/Checks.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Bliss/Gen.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Bliss/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Bliss/LeftLogo.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Bliss/genex.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Default/Bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Default/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Default/LeftBranding.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/Bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/Checks.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/Gen.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/LeftLogo.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Forum/genex.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/Bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/Checks.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/Gen.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/LeftLogo.bmp has changed
Binary file Contrib/ExperienceUI/Skins/LCD/genex.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Modern-Blue/Icon.ico has changed
Binary file Contrib/ExperienceUI/Skins/Modern-Blue/bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Modern-Blue/header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Modern-Blue/leftbranding.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Modern-Blue/unicon.ico has changed
Binary file Contrib/ExperienceUI/Skins/Orange/Bottom.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Orange/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Orange/LeftBranding.bmp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Skins/Windows XP.xpuiskin	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,48 @@
+!define XPUI_CUSTOMSKIN
+!insertmacro XPUI_DEFAULT XPUI_TEXT_COLOR FFFFFF
+!insertmacro XPUI_DEFAULT XPUI_TEXT_BGCOLOR 4E6FD6
+!insertmacro XPUI_DEFAULT XPUI_TEXT_LIGHTCOLOR FFFF00
+!insertmacro XPUI_DEFAULT XPUI_HEADERIMAGE "${XPUI_SYSDIR}\Skins\Windows XP\Header.bmp"
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE ""
+!insertmacro XPUI_DEFAULT XPUI_UNBOTTOMIMAGE ""
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_BMP "${XPUI_SYSDIR}\Skins\Windows XP\BtmImg.bmp"
+!insertmacro XPUI_DEFAULT XPUI_HEADERIMAGE_NORESIZETOFIT ""
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_NORESIZETOFIT ""
+!insertmacro XPUI_DEFAULT XPUI_UNHEADERIMAGE_NORESIZETOFIT ""
+!insertmacro XPUI_DEFAULT XPUI_UNBOTTOMIMAGE_NORESIZETOFIT ""
+!insertmacro XPUI_DEFAULT XPUI_ICON "${XPUI_SYSDIR}\Skins\Windows XP\Icon.ico"
+!insertmacro XPUI_DEFAULT XPUI_UNICON "${XPUI_SYSDIR}\Skins\Windows XP\UnIcon.ico"
+!ifdef XPUI_PAGE_BGIMAGE
+  !insertmacro XPUI_DEFAULT XPUI_PAGE_BGIMAGE_BMP    `${XPUI_SYSDIR}\Skins\Windows XP\Page.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_LEFTLOGO `${XPUI_SYSDIR}\Skins\Windows XP\lb_page.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_UNLEFTLOGO `${XPUI_SYSDIR}\Skins\Windows XP\lb_page.bmp`
+!else
+  !insertmacro XPUI_DEFAULT XPUI_LEFTLOGO `${XPUI_SYSDIR}\Skins\Windows XP\LeftBranding.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_UNLEFTLOGO `${XPUI_SYSDIR}\Skins\Windows XP\LeftBranding.bmp`
+!endif
+!insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_FG "${XPUI_TEXT_BGCOLOR}"
+!insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_BG "000080"
+
+!macro XPUI_SET_BG
+!ifndef XPUI_SET_BG_INSERTED
+!define XPUI_SET_BG_INSERTED
+SetOutPath "$PLUGINSDIR"
+File "${XPUI_SYSDIR}\Skins\Windows XP\Spotlight.bmp"
+File "${XPUI_SYSDIR}\Skins\Windows XP\Key.bmp"
+BgImage::SetBg /NOUNLOAD /GRADIENT 78 111 214 78 111 214
+BgImage::AddImage /NOUNLOAD "$PLUGINSDIR\Spotlight.bmp" 0 57
+BgImage::AddImage /NOUNLOAD "$PLUGINSDIR\Header.bmp" 0 0
+BgImage::AddImage /NOUNLOAD "$PLUGINSDIR\BtmImg.bmp" 0 -70
+BgImage::AddImage /NOUNLOAD "$PLUGINSDIR\Key.bmp" -248 -351
+CreateFont $1 "Verdana" 30 700
+BgImage::AddText /NOUNLOAD "$(^Name)" $1 8 51 155 15 70 -1 -1
+BgImage::AddText /NOUNLOAD "$(^Name)" $1 255 255 255 10 65 -1 -1
+BgImage::Redraw  /NOUNLOAD
+!endif
+!macroend
+
+!macro XPUI_BGFILES_DELETE
+BgImage::Destroy
+Delete $PLUGINSDIR\Spotlight.bmp
+Delete $PLUGINSDIR\Key.bmp
+!macroend
\ No newline at end of file
Binary file Contrib/ExperienceUI/Skins/Windows XP/BtmImg.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/Header.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/Icon.ico has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/Key.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/LeftBranding.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/Spotlight.bmp has changed
Binary file Contrib/ExperienceUI/Skins/Windows XP/UnIcon.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Skins/modern-blue.xpuiskin	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,18 @@
+!define XPUI_CUSTOMSKIN
+Icon "${XPUI_SYSDIR}\Skins\Modern-blue\Icon.ico"
+UninstallIcon "${XPUI_SYSDIR}\Skins\Modern-blue\UnIcon.ico"
+!insertmacro XPUI_DEFAULT XPUI_TEXT_COLOR 4000FF
+!insertmacro XPUI_DEFAULT XPUI_TEXT_BGCOLOR 9FC0E1
+!insertmacro XPUI_DEFAULT XPUI_TEXT_LIGHTCOLOR 000000
+!insertmacro XPUI_DEFAULT XPUI_LEFTLOGO "${XPUI_SYSDIR}\Skins\Modern-blue\LeftBranding.bmp"
+!insertmacro XPUI_DEFAULT XPUI_HEADERIMAGE "${XPUI_SYSDIR}\Skins\Modern-blue\Header.bmp"
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE ""
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_BMP "${XPUI_SYSDIR}\Skins\Modern-blue\Bottom.bmp"
+!insertmacro XPUI_DEFAULT XPUI_UNBOTTOMIMAGE ""
+!insertmacro XPUI_DEFAULT XPUI_HEADER_TEXT_COLOR "000000" ; Added in 1.11
+
+!macro XPUI_SET_BG
+!macroend
+
+!macro XPUI_BGFILES_DELETE
+!macroend
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Skins/orange.xpuiskin	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,21 @@
+!define XPUI_CUSTOMSKIN
+!insertmacro XPUI_DEFAULT XPUI_TEXT_COLOR FFDA79
+!insertmacro XPUI_DEFAULT XPUI_TEXT_BGCOLOR FF8405
+!insertmacro XPUI_DEFAULT XPUI_TEXT_LIGHTCOLOR FFFFFF
+!insertmacro XPUI_DEFAULT XPUI_LEFTLOGO "${XPUI_SYSDIR}\Skins\Orange\LeftBranding.bmp"
+!insertmacro XPUI_DEFAULT XPUI_BGGRADIENT ""
+!insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS ""
+!insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_TOP FF8405
+!insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_BOTTOM 000000
+!insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_TEXT 0x004080
+!insertmacro XPUI_DEFAULT XPUI_HEADERIMAGE "${XPUI_SYSDIR}\Skins\Orange\Header.bmp"
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE ""
+!insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_BMP "${XPUI_SYSDIR}\Skins\Orange\Bottom.bmp"
+!insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_FG "FFA370"
+!insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_BG "${XPUI_TEXT_BGCOLOR}"
+
+!macro XPUI_SET_BG
+!macroend
+
+!macro XPUI_BGFILES_DELETE
+!macroend
\ No newline at end of file
Binary file Contrib/ExperienceUI/UIs/BGui.exe has changed
Binary file Contrib/ExperienceUI/UIs/Headerui.exe has changed
Binary file Contrib/ExperienceUI/UIs/UI.exe has changed
Binary file Contrib/ExperienceUI/UIs/WAnsis_ui.exe has changed
Binary file Contrib/ExperienceUI/UIs/headerui_btmimg.exe has changed
Binary file Contrib/ExperienceUI/UIs/tinyui.exe has changed
Binary file Contrib/ExperienceUI/Uninst.exe has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Utils/Source/PatchGen.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,153 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=19
+
+[Field 1]
+Type=RadioButton
+Text=Patch
+State=1
+Left=3
+Right=78
+Top=36
+Bottom=46
+
+[Field 2]
+Type=RadioButton
+Text=Skin
+Left=3
+Right=78
+Top=49
+Bottom=59
+
+[Field 3]
+Type=Text
+Left=0
+Right=123
+Top=83
+Bottom=96
+
+[Field 4]
+Type=Label
+Text=Use the patch generator to generate and sign ExperienceUI patch and skin files.
+Left=0
+Right=-1
+Top=0
+Bottom=17
+
+[Field 5]
+Type=Label
+Text=Patch or skin:
+Left=0
+Right=-1
+Top=24
+Bottom=32
+
+[Field 6]
+Type=Label
+Text=Patch/skin name:
+Left=0
+Right=-1
+Top=70
+Bottom=78
+
+[Field 7]
+Type=Text
+Left=0
+Right=123
+Top=113
+Bottom=126
+
+[Field 8]
+Type=Label
+Text=Target of files, relative to XPUI install dir
+Left=0
+Right=-1
+Top=100
+Bottom=108
+
+[Field 9]
+Type=Label
+Text=Start field:\r\n(leave as default)
+Left=83
+Right=147
+Top=40
+Bottom=57
+
+[Field 10]
+Type=Text
+Flags=ONLY_NUMBERS
+State=1
+Left=150
+Right=172
+Top=43
+Bottom=56
+
+[Field 11]
+Type=DirRequest
+Left=0
+Right=-1
+Top=144
+Bottom=156
+
+[Field 12]
+Type=Label
+Text=Location of files on your disk:
+Left=0
+Right=-1
+Top=132
+Bottom=140
+
+[Field 13]
+Type=Checkbox
+Text=Sign the patch/skin
+Flags=NOTIFY
+Left=0
+Right=-1
+Top=163
+Bottom=172
+
+[Field 14]
+Type=Text
+Left=40
+Right=-1
+Top=177
+Bottom=190
+
+[Field 15]
+Type=Label
+Text=Key:
+Left=10
+Right=34
+Top=180
+Bottom=188
+
+[Field 16]
+Type=Label
+Text=WARNING: The patch installer will NOT install patches or skins with invalid keys!
+Left=10
+Right=-1
+Top=193
+Bottom=201
+
+[Field 17]
+Type=Text
+Left=56
+Right=116
+Top=206
+Bottom=219
+
+[Field 18]
+Type=Text
+Left=120
+Right=243
+Top=206
+Bottom=219
+
+[Field 19]
+Type=Label
+Text=Name/e-mail:
+Left=10
+Right=54
+Top=209
+Bottom=217
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Utils/Source/PatchGen.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,254 @@
+Name "ExperienceUI Patch Generator"
+Caption "$(^Name)"
+OutFile ..\PatchGen.exe
+InstallDir $DESKTOP\PatchFiles
+
+Var NAME
+Var TYPE
+Var START
+Var SOURCE
+Var TARGET
+Var SALT
+Var SIG
+Var CN
+Var CE
+Var APPEND
+Var IL
+Var AP
+Var FN
+
+!include XPUI.nsh
+
+!include RecFind.nsh
+
+Page custom io iofin " "
+!define XPUI_PAGE_CUSTOMFUNCTION_LEAVE DirWarn
+!insertmacro XPUI_PAGE_DIRECTORY
+!insertmacro XPUI_PAGE_INSTFILES
+
+Section
+  RMDir /r "$INSTDIR" ; don't worry, you're warned first
+  StrCpy $3 0 ; NumFields count
+  SetOutPath $INSTDIR
+  WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" Name "$NAME"
+  StrLen $IL $SOURCE
+  IntOp $IL $IL + 1
+  ${RecFindOpen} "$SOURCE" $0 $1
+    StrCpy $4 $0
+    StrCpy $2 $TARGET$0
+    ${RecFindFirst}
+    IntOp $3 $3 + 1
+      SetDetailsPrint both
+      StrCpy $AP $SOURCE$0 "" $IL
+      DetailPrint "  $$AP: $AP"
+      Push $AP
+      Push "\"
+      Push "_"
+      Call StrReplace
+      Pop $FN
+      StrCpy $FN "$FN_$1"
+      DetailPrint "  $$FN: $FN"
+    WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" NumFiles $3
+    WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" "File$START" $1
+    WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" "File$START Path" $2
+    WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" "File$START SName" $FN
+    StrCmp $SIG 1 "" NoSig
+      SetDetailsPrint none
+      GetTempFileName $R0
+      CopyFiles $SOURCE$0\$1 $R0
+      FileOpen $R1 $R0 a
+        FileSeek $R1 0 END
+        FileWrite $R1 $SALT$APPEND
+      FileClose $R1
+      DCryptDll::MD5Hash "FS" $R0 "--End--"
+      Delete $R0 ; Let's not leave 300 temporary files sitting on your computer...
+      Pop $R2
+        StrCmp $R2 OK GoodMD5
+          DetailPrint "WARNING: An error ocurred while trying to get the signature hash"
+          DetailPrint "DCryptDll returned: $R2"
+          DetailPrint "The patch/skin will NOT be signed."
+          StrCpy $SIG 0
+          Goto NoSig
+        GoodMD5:
+      Pop $R2
+      WriteINIStr $INSTDIR\Content.dat "EUI-$TYPE" "File$START Sig" $R2
+      SetDetailsPrint Both
+    NoSig:
+    IntOp $START $START + 1
+    SetDetailsPrint none ;TEMPORARY
+    CopyFiles $SOURCE$0\$1 $INSTDIR\$FN
+    ${RecFindNext}
+  ${RecFindClose}
+  ; Sign the content file
+  StrCmp $SIG 1 "" NoSignScript
+    StrCmp $CN "" NoCN
+      WriteINIStr $INSTDIR\Content.dat SigInfo PN "Dan Fuhry"
+      WriteINIStr $INSTDIR\Content.dat SigInfo PE "dandaman32@users.sourceforge.net"
+      WriteINIStr $INSTDIR\Content.dat SigInfo CN "$CN"
+      WriteINIStr $INSTDIR\Content.dat SigInfo CE "$CE"
+    NoCN:
+    GetTempFileName $R0
+      CopyFiles $INSTDIR\Content.dat $R0
+      FileOpen $R1 $R0 a
+        FileSeek $R1 0 END
+        FileWrite $R1 $SALT
+      FileClose $R1
+      DCryptDll::MD5Hash "FS" $R0 "--End--"
+      Delete $R0
+      Pop $R2
+        StrCmp $R2 OK GoodMD5b
+          DetailPrint "WARNING: An error ocurred while trying to get the signature hash"
+          DetailPrint "DCryptDll returned: $R2"
+          DetailPrint "The patch/skin will NOT be signed."
+          StrCpy $SIG 0
+          Goto NoSignScript
+        GoodMD5b:
+      Pop $R2
+      FileOpen $R0 "$INSTDIR\content.sig" w
+      FileWrite $R0 $R2
+      FileClose $R0
+  NoSignScript:
+  SetAutoClose false
+  SetDetailsPrint both
+SectionEnd
+
+Function io
+  SetOutPath $PLUGINSDIR
+  File patchgen.ini
+  !insertmacro XPUI_INSTALLOPTIONS_INITDIALOG "patchgen.ini"
+  !insertmacro XPUI_HEADER_TEXT "Patch Generator" "This program generates a recursive list of files and adds writes it to an ExperienceUI-compatible Content.dat."
+    GetDlgItem $0 $XPUI_HWND 1214
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1215
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1216
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1217
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1218
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1219
+    ShowWindow $0 0
+  InstallOptions::show
+FunctionEnd
+
+Function iofin
+  ReadINIStr $0 $PLUGINSDIR\patchgen.ini "Settings" State
+  StrCmp $0 13 b
+  ReadINIStr $0 $PLUGINSDIR\patchgen.ini "Field 1" State
+  StrCmp $0 1 p
+  StrCpy $TYPE skin
+  goto c
+  b:
+    ReadINIStr $0 $PLUGINSDIR\patchgen.ini "Field 13" State
+    StrCmp $0 1 Show
+    GetDlgItem $0 $XPUI_HWND 1214
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1215
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1216
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1217
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1218
+    ShowWindow $0 0
+    GetDlgItem $0 $XPUI_HWND 1219
+    ShowWindow $0 0
+    Abort
+    Show:
+    GetDlgItem $0 $XPUI_HWND 1214
+    ShowWindow $0 5
+    GetDlgItem $0 $XPUI_HWND 1215
+    ShowWindow $0 5
+    GetDlgItem $0 $XPUI_HWND 1216
+    ShowWindow $0 5
+    GetDlgItem $0 $XPUI_HWND 1217
+    ShowWindow $0 5
+    GetDlgItem $0 $XPUI_HWND 1218
+    ShowWindow $0 5
+    GetDlgItem $0 $XPUI_HWND 1219
+    ShowWindow $0 5
+    Abort
+  p:
+  StrCpy $TYPE patch
+  c:
+  ReadINIStr $NAME $PLUGINSDIR\patchgen.ini "Field 3" State
+  ReadINIStr $START $PLUGINSDIR\patchgen.ini "Field 10" State
+  ReadINIStr $TARGET $PLUGINSDIR\patchgen.ini "Field 7" State
+  ReadINIStr $SOURCE $PLUGINSDIR\patchgen.ini "Field 11" State
+  ReadINIStr $SIG $PLUGINSDIR\patchgen.ini "Field 13" State
+  ReadINIStr $SALT $PLUGINSDIR\patchgen.ini "Field 14" State
+  ReadINIStr $CN $PLUGINSDIR\patchgen.ini "Field 17" State
+  ReadINIStr $CE $PLUGINSDIR\patchgen.ini "Field 18" State
+  StrCpy $APPEND ""
+  StrCmp $CN "" +2
+    StrCpy $APPEND ";PN=Dan Fuhry;PE=dandaman32@users.sourceforge.net;CN=$CN;CE=$CE"
+FunctionEnd
+
+Function DirWarn
+  IfFileExists $INSTDIR 0 NoID
+  MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 "Caution: the selected target folder already exists.  The entire target folder will be erased, recursively.  Do you REALLY want to continue?" IDYES +3
+  LockWindow off
+  Abort
+  NoID:
+FunctionEnd
+
+Function GetParentPath
+  Exch $0
+  Push $1
+  Push $2
+    StrLen $1 $0
+    loop:
+      IntOp $1 $1 - 1
+      StrCpy $2 $0 1 $1
+      StrCmp $2 "" error
+      StrCmp $2 "\" "" Loop
+    StrCpy $0 $0 $1
+    Goto good
+    error:
+    StrCpy $0 $0
+    good:
+  Pop $2
+  Pop $1
+  Exch $0
+FunctionEnd
+
+Var STR_REPLACE_VAR_0
+Var STR_REPLACE_VAR_1
+Var STR_REPLACE_VAR_2
+Var STR_REPLACE_VAR_3
+Var STR_REPLACE_VAR_4
+Var STR_REPLACE_VAR_5
+Var STR_REPLACE_VAR_6
+Var STR_REPLACE_VAR_7
+Var STR_REPLACE_VAR_8
+
+Function StrReplace
+  Exch $STR_REPLACE_VAR_2
+  Exch 1
+  Exch $STR_REPLACE_VAR_1
+  Exch 2
+  Exch $STR_REPLACE_VAR_0
+    StrCpy $STR_REPLACE_VAR_3 -1
+    StrLen $STR_REPLACE_VAR_4 $STR_REPLACE_VAR_1
+    StrLen $STR_REPLACE_VAR_6 $STR_REPLACE_VAR_0
+    loop:
+      IntOp $STR_REPLACE_VAR_3 $STR_REPLACE_VAR_3 + 1
+      StrCpy $STR_REPLACE_VAR_5 $STR_REPLACE_VAR_0 $STR_REPLACE_VAR_4 $STR_REPLACE_VAR_3
+      StrCmp $STR_REPLACE_VAR_5 $STR_REPLACE_VAR_1 found
+      StrCmp $STR_REPLACE_VAR_3 $STR_REPLACE_VAR_6 done
+      Goto loop
+    found:
+      StrCpy $STR_REPLACE_VAR_5 $STR_REPLACE_VAR_0 $STR_REPLACE_VAR_3
+      IntOp $STR_REPLACE_VAR_8 $STR_REPLACE_VAR_3 + $STR_REPLACE_VAR_4
+      StrCpy $STR_REPLACE_VAR_7 $STR_REPLACE_VAR_0 "" $STR_REPLACE_VAR_8
+      StrCpy $STR_REPLACE_VAR_0 $STR_REPLACE_VAR_5$STR_REPLACE_VAR_2$STR_REPLACE_VAR_7
+      StrLen $STR_REPLACE_VAR_6 $STR_REPLACE_VAR_0
+      Goto loop
+    done:
+  Pop $STR_REPLACE_VAR_1
+  Pop $STR_REPLACE_VAR_1
+  Exch $STR_REPLACE_VAR_0
+FunctionEnd
+
+!insertmacro XPUI_LANGUAGE English
\ No newline at end of file
Binary file Contrib/ExperienceUI/Utils/Source/Patcher.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Utils/Source/Patcher.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,383 @@
+; ExperienceUI Patch Installer
+; Rewritten as of ExperienceUI 1.11
+; Copyright © 2006 Dan Fuhry
+
+; Licensed under the zlib/libpng license
+
+; Written during Bush's State of the Union address on Jan 31, 2006 (also my birthday)
+
+; Dependencies:
+; * DcryptDll
+; * ZipDLL
+; * SigVerify.exe (closed-source application that does the actual signature verification)
+; * ExperienceUI
+; * System.dll
+
+Name "ExperienceUI Patch/Skin Installer"
+Caption "ExperienceUI Patch/Skin Installer"
+OutFile ..\PatchInstaller.exe
+
+SetCompressor /FINAL /SOLID lzma
+Var TYPE
+Var CURRENT
+Var TOTAL
+Var NAME
+Var SILENT
+Var SIGSTAT
+Var APPEND
+Var SRCFILE
+Var BHWND
+
+!define XPUI_ICON patcher.ico
+!define XPUI_UNICON patcher.ico
+
+!define XPUI_WELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name)"
+!define XPUI_WELCOMEPAGE_TEXT     "This wizard will guide you through the installation of the patch you opened.\r\n\r\nClick Next to start."
+!define XPUI_WELCOMEPAGE_TITLE    "Welcome"
+!define XPUI_WELCOMEPAGE_SUBTITLE "Welcome to the $(^Name)."
+
+!define XPUI_INSTFILESPAGE_TITLE    "Installing"
+!define XPUI_INSTFILESPAGE_SUBTITLE "Please wait while the $TYPE you opened is being installed."
+!define XPUI_INSTFILESPAGE_DONE_SUBTITLE "The $TYPE you opened was installed successfully."
+
+!define XPUI_INSTCONFIRMPAGE_TEXT_TOP "The $(^Name) is ready to install the $TYPE."
+
+!define XPUI_FINISHPAGE_TITLE    "Installation Complete"
+!define XPUI_FINISHPAGE_SUBTITLE "The $(^Name) has successfully applied the $TYPE to your ExperienceUI installation."
+!define XPUI_FINISHPAGE_TEXT_TOP "Completing the ExperienceUI Patch/Skin installation wizard"
+!define XPUI_FINISHPAGE_TEXT     "The $(^Name) has finished installing the $TYPE you opened.\r\n\r\nPlease click $(^CloseBtn) to exit the $(^Name)."
+
+InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ExperienceUI for NSIS" UninstallString
+SetPluginUnload alwaysoff
+!include system.nsh
+
+!define SOUND_DEFAULT "${MB_OK}"
+!define SOUND_STOP "${MB_ICONHAND}"
+!define SOUND_ASTERISK "${MB_ICONASTERISK}"
+!define SOUND_ERROR "${MB_ICONEXCLAMATION}"
+!define SOUND_QUESTION "${MB_ICONQUESTION}"
+
+!macro AboutDlg
+  System::Call '${sysMessageBeep} (${SOUND_ASTERISK})'
+  !insertmacro smMessageBox '`$EXEDIR\XPUIRes.dll`' 'ExperienceUI for NSIS$\nPatch/Skin Installer (version ${VERSION})$\nCopyright © 2005 Dan Fuhry.$\n$\nTo install a skin or patch, double-click the file in Windows Explorer.$\nTo see this About dialog, run this program with the /ABOUT switch.$\n$\nThis program is a component of the ExperienceUI for NSIS.  Copyright © 2004-2005 Dan Fuhry.$\nThe ExperienceUI was written to provide a pretty alternative to the huge, slow InstallShield®* installers.  The default skin contains colors used by the NVidia® ForceWare™ Setup Program.$\n$\nMore information about the ExperienceUI can be found at http://forums.winamp.com/showthread.php?threadid=204836.$\n$\n*InstallShield is a registered trademark of MacroVision, Inc.  ForceWare is a registered trademark of NVidia, Inc.' 'About the ExperienceUI for NSIS Patch/Skin Installer' '${MB_OK}' 'i 5'
+!macroend
+
+!macro VERIFY FILE HASH
+  Push $1
+  Push $OUTDIR
+  Push $0
+    WriteINIStr $TEMP\Sigdata.ini SigVerify Append $APPEND
+    ExecWait '"$PLUGINSDIR\SigVerify.exe" ${FILE} /Hash=${HASH}' $0
+    StrCmp $0 0 +3
+      StrCpy $1 "Bad"
+      Goto +2
+      StrCpy $1 "Good"
+  Pop $0
+  Pop $OUTDIR
+  Exch $1
+!macroend
+
+!macro CLS
+Push $9
+FindWindow $9 "#32770" "" $HWNDPARENT
+GetDlgItem $9 $9 1016
+SendMessage $9 0x1009 0 0
+Pop $9
+!macroend
+
+!macro ERROR TITLE MSG
+  !insertmacro XPUI_HEADER_TEXT "Installation Failed" "The $TYPE installation failed."
+  System::Call '${sysMessageBeep} (${SOUND_STOP})'
+  !insertmacro smMessageBox `$\`$EXEDIR\XPUIRes.dll$\`` `${MSG}` `${TITLE}` `${MB_OK}` `i 1`
+!macroend
+
+!include XPUI.nsh
+
+!insertmacro XPUI_PAGE_WELCOME
+!insertmacro XPUI_PAGE_INSTCONFIRM
+!insertmacro XPUI_PAGE_INSTFILES
+!insertmacro XPUI_PAGE_FINISH
+
+!insertmacro XPUI_LANGUAGE English
+
+VIProductVersion "1.1.0.0"
+VIAddVersionKey /LANG=1033 "FileVersion" "${VERSION}"
+VIAddVersionKey /LANG=1033 "ProductVersion" "${VERSION}"
+VIAddVersionKey /LANG=1033 "ProductName" "ExperienceUI for NSIS"
+VIAddVersionKey /LANG=1033 "Comments" "This program was written by Dan Fuhry using Nullsoft Scriptable Install System (http://nsis.sourceforge.net)"
+VIAddVersionKey /LANG=1033 "CompanyName" "Dan Fuhry a. k. a. dandaman32"
+VIAddVersionKey /LANG=1033 "LegalTrademarks" "ExperienceUI for NSIS by Dan Fuhry. Copyright © 2004-2006 Dan Fuhry"
+VIAddVersionKey /LANG=1033 "LegalCopyright" "Copyright © Dan Fuhry"
+VIAddVersionKey /LANG=1033 "FileDescription" "ExperienceUI for NSIS Patch/Skin Installer"
+VIAddVersionKey /LANG=1033 "SpecialBuild" "ExperienceUI for NSIS Patching/Skinning Engine, version ${VERSION}, built on ${__TIMESTAMP__}"
+
+!macro DO_INSTALL
+  BringToFront
+  StrCpy $CURRENT 0
+  StrCmp $SILENT 1 "" loop
+  Banner::show /NOUNLOAD ""
+  Banner::getWindow
+  Pop $BHWND
+  GetDlgItem $BHWND $BHWND 1030
+  Loop:
+    IntOp $CURRENT $CURRENT + 1
+    ReadINIStr $2 $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT"
+    StrCmp $SILENT 1 0 +2
+    SendMessage $BHWND 0xC 0 "STR:Installing $TYPE: $NAME$\nCurrent file: $2"
+    ReadINIStr $SRCFILE $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT SName"
+      StrCmp $SRCFILE "" "" +2
+      StrCpy $SRCFILE $2
+    IfFileExists $TEMP\EUI-Setup\$SRCFILE FoundIt
+      !insertmacro ERROR "Cannot find file" "The $TYPE was opened, extracted, and parsed successfully, but the file $2 could not be found in the archive.  Please contact the author of this $TYPE with the following error code:$\n$\nError: F-PI009 Cannot find source file $2"
+      Call .onGUIend
+      RMDir /r $TEMP\EUI-Setup
+      SetErrorLevel 1
+      Quit
+    FoundIt:
+    ReadINIStr $4 $TEMP\EUI-Setup\Content.dat EUI-$TYPE "File$CURRENT Sig"
+    StrCmp $4 "" NoSig
+      SetDetailsPrint none
+      !insertmacro VERIFY $TEMP\EUI-Setup\$SRCFILE $4
+      Pop $0
+      StrCmp $0 Good NoSig
+      StrCmp $SIGSTAT "Signed and verified" Forged
+      !insertmacro ERROR "Invalid Signature" "The ExperienceUI Patch Installer has found a digital signature assigned to one of the patch files, but the signature was checked and found to be invalid.  This is a fatal error.  Please contact the author of this $TYPE with the following error code:$\n$\nError: F-PI010 Invalid signature hash for file $2$\nAdditional information:$\n    hash value: $4$\n    Return value: $0"
+      Call .onGUIend
+      RMDir /r $TEMP\EUI-Setup
+      SetErrorLevel 1
+      Quit
+      Forged:
+      !insertmacro ERROR "Unsigned file" "The patch installer has found that though the patch itself is signed, one of the files within it is not.  This is a fatal error.  Please contact the author of this patch with the following information:$\n$\nError: F-PI013 Unsigned file in signed patch$\nAdditional information:$\n    File name: $2"
+      Call .onGUIend
+      RMDir /r $TEMP\EUI-Setup
+      SetErrorLevel 1
+      Quit
+    NoSig:
+    StrCmp $4 "" 0 +2
+      StrCmp $SIGSTAT "Signed and verified" Forged ; a backup check
+    ReadINIStr $4 $TEMP\EUI-Setup\Content.dat EUI-$TYPE "File$CURRENT Desc"
+    StrCmp $4 "" NoDesc
+    SetDetailsPrint listonly
+    DetailPrint "Install: $4 - $2 to $INSTDIR\$3"
+    SetDetailsPrint textonly
+    DetailPrint "Installing file: $2 ($4) to $INSTDIR\$3"
+    SetDetailsPrint none
+    Goto cont
+    NoDesc:
+    ReadINIStr $SRCFILE $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT SName"
+    StrCmp $SRCFILE "" 0 +2
+      StrCpy $SRCFILE $2
+    SetDetailsPrint listonly
+    DetailPrint "Install: $2 to $3"
+    SetDetailsPrint textonly
+    DetailPrint "Installing file: $2 to $INSTDIR\$3"
+    SetDetailsPrint none
+    cont:
+    ReadINIStr $3 $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT Path"
+    CreateDirectory $INSTDIR\$3
+    CopyFiles $TEMP\EUI-Setup\$SRCFILE $INSTDIR\$3\$2
+    IntCmp $CURRENT $TOTAL 0 Loop
+  ; We are done
+  StrCmp $SILENT 1 "" ns1
+  Banner::destroy
+  ns1:
+  RMDir /r $TEMP\EUI-Setup
+  SetAutoClose false
+  SetDetailsPrint both
+!macroend
+
+Function .onInit
+  ; Get rid of compiler warnings
+  ;Goto +4
+  ;  Call GetInstallerEXEName
+  ;  Call systemGetFileSysTime
+  ;  Call systemSplash
+    
+  Call GetParameters
+  Pop $0
+  StrCmp $0 "" 0 NotBlank
+    !insertmacro ERROR "Invalid Command Line" "You need to specify the patch/skin file on the command line.$\n$\nError: F-PI001 No parameters on command line"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  NotBlank:
+  StrCpy $SILENT 0
+  Push $0
+  Push "/Silent"
+  Call StrStr
+  Pop $1
+  StrCmp $1 "/Silent" "" NoSilent
+    StrCpy $SILENT 1
+    StrLen $2 $1
+    StrLen $3 $0
+    IntOp $2 $3 - $2
+    IntOp $2 $2 - 1
+    StrCpy $0 $0 $2
+  NoSilent:
+  IfFileExists $0 FoundTarget
+    !insertmacro ERROR "Missing File" "The file specified on the command line cannot be found.$\n$\nError: F-PI002 Missing file"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  FoundTarget:
+  IfFileExists $INSTDIR\XPUI.nsh FoundXPUI
+    !insertmacro ERROR "Corrupt XPUI Installation" "The ExperienceUI cannot be found on this computer.  It can be downloaded from http://xpui.sourceforge.net/.$\n$\nError: F-PI003 Cannot find XPUI installation"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  FoundXPUI:
+  StrLen $1 $0
+  IntOp $1 $1 - 3
+  StrCpy $1 $0 3 $1
+  StrCmp $1 "eup" validext-p
+  StrCmp $1 "eus" validext-s
+    !insertmacro ERROR "Invalid file extension" "The file '$0' was found and the command line was correct, but the extension is not EUP (ExperienceUI Patch) or EUS (ExperienceUI Skin).  Setup will treat this file as a patch.$\n$\nThis is a non-fatal error.$\n$\nError: N-PI004 Invalid file extension $1"
+  validext-s:
+  StrCpy $TYPE "skin"
+  Goto valid
+  validext-p:
+  StrCpy $TYPE "patch"
+  Goto valid
+  valid:
+  RMDir /r $TEMP\EUI-Setup
+  CreateDirectory "$TEMP\EUI-Setup"
+  ClearErrors
+  ZipDLL::extractall "$0" "$TEMP\EUI-Setup"
+  Pop $2
+  StrCmp $2 "success" goodZip
+    !insertmacro ERROR "Zip extract error" "The file '$0' was found and the command line was correct, but the ZIP file extraction module failed.$\n$\nThe following error string was returned by ZipDLL: $2$\n$\nError: F-PI005 ZIP file extraction error"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  goodZip:
+  IfFileExists $TEMP\EUI-Setup\Content.dat FoundScript
+    !insertmacro ERROR "Missing script" "The installation script could not be found in the patch/skin file's root directory.  This is a fatal error.  Please contact the author of this patch with the following error code.$\n$\nError: F-PI006 Cannot find installation script"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  FoundScript:
+  ClearErrors
+  ReadINIStr $TOTAL $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" NumFiles
+  IntCmp $TOTAL 1 FilesGood 0 FilesGood
+    !insertmacro ERROR "Corrupt script" "The installation script in this patch file is corrupt.  Please redownload the patch file, or contact the author of this patch with the following error code:$\n$\nError: F-PI008 Cannot find INI key NumFiles under section EUI-$TYPE in $$TEMP\EUI-Setup\CONTENT.dat, or NumFiles !>=1"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  FilesGood:
+  ; Check for a digital signature
+  
+  ; Extract the verification utility
+  SetOutPath $PLUGINSDIR
+    File SigVerify.exe
+    
+  IfFileExists $TEMP\EUI-Setup\content.sig "" Unsigned
+  FileOpen $R1 $TEMP\EUI-Setup\content.sig r
+    FileRead $R1 $R0 32
+  FileClose $R1
+  StrCmp $SILENT 1 nob1
+  Banner::show /NOUNLOAD "Validating $TYPE digital signature..."
+  nob1:
+  StrCpy $SIGSTAT "Signed and verified"
+  !insertmacro VERIFY $TEMP\EUI-Setup\content.dat $R0
+  StrCmp $SILENT 1 nob2
+  Banner::destroy
+  nob2:
+  Pop $R1
+  StrCmp $R1 Good GoodSig
+    !insertmacro ERROR "Corrupt Signature" "The author who packaged the $TYPE has specified that the file be signed with a digital signature, but after thorough testing, the patch's installation script was found to have an invalid signature.  This is a fatal error.  Please report the following information to the author of this patch:$\n$\nError: F-PI011 Master signature corrupt$\nAdditional information:$\n    BAD signature hash: $R0"
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+    Unsigned:
+    StrCmp $SILENT 1 "" NoS1
+      !insertmacro ERROR "Signature required for silent install" "The ExperienceUI patch installer does not allow silent installations of unsigned patch files.$\n$\nError: F-PI012 Signature required for silent install"
+      RMDir /r $TEMP\EUI-Setup
+      Quit
+    NoS1:
+    StrCpy $SIGSTAT "Unsigned"
+    System::Call '${sysMessageBeep} (${SOUND_QUESTION})'
+    !insertmacro smMessageBox `$\`$EXEDIR\XPUIRes.dll$\`` `The file you are opening is a valid $TYPE, but the Patch Installer has detected that it has not been signed with any digital signature.  While you may continue installing this $TYPE, it is important to remember that ExperienceUI $TYPE files are really just glorified ZIP files, and it is possible to put malicious code into them.  You should only continue if you trust the source of this $TYPE.$\n$\nDo you really want to continue?` `Unsigned $TYPE` `${MB_YESNO}` `i 1`
+    StrCmp $R0 6 SigDone
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  GoodSig:
+    ReadINIStr $R0 $TEMP\EUI-Setup\Content.dat SigInfo PN
+    ReadINIStr $R1 $TEMP\EUI-Setup\Content.dat SigInfo PE
+    ReadINIStr $R2 $TEMP\EUI-Setup\Content.dat SigInfo CN
+    ReadINIStr $R3 $TEMP\EUI-Setup\Content.dat SigInfo CE
+    StrCmp $R0 "" SigDone
+    StrCpy $APPEND ";PN=$R0;PE=$R1;CN=$R2;CE=$R3"
+    StrCpy $SIGSTAT "$SIGSTAT$\n  Signed by: $R2$\n  Signer's E-mail: $R3"
+  SigDone:
+  ReadINIStr $NAME $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" Name
+  StrCmp $SILENT 1 "" NoS2
+    !insertmacro DO_INSTALL
+    SetErrorLevel 0
+    Quit
+  NoS2:
+FunctionEnd
+
+Section
+  StrCmp $NAME "" NoName
+    HideWindow
+    System::Call '${sysMessageBeep} (${SOUND_QUESTION})'
+    !insertmacro smMessageBox '`$EXEDIR\XPUIRes.dll`' 'You are about to install a $TYPE from the following location:$\n$\n  Name: $NAME$\n  File location: $0$\n  Signature status: $SIGSTAT$\n$\nContinue?' 'ExperienceUI Setup' '${MB_YESNO}' 'i 2'
+    StrCmp $R0 7 0 NoName
+    Call .onGUIEnd
+    RMDir /r $TEMP\EUI-Setup
+    Quit
+  NoName:
+  !insertmacro DO_INSTALL
+SectionEnd
+
+Function GetParameters
+Push $R0
+Push $R1
+Push $R2
+Push $R3
+StrCpy $R2 1
+StrLen $R3 $CMDLINE
+;Check for quote or space
+StrCpy $R0 $CMDLINE $R2
+StrCmp $R0 '"' 0 +3
+StrCpy $R1 '"'
+Goto loop
+StrCpy $R1 " "
+loop:
+IntOp $R2 $R2 + 1
+StrCpy $R0 $CMDLINE 1 $R2
+StrCmp $R0 $R1 get
+StrCmp $R2 $R3 get
+Goto loop
+get:
+IntOp $R2 $R2 + 1
+StrCpy $R0 $CMDLINE 1 $R2
+StrCmp $R0 " " get
+StrCpy $R0 $CMDLINE "" $R2
+Pop $R3
+Pop $R2
+Pop $R1
+Exch $R0
+FunctionEnd
+
+ Function StrStr
+   Exch $R1 ; st=haystack,old$R1, $R1=needle
+   Exch    ; st=old$R1,haystack
+   Exch $R2 ; st=old$R1,old$R2, $R2=haystack
+   Push $R3
+   Push $R4
+   Push $R5
+   StrLen $R3 $R1
+   StrCpy $R4 0
+   ; $R1=needle
+   ; $R2=haystack
+   ; $R3=len(needle)
+   ; $R4=cnt
+   ; $R5=tmp
+   loop:
+     StrCpy $R5 $R2 $R3 $R4
+     StrCmp $R5 $R1 done
+     StrCmp $R5 "" done
+     IntOp $R4 $R4 + 1
+     Goto loop
+ done:
+   StrCpy $R1 $R2 "" $R4
+   Pop $R5
+   Pop $R4
+   Pop $R3
+   Pop $R2
+   Exch $R1
+ FunctionEnd
\ No newline at end of file
Binary file Contrib/ExperienceUI/Utils/Source/SigVerify.exe has changed
Binary file Contrib/ExperienceUI/Utils/Source/Update.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Utils/Source/UpdateWiz.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,206 @@
+!ifdef MAKEFILE
+  !verbose 0
+!else
+  !define VERSION 1.1
+!endif
+;!define BETA
+!define BETA_IP 192.168.0.253
+!define BETA_PORT 8765
+SetCompress off
+XPStyle on
+Icon Update.ico
+Name "ExperienceUI Downloader"
+Caption "ExperienceUI Update Wizard"
+OutFile ..\Updater.exe
+ChangeUI all ..\..\UIs\tinyui.exe
+SubCaption 3 " "
+SubCaption 4 " "
+InstallColors 0x000000 0xFFFFFF
+BrandingText " "
+CompletedText "Done."
+!define VER_MAJOR 1
+!define VER_TENS 1
+!define VER_ONES 0
+
+Page custom welcome lock
+Page custom infonotice lock
+Page instfiles
+
+Function welcome
+LockWindow on
+SetOutPath $TEMP
+File Updater.ini
+InstallOptions::initDialog /NOUNLOAD $TEMP\Updater.ini
+Pop $1
+SetCtlColors $1 0xFFFFFF 0xFFFFFF
+GetDlgItem $0 $1 1200
+SetCtlColors $0 0xC0C0C0 0xFFFFFF
+CreateFont $2 "Verdana" 28 100
+SendMessage $0 0x30 $2 ""
+GetDlgItem $0 $1 1201
+SetCtlColors $0 0x000000 transparent
+CreateFont $2 "MS Sans Serif" 8 700
+SendMessage $0 0x30 $2 ""
+!ifdef BETA
+SendMessage $0 0xC 0 "STR:This is a ßeta release."
+!endif
+GetDlgItem $0 $1 1202
+SetCtlColors $0 0x000000 transparent
+CreateFont $2 "MS Sans Serif" 8 350
+SendMessage $0 0x30 $2 ""
+!ifdef BETA
+SendMessage $0 0xC 0 "STR:This updater will fail unless you have a computer with the IP address ${BETA_IP} on your network, and it has the file xpui/updates.ini on port ${BETA_PORT}.  Please e-mail dandaman32@users.sourceforge.net for an updated version of this program!"
+!endif
+LockWindow off
+InstallOptions::show
+FunctionEnd
+
+Function infonotice
+SetOutPath $TEMP
+File Updater.ini
+WriteINIStr $TEMP\Updater.ini "Field 1" Left -173
+InstallOptions::initDialog /NOUNLOAD $TEMP\Updater.ini
+Pop $1
+SetCtlColors $1 0xFFFFFF 0xFFFFFF
+GetDlgItem $0 $1 1200
+SetCtlColors $0 0xC0C0C0 0xFFFFFF
+CreateFont $2 "Verdana" 28 100
+SendMessage $0 0x30 $2 ""
+SendMessage $0 0xC 0 "STR:privacy notice"
+GetDlgItem $0 $1 1201
+SetCtlColors $0 0x000000 transparent
+CreateFont $2 "MS Sans Serif" 8 700
+SendMessage $0 0x30 $2 ""
+SendMessage $0 0xC 0 "STR:Your privacy is important."
+GetDlgItem $0 $1 1202
+SetCtlColors $0 0x000000 transparent
+CreateFont $2 "MS Sans Serif" 8 350
+SendMessage $0 0x30 $2 ""
+SendMessage $0 0xC 0 "STR:This program does not send any information about to or your computer to anyone.  The only thing it does is download a text file from my web server and check its version information."
+LockWindow off
+InstallOptions::show
+FunctionEnd
+
+Function lock
+LockWindow on
+FunctionEnd
+
+Function .onUserAbort
+LockWindow off
+FunctionEnd
+
+!define LVM_DELETEALLITEMS 0x1009
+!macro CLS
+Push $0
+FindWindow $0 "#32770" "" $HWNDPARENT
+GetDlgItem $0 $0 1016
+SendMessage $0 ${LVM_DELETEALLITEMS} 0 0
+Pop $0
+!macroend
+
+Section
+LockWindow off
+GetDlgItem $0 $HWNDPARENT 1044
+ShowWindow $0 0
+GetDlgItem $0 $HWNDPARENT 3
+ShowWindow $0 0
+FindWindow $0 "#32770" "" $HWNDPARENT
+GetDlgItem $0 $0 1004
+ShowWindow $0 0
+FindWindow $0 "#32770" "" $HWNDPARENT
+GetDlgItem $0 $0 1027
+ShowWindow $0 0
+GetDlgItem $0 $HWNDPARENT 1
+ShowWindow $0 0
+DetailPrint "Connecting to the Internet..."
+Dialer::AttemptConnect
+IfErrors noie3
+Pop $R0
+!insertmacro CLS
+DetailPrint "Connecting to the Internet...$R0"
+StrCmp $R0 "online" connected      
+MessageBox MB_OK|MB_ICONSTOP "The ExperienceUI was unable to establish a connection to the Internet.  A few possible reasons for this are:$\n$\n1) You have an Internet provider that requires authentication (such as dial-up) and you did not supply a valid$\n     username or password.$\n2) Your firewall is preventing this program ($CMDLINE) from accessing the Internet.$\n3) You do not have an Internet connection set up on this computer.$\n$\nThe updater cannot continue.  Please click OK to exit."
+Call cleanup
+Abort "Unable to connect."
+noie3:
+!insertmacro CLS
+DetailPrint "Connecting to the Internet...cannot find IE3 or later"
+MessageBox MB_OK|MB_ICONINFORMATION "The ExperienceUI has detected that you do not have Microsoft Internet Explorer 3 or later installed.  The automatic internet connection feature requires MSIE3 or later to work right.$\n$\nPlease connect to the Internet now, and then click OK to continue updating the ExperienceUI."
+connected:
+!ifdef BETA
+  nsisdl::download /TRANSLATE "Downloading the update information file..." "Initializing..." " " " " " "  s " "                        "Time left: %d %s%s"   "http://${BETA_IP}:${BETA_PORT}/xpui/Updates.ini" "$TEMP\xpuiupd.ini"
+    !else
+  nsisdl::download /TRANSLATE "Downloading the update information file..." "Initializing..." " " " " " "  s " "                        "Time left: %d %s%s"   http://xpui.sourceforge.net/bin/Updates.ini "$TEMP\xpuiupd.ini"
+!endif
+Pop $0
+StrCmp $0 success GoodINI
+MessageBox MB_OK|MB_ICONINFORMATION "The ExperienceUI updater was unable to download the update information file from the web site.$\nThe web server may be down, or there may be a problem with your Internet connection.$\n$\nError: $0"
+Call cleanup
+SetDetailsPrint textonly
+DetailPrint "The updater cannot continue. Click Cancel to exit."
+SetDetailsPrint listonly
+Abort "Release info download failed: $0"
+Goto Done
+GoodINI:
+DetailPrint "Checking version..."
+DetailPrint "  Current: ${VERSION}"
+ReadINIStr $0 $TEMP\xpuiupd.ini ExperienceUI Display
+DetailPrint "  Latest: $0"
+ReadINIStr $1 $TEMP\xpuiupd.ini ExperienceUI Major
+ReadINIStr $2 $TEMP\xpuiupd.ini ExperienceUI Tens
+ReadINIStr $3 $TEMP\xpuiupd.ini ExperienceUI Ones
+ReadINIStr $4 $TEMP\xpuiupd.ini ExperienceUI Size
+IntCmp $1 ${VER_MAJOR} "" "" Updates
+IntCmp $2 ${VER_TENS} "" "" Updates
+IntCmp $3 ${VER_ONES} "" "" Updates
+Goto NoUpdates
+Updates:
+ReadINIStr $5 $TEMP\xpuiupd.ini ExperienceUI Class
+ReadINIStr $6 $TEMP\xpuiupd.ini ExperienceUI HighlightsLine1
+ReadINIStr $7 $TEMP\xpuiupd.ini ExperienceUI HighlightsLine2 
+ReadINIStr $8 $TEMP\xpuiupd.ini ExperienceUI TimeID
+DetailPrint "Update ready!"
+MessageBox MB_YESNO|MB_ICONQUESTION "An update is available!$\n$\nYour version: ${VERSION}$\nNew version: $0 (Release ID: $8) $\n$\nThis update is classified as $5.$\n$\nRelease highlights:$\n$6$\n$7$\n$\nDownload it now? (size: ~$4kb)" IDYES Download
+DetailPrint "Update found, but not downloaded."
+Goto done
+Download:
+!ifdef BETA
+nsisdl::download /TRANSLATE "Downloading ExperienceUI version $0..."  "Connecting to server..." second minute hour s "%dKB (%d%%) of %dKB at %d.%01dKB/second" "; Time left: %d %s%s" http://${BETA_IP}:${BETA_PORT}/xpui/$0/ExperienceUISetup$0.exe "$DESKTOP\ExperienceUI Setup $0.exe"
+!else
+nsisdl::download /TRANSLATE "Downloading ExperienceUI version $0..."  "Connecting to server..." second minute hour s "%dKB (%d%%) of %dKB at %d.%01dKB/second" "; Time left: %d %s%s" http://internap.dl.sourceforge.net/sourceforge/xpui/ExperienceUISetup$0.exe "$DESKTOP\ExperienceUI Setup $0.exe"
+!endif
+Pop $0
+StrCmp $0 cancel DLCancelled
+StrCmp $0 success "" DLError
+MessageBox MB_OK|MB_ICONINFORMATION "The file was downloaded successfully to your Desktop."
+DetailPrint "Update found and downloaded successfully."
+Goto done
+DLCancelled:
+DetailPrint "Download cancelled."
+MessageBox MB_OK|MB_ICONINFORMATION "The download was cancelled."
+Goto done
+DLError:
+SetDetailsPrint textonly
+DetailPrint "The updater cannot continue. Click Cancel to exit."
+SetDetailsPrint listonly
+Call Cleanup
+Abort "Download error: $0"
+MessageBox MB_OK|MB_ICONINFORMATION "The updater was unable to download the file from the web site.$\n$\nThe following error occurred:$\n$0"
+Goto done
+NoUpdates:
+DetailPrint "No updates available."
+MessageBox MB_OK|MB_ICONINFORMATION "No updates are available at this time.  Please try again later.$\n$\nCurrent version: ${VERSION}$\nLatest version: $0$\n"
+Done:
+Call Cleanup
+SectionEnd
+
+Function cleanup
+SetDetailsPrint none
+Delete $TEMP\xpuiupd.ini
+SetDetailsPrint both
+FindWindow $R0 "#32770" "" $HWNDPARENT
+GetDlgItem $R0 $R0 1016
+ShowWindow $R0 5
+GetDlgItem $R0 $HWNDPARENT 1
+ShowWindow $R0 5
+Functionend
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/Utils/Source/Updater.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,30 @@
+; Ini file generated by the HM NIS Edit IO designer.
+[Settings]
+NumFields=3
+Rect=1044
+NextButtonText=Next
+
+[Field 1]
+Type=Label
+Text=welcome
+Left=-109
+Right=-1
+Top=-28
+Bottom=-1
+
+[Field 2]
+Type=Label
+Text=Welcome to the ExperienceUI for NSIS Update Wizard.
+Left=3
+Right=-1
+Top=33
+Bottom=41
+
+[Field 3]
+Type=Label
+Text=Welcome. This program is used to update the ExperienceUI for NSIS.\r\nTo continue, click Next.
+Left=3
+Right=267
+Top=52
+Bottom=84
+
Binary file Contrib/ExperienceUI/Utils/XPUIRes.dll has changed
Binary file Contrib/ExperienceUI/Utils/icon-patch.ico has changed
Binary file Contrib/ExperienceUI/Utils/icon-skin.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/XPUI-Setup.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,208 @@
+; ExperienceUI for NSIS 1.11
+; Setup Script
+; Copyright © 2004-2006 Dan Fuhry aka dandaman32
+
+; This program is free software; you redistribute and/or modify it
+; under the terms of the zlib/libpng license.
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; merchantability or fitness for a particular purpose.  See the
+; zlib/libpng license for details.
+
+; You should have received a copy of the zlib/libpng license with
+; this program; if not, visit http://xpui.sf.net/docs/?start=legal.htm.
+
+; This script requires the following add-ons and libraries in order to compile:
+; * ExperienceUI for NSIS SDK v1.11 or later - http://xpui.sourceforge.net/
+; * Component Manager 0.2 or later - http://xpui.sourceforge.net/page/compmgr/
+
+;-------------------------------------
+; First Things First
+
+SetCompressor /FINAL /SOLID lzma
+
+;-------------------------------------
+; Declarations
+
+Name "ExperienceUI for NSIS"
+Caption "ExperienceUI SDK Setup"
+OutFile "..\..\ExperienceUI-1.11.exe"
+CheckBitmap "${NSISDIR}\Contrib\Graphics\Checks\Modern.bmp"
+!define /date XPUI_BUILD_ID "%H%M-%y%m%d"
+!define /date XPUI_BUILD_ID_DECIMAL "%y%m%d.%H%M"
+!define XPUI_SYSDIR "."
+
+InstType "Full Install"
+InstType "Standard Install"
+InstType "Minimal Install"
+
+;-------------------------------------
+; ExperienceUI Settings
+
+!define XPUI_DIRECTORYPAGE_TEXT "Setup will install $(^Name) in the following folder. To install in this folder, leave the text below as-is. To install in a different folder, enter one below, or click Browse. $_CLICK$\n$\nNOTE: You need to have write access to the directory 2 levels up from the install directory,$\ni. e. if you install in C:\Program Files\NSIS\Contrib\ExperienceUI, you need to have write access to C:\Program Files\NSIS."
+!define XPUI_ABORTWARNING
+!define XPUI_UNABORTWARNING
+!define XPUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\XPUI-Install.ico"
+!define XPUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\XPUI-UnInstall.ico"
+!define XPUI_BRANDINGTEXT "ExperienceUI for NSIS ${XPUI_VERSION}"
+!define XPUI_SKIN "Windows XP"
+!define XPUI_LICENSEPAGE_CHECKBOX
+!define XPUI_DISABLEBG
+!define XPUI_FINISHPAGE_DOCS
+!define XPUI_FINISHPAGE_DOCS_FILE "$INSTDIR\..\..\Docs\ExperienceUI\open_popup.hta"
+!define XPUI_VERBOSE 4
+
+!define CM_STARTMENU_REG_ROOT HKLM
+!define CM_STARTMENU_REG_KEY  "Software\NSIS\ExperienceUI"
+!define CM_STARTMENU_REG_VALUE "StartMenuFolder"
+
+!include XPUI.nsh
+!include CM.nsh
+
+;-------------------------------------
+; Compile-time Options
+
+; Define to include the "A Better Installer" splash screen (adds a whopping 100KB)
+  !define XPUI_SETUP_SPLASH
+
+;-------------------------------------
+; Variables
+
+Var SMFOLDER
+Var INSTALL_EX
+Var INSTALL_DOCS
+Var INSTALL_UTILS
+
+!insertmacro XPUI_PAGE_STARTMENU_INIT App $SMFOLDER
+
+;-------------------------------------
+; Version Info
+
+VIProductVersion "1.11.${XPUI_BUILD_ID_DECIMAL}"
+VIAddVersionKey /LANG=1033 "FileVersion" "1.11.${XPUI_BUILD_ID}"
+VIAddVersionKey /LANG=1033 "ProductVersion" "1.11.${XPUI_BUILD_ID}"
+VIAddVersionKey /LANG=1033 "ProductName" "ExperienceUI for NSIS"
+VIAddVersionKey /LANG=1033 "Comments" "This installer was written by Dan Fuhry using Nullsoft Scriptable Install System (http://nsis.sourceforge.net)"
+VIAddVersionKey /LANG=1033 "CompanyName" "Dan Fuhry"
+VIAddVersionKey /LANG=1033 "LegalTrademarks" "ExperienceUI SDK by Dan Fuhry. Copyright © 2004-2005 Dashboard Software Ltd."
+VIAddVersionKey /LANG=1033 "LegalCopyright" "Copyright © 2004-2005 Dan Fuhry"
+VIAddVersionKey /LANG=1033 "FileDescription" "ExperienceUI SDK Setup/Maintenance Program"
+VIAddVersionKey /LANG=1033 "SpecialBuild" "ExperienceUI for NSIS Software Development Kit Setup, built on ${__TIMESTAMP__} (${XPUI_BUILD_ID})"
+
+;-------------------------------------
+; Initialization
+
+Function .onInit
+  !ifdef XPUI_SETUP_SPLASH
+  InitPluginsDir
+  SetOutPath $PLUGINSDIR
+  File LargeLogo.gif
+  newadvsplash::show /NOUNLOAD 2000 2000 2000 -1 "$PLUGINSDIR\LargeLogo.gif"
+  Delete $PLUGINSDIR\LargeLogo.gif
+  !endif
+  ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString"
+  StrCpy $0 $0 "" 1
+  StrCpy $0 $0 -17
+  IfFileExists $0\MakeNSIS.exe FoundNSIS
+    MessageBox MB_YESNO|MB_ICONEXCLAMATION "Setup was unable to find NSIS on your system.  The ExperienceUI SDK requires NSIS in order to function.$\n$\nDo you want to go to the NSIS website now?" IDNO +2
+      ExecShell open "http://nsis.sourceforge.net/"
+    Abort
+  FoundNSIS:
+  StrCpy $INSTDIR "$0\Contrib\ExperienceUI"
+FunctionEnd
+
+;-------------------------------------
+; Sections
+
+!verbose 0
+!include ExperienceUIFileList.nsh
+Section
+  ReadRegStr $0 HKLM "Software\Microsoft\Windows NT\CurrentVersion" "RegisteredOwner"
+  StrCmp $0 "Daniel C. Fuhry" +2
+  MessageBox MB_OK|MB_ICONINFORMATION "Please take some time to read the ExperienceUI documentation because the ExperienceUI is different from other UIs and as a result requires a slightly different script layout."
+SectionEnd
+!verbose 4
+
+SubSection "Downloadable extras"
+  Section "Page background images - 187KB"
+    DetailPrint "Downloading file: http://xpui.sf.net/bin/1.11/bgimages.eup (187KB, <1min)"
+    download:
+    nsisdl::download_quiet "http://xpui.sourceforge.net/bin/1.11/bgimages.eup" "$PLUGINSDIR\bg.eup"
+    Pop $0
+    StrCmp $0 success dlgood
+      MessageBox MB_OK|MB_ICONEXCLAMATION "Error downloading patch file: $0"
+      Return
+    dlgood:
+    DCryptDll::MD5Hash "FS" "$PLUGINSDIR\bg.eup" "--End--"
+    Pop $0
+      StrCmp $0 OK ok1
+      MessageBox MB_OK|MB_ICONSTOP "Error verifying MD5 hash of download:$\n$0"
+      Goto done
+    ok1:
+    Pop $0
+    StrCmp $0 "83972708FD0EBC9373BDEF81EE006881" Patch ; Not the signature hash, just the regular MD5
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9
+      Pop $9 ; GET RID OF THE STACK!!!!
+      StrCpy $0 ""
+      StrCpy $1 ""
+      StrCpy $2 ""
+      StrCpy $3 ""
+      StrCpy $4 ""
+      messagebox::show MB_ICONEXCLAMATION|MB_TOPMOST|MB_DEFBUTTON1 "Bad Download" "0,103" "The ExperienceUI installer has detected that the MD5 hash of the official download and the hash of the downloaded file are different.$\n$\nThe most likely reason for this is a corrupt download.  If you want to try to download the file again, click Try Again.$\n$\nIt is also possible, though very unlikely, that someone has broken into the ExperienceUI web server and changed the patch file to something potentially malicious.  If you think that is the case, please press Skip.$\n$\nTo try to install the patch file anyway, click Ignore.$\n" "IDTRYAGAIN" "Skip" IDIGNORE
+      Pop $1
+      StrCmp $1 1 download
+      StrCmp $1 2 done
+    Patch:
+      DetailPrint "Installing background image files..."
+      ExecWait '"$INSTDIR\Utils\PatchInstaller.exe" $PLUGINSDIR\bg.eup /Silent'
+    Done:
+  SectionEnd
+SubSectionEnd
+
+!macro CM_UNINST
+  Delete $INSTDIR\Utils\Updater.exe
+  Delete $INSTDIR\Utils\PatchInstaller.exe
+  SetOutPath "C:\" ; Reset the output dir and close any handles still open
+  ${CMInclude} Dirlist # doing this three
+  ${CMInclude} Dirlist # times to make sure
+  ${CMInclude} Dirlist # everything's gone
+  RMDir $INSTDIR # Will delete $INSTDIR if it's empty
+!macroend
+
+;-------------------------------------
+; Pages
+
+!verbose 0
+!insertmacro CM_LANGUAGE English
+!insertmacro CM_PAGES
+
+!define XPUI_WELCOMEPAGE2_TEXT_TOP "Welcome to ExperienceUI 1.11."
+!define XPUI_WELCOMEPAGE2_TEXT     "Welcome to the ExperienceUI, the user interface that makes NSIS the installer your programs truly deserve.\r\n\r\nClick Next to start.\r\n\r\nThis release is version 1.11 and it was built on ${__TIMESTAMP__}."
+
+${Page} Welcome2
+${LicensePage} License.rtf
+${Page} Components
+${Page} Directory
+!insertmacro XPUI_PAGE_STARTMENU_SHOW App
+${Page} InstConfirm
+${Page} InstFiles
+${Page} Finish
+${Page} Abort
+
+${UnPage} Welcome2
+${UnPage} UnConfirm
+${UnPage} InstConfirm
+${UnPage} InstFiles
+${UnPage} Finish
+${UnPage} Abort
+
+!insertmacro XPUI_LANGUAGE "English"
+!insertmacro CM_FILES
+!verbose 4
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Contrib/ExperienceUI/XPUI.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,3219 @@
+; NSIS ExperienceUI User Interface version 1.11
+; Macro System and Main Logic
+; Written by Dan Fuhry
+
+; Copyright © 2004-2006 Dan Fuhry
+; Portions written by Joost Verburg
+; Copyright © 2002-2004 Joost Verburg
+
+; This program is free software; you redistribute and/or modify it
+; under the terms of the zlib/libpng license.
+
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; merchantability or fitness for a particular purpose.  See the
+; zlib/libpng license for details.
+
+; You should have received a copy of the zlib/libpng license with
+; this program; if not, visit http://xpui.sf.net/docs/?start=legal.htm.
+
+!ifdef XPUI_INCLUDED
+!warning `The ExperienceUI was included multiple times. Please include it only once in your script.`
+!endif
+
+!ifndef XPUI_INCLUDED
+
+; We're in. Set verbosity.
+
+!ifndef XPUI_VERBOSE
+  !define XPUI_VERBOSE 1
+!endif
+
+!verbose push
+!verbose ${XPUI_VERBOSE}
+
+!define XPUI_INCLUDED
+!define XPUI_VERSION 1.11
+
+!ifndef XPUI_SYSDIR
+  !define XPUI_SYSDIR "${NSISDIR}\Contrib\ExperienceUI"
+!endif
+
+; Do some pretty stuff
+
+!verbose 4
+
+; my infamous (new) ASCII art
+!ifndef XPUI_SILENT
+!echo "\
++-------------------------------------------------------------------------------------------------+$\n\
+|                                                                             /¯¯|  /¯¯|  /¯¯|    |$\n\
+| |¯¯¯¯¯¯¯|                         _                           |¯|  |¯| |¯| / / | / / | / / |    |$\n\
+| | |¯¯¯¯¯                         |_|                          | |  | | | |  ¯| |  ¯| |  ¯| |    |$\n\
+| |  ¯¯¯|   _  _        ___   ___   _   ___   ____    ____  ___ | |  | | | |   | |   | |   | |    |$\n\
+| | |¯¯¯    \\// |¯¯¯\ / __\ |  _| | | / __\ |  _  \ / __/ / __\| |__| | | |   | |   | |   | |    |$\n\
+| |  ¯¯¯¯¯| //\\ | __/ \___/ |_|   |_| \___/ |_| |_| \___\ \___/\______/ |_|   |_| O |_|   |_|    |$\n\
+|  ¯¯¯¯¯¯¯  ¯  ¯ |_|                                                       [ A better installer ] |$\n\
++-------------------------------------------------------------------------------------------------+$\n"
+
+!echo `NSIS ExperienceUI User Interface version ${XPUI_VERSION}   $\n\
+       Copyright © 2004-2005 Dan Fuhry                            $\n\
+                                                                  $\n\
+       Portions written by Joost Verburg                          $\n\
+       Copyright © 2002-2004 Joost Verburg                        $\n\
+                                                                  $\n\
+       XPUI: Processing XPUI code...                       $\n`
+
+!endif
+
+!verbose ${XPUI_VERBOSE}
+
+; Compiler check
+
+!define XPUI_NSIS_REQUIRED_FLAGS "NSIS_CONFIG_VISIBLE_SUPPORT | \
+                                  NSIS_CONFIG_ENHANCEDUI_SUPPORT | \
+                                  NSIS_SUPPORT_CODECALLBACKS | \
+                                  NSIS_SUPPORT_INTOPTS | \
+                                  NSIS_SUPPORT_STROPTS | \
+                                  NSIS_SUPPORT_STACK | \
+                                  NSIS_SUPPORT_INIFILES | \
+                                  NSIS_SUPPORT_EXECUTE | \
+                                  NSIS_SUPPORT_FILE | \
+                                  NSIS_SUPPORT_DELETE | \
+                                  NSIS_SUPPORT_MESSAGEBOX | \
+                                  NSIS_CONFIG_PLUGIN_SUPPORT"
+
+  !ifndef ${XPUI_NSIS_REQUIRED_FLAGS}
+          
+    !verbose 4
+    !error   "$\n  ExperienceUI: FATAL: MakeNSIS was compiled without certain options that are required in order for the \
+                ExperienceUI to work.$\n  The compiler options required in order for core ExperienceUI functionality are: \
+                ${XPUI_NSIS_REQUIRED_FLAGS}.$\n  Please remove the ExperienceUI from your script or recompile NSIS to \
+                support these features."
+  !endif
+  
+; Variables
+  
+Var /GLOBAL XPUI_TEMP1
+Var /GLOBAL XPUI_TEMP2
+Var /GLOBAL XPUI_ABORTED
+Var /GLOBAL XPUI_HWND
+Var /GLOBAL XPUI_NOABORTWARNING
+
+; Basic macros
+
+!macro XPUI_DEFAULT S V
+  !ifndef `${S}`
+    !define `${S}` `${V}`
+  !endif
+!macroend
+
+!macro XPUI_SET S V
+  !ifdef `${S}`
+    !undef `${S}`
+  !endif
+  !define `${S}` `${V}`
+!macroend
+
+!macro XPUI_UNSET S
+  !ifdef `${S}`
+    !undef `${S}`
+  !endif
+!macroend
+
+!macro MUI_DEFAULT S V
+  !ifndef `${S}`
+    !define `${S}` `${V}`
+  !endif
+!macroend
+
+!macro XPUI_SET_QUOTE_ALT SYMBOL CONTENT
+  !ifdef "${SYMBOL}"
+    !undef "${SYMBOL}"
+  !endif
+  !define "${SYMBOL}" "${CONTENT}"
+!macroEnd
+
+!macro XPUI_CREATEID
+
+  !ifndef XPUI_UNIQUEID
+    !define XPUI_UNIQUEID ${__LINE__}
+  !endif
+
+  !ifdef XPUI_UNIQUEID
+    !undef XPUI_UNIQUEID
+    !define XPUI_UNIQUEID ${__LINE__}
+  !endif
+
+!macroend
+
+!macro XPUI_CONVERT XPUI MUI
+
+  !ifdef ${MUI}
+    !insertmacro XPUI_SET ${XPUI} `${${MUI}}`
+    !undef ${MUI}
+  !endif
+
+!macroend
+
+!macro XPUI_CONVERT_QUOTE_ALT XPUI MUI
+
+  !ifdef ${MUI}
+    !insertmacro XPUI_SET_QUOTE_ALT ${XPUI} "${${MUI}}"
+  !endif
+
+!macroend
+
+!macro XPUI_CONTROL_SKIN HWND
+  !ifdef XPUI_FASTERSKINNING
+    SetCtlColors ${HWND} `${XPUI_TEXT_COLOR}` `${XPUI_TEXT_BGCOLOR}`
+  !else
+  !ifdef XPUI_INTERNAL_INTERFACE_INSERTED
+    SetCtlColors ${HWND} `${XPUI_TEXT_COLOR}` `${XPUI_TEXT_BGCOLOR}`
+  !else
+    !ifndef XPUI_EXTERNAL_SKINNER
+      Push "${HWND}"
+      Call ${XPUI_UNFUNC}xpui.SkinControl
+      Pop "${HWND}"
+    !endif
+  !endif
+  !endif
+!macroend
+
+!macro XPUI_CONTROL_SKIN_LIGHT HWND
+  !ifdef XPUI_FASTERSKINNING
+    SetCtlColors ${HWND} `${XPUI_TEXT_LIGHTCOLOR}` `${XPUI_TEXT_BGCOLOR}`
+  !else
+  !ifdef XPUI_INTERNAL_INTERFACE_INSERTED
+    SetCtlColors ${HWND} `${XPUI_TEXT_LIGHTCOLOR}` `${XPUI_TEXT_BGCOLOR}`
+  !else
+  !ifndef XPUI_EXTERNAL_SKINNER
+  Push "${HWND}"
+  Call ${XPUI_UNFUNC}xpui.SkinControl.light
+  Pop "${HWND}"
+  !endif
+  !endif
+  !endif
+!macroend
+
+!macro XPUI_CONTROL_SKIN_TRANS HWND
+  !ifdef XPUI_FASTERSKINNING
+    SetCtlColors ${HWND} `${XPUI_TEXT_COLOR}` `Transparent`
+  !else
+  !ifdef XPUI_INTERNAL_INTERFACE_INSERTED
+    SetCtlColors ${HWND} `${XPUI_TEXT_COLOR}` `Transparent`
+  !else
+  !ifndef XPUI_EXTERNAL_SKINNER
+  Push "${HWND}"
+  Call ${XPUI_UNFUNC}xpui.SkinControl.trans
+  Pop "${HWND}"
+  !endif
+  !endif
+  !endif
+!macroend
+
+!macro XPUI_CONTROL_SKIN_LIGHT_TRANS HWND
+  !ifdef XPUI_FASTERSKINNING
+    SetCtlColors ${HWND} `${XPUI_TEXT_LIGHTCOLOR}` `Transparent`
+  !else
+  !ifdef XPUI_INTERNAL_INTERFACE_INSERTED
+    SetCtlColors ${HWND} `${XPUI_TEXT_LIGHTCOLOR}` `Transparent`
+  !else
+  !ifndef XPUI_EXTERNAL_SKINNER  
+  Push "${HWND}"
+  Call ${XPUI_UNFUNC}xpui.SkinControl.light.trans
+  Pop "${HWND}"
+  !endif
+  !endif
+  !endif
+!macroend
+
+!macro XPUI_PAGE_CUSTOMFUNCTION Z
+
+  !ifdef XPUI_PAGE_CUSTOMFUNCTION_${Z}
+    Call `${XPUI_PAGE_CUSTOMFUNCTION_${Z}}`
+    !undef XPUI_PAGE_CUSTOMFUNCTION_${Z}
+  !endif
+  
+  ; Modern UI Compatible
+  !ifdef MUI_PAGE_CUSTOMFUNCTION_${Z}
+    Call `${MUI_PAGE_CUSTOMFUNCTION_${Z}}`
+    !undef MUI_PAGE_CUSTOMFUNCTION_${Z}
+  !endif
+  
+!macroend
+
+!macro XPUI_CONTROL_SKIN_PAGE HWND
+  
+  !ifndef XPUI_EXTERNAL_SKINNER
+  !ifndef XPUI_BGIMAGE
+  !insertmacro XPUI_CONTROL_SKIN ${HWND}
+  !else
+  !insertmacro XPUI_CONTROL_SKIN_TRANS ${HWND}
+  !endif
+  !endif
+  
+!macroend
+
+!macro XPUI_PAGECOLOR_INIT ID
+
+  Push $XPUI_HWND
+  FindWindow $XPUI_HWND "#32770" "" $HWNDPARENT
+  GetDlgItem $XPUI_HWND $XPUI_HWND ${ID}
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+  Pop $XPUI_HWND
+
+!macroend
+
+!macro XPUI_PAGEMODE_INST
+  !echo `XPUI Page Mode: INSTALL`
+  !insertmacro XPUI_SET XPUI_PAGEMODE_INSERTED ``
+  !insertmacro XPUI_SET XPUI_UN ``
+  !insertmacro XPUI_SET XPUI_UNINST ``
+  !insertmacro XPUI_SET XPUI_UNFUNC ``
+  !insertmacro XPUI_SET XPUI_PAGEMODE `Install`
+!macroend
+
+!macro XPUI_PAGEMODE_UNINST
+  !echo `XPUI Page Mode: UNINSTALL`
+  !insertmacro XPUI_SET XPUI_PAGEMODE_INSERTED ``
+  !insertmacro XPUI_SET XPUI_UN `UN`
+  !insertmacro XPUI_SET XPUI_UNINST `Uninst`
+  !insertmacro XPUI_SET XPUI_UNFUNC `un.`
+  !insertmacro XPUI_SET XPUI_PAGEMODE `Uninstall`
+  
+  !ifndef XPUI_UNINSTALLER
+    !define XPUI_UNINSTALLER
+  !endif
+!macroend
+
+!macro XPUI_PAGEMODE_PUSH
+  !insertmacro XPUI_SET XPUI_UN_PUSHED "${XPUI_UN}"
+  !insertmacro XPUI_SET XPUI_UNINST_PUSHED "${XPUI_UNINST}"
+  !insertmacro XPUI_SET XPUI_UNFUNC_PUSHED "${XPUI_UNFUNC}"
+!macroend
+
+!macro XPUI_PAGEMODE_POP
+  !insertmacro XPUI_SET XPUI_UN "${XPUI_UN_PUSHED}"
+  !insertmacro XPUI_SET XPUI_UNINST "${XPUI_UNINST_PUSHED}"
+  !insertmacro XPUI_SET XPUI_UNFUNC "${XPUI_UNFUNC_PUSHED}"
+!macroend
+
+!macro XPUI_HEADER_TEXT T S
+  Push $XPUI_TEMP1
+  GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1037
+  SendMessage $XPUI_TEMP1 0xC 0 `STR:${T}`
+  GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1038
+  SendMessage $XPUI_TEMP1 0xC 0 `STR:${S}`
+  !ifdef TEMP
+    !define TEMP_PUSH `${TEMP}`
+    !undef TEMP
+  !endif
+  !ifdef XPUI_HEADERIMAGE_NORESIZETOFIT
+    !define TEMP " "
+  !else
+    !define TEMP /RESIZETOFIT
+  !endif
+  !ifndef XPUI_BGIMAGE
+  SetBrandingImage /IMGID=1046 ${TEMP} "$PLUGINSDIR\Header.bmp" ; ...finally...
+  !else
+  SetBrandingImage /IMGID=1099 ${TEMP} "$PLUGINSDIR\BgImage.bmp"
+  !endif
+  !undef TEMP
+  !ifdef TEMP_PUSH
+    !define TEMP `${TEMP_PUSH}`
+    !undef TEMP_PUSH
+  !endif
+  Pop $XPUI_TEMP1
+!macroend
+
+!macro XPUI_USERABORT
+  StrCmp $XPUI_NOABORTWARNING 1 +7
+  IfFileExists $PLUGINSDIR\Finish.ini `` +3
+  WriteINIStr $PLUGINSDIR\Finish.ini `Field 1` State 0
+  WriteINIStr $PLUGINSDIR\Finish.ini `Field 2` State 0
+  StrCpy $XPUI_ABORTED 1
+  SendMessage $HWNDPARENT `0x408` `1` ``
+  Abort
+!macroend
+
+!macro XPUI_INNERDIALOG_TEXT TEXT ID
+
+  Push $XPUI_HWND
+  FindWindow $XPUI_HWND "#32770" "" $HWNDPARENT
+  GetDlgItem $XPUI_HWND $XPUI_HWND `${ID}`
+  SendMessage $XPUI_HWND 0xC 0 `STR:${TEXT}`
+  Pop $XPUI_HWND
+
+!macroend
+
+!ifdef XPUI_WANSIS
+  !ifndef XPUI_EXTERNAL_SKINNER
+    !define XPUI_EXTERNAL_SKINNER
+  !endif
+!endif
+
+; Install Options
+
+!insertmacro XPUI_DEFAULT XPUI_INSTALLOPTIONS_MAXFIELD 1250
+
+!macro XPUI_INSTALLOPTIONS_EXTRACT FILE
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  InitPluginsDir
+  File `/oname=$PLUGINSDIR\${FILE}` `${FILE}`
+  !insertmacro XPUI_INSTALLOPTIONS_WRITE `${FILE}` `Settings` `RTL` `$(^RTL)`
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_EXTRACT_AS FILE FILENAME
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  InitPluginsDir
+  File `/oname=$PLUGINSDIR\${FILENAME}` `${FILE}`
+  !insertmacro XPUI_INSTALLOPTIONS_WRITE `${FILENAME}` `Settings` `RTL` `$(^RTL)`
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_DISPLAY FILE
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  !insertmacro XPUI_CREATEID
+  StrCmp $XPUI_ABORTED 1 `` +2
+  Abort
+  WriteINIStr `$PLUGINSDIR\${FILE}` `Settings` `RTL` `$(^RTL)`
+  InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\${FILE}`
+  Pop $XPUI_HWND
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+  LockWindow on
+  StrCpy $XPUI_TEMP2 1199
+  XPUI.loop.setctl.${XPUI_UNIQUEID}:
+  IntOp $XPUI_TEMP2 $XPUI_TEMP2 + 1
+  GetDlgItem $XPUI_TEMP1 $XPUI_HWND $XPUI_TEMP2
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+  IntCmp $XPUI_TEMP2 ${XPUI_INSTALLOPTIONS_MAXFIELD} `` XPUI.loop.setctl.${XPUI_UNIQUEID}
+  GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1018
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+  SetBrandingImage /IMGID=1019 /RESIZETOFIT "$PLUGINSDIR\page.bmp"
+  LockWindow off
+  InstallOptions::show
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_DISPLAY_RETURN FILE
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  !insertmacro XPUI_CREATEID
+  StrCmp $XPUI_ABORTED 1 `` +2
+  Abort
+  WriteINIStr `$PLUGINSDIR\${FILE}` `Settings` `RTL` `$(^RTL)`
+  InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\${FILE}`
+  Pop $XPUI_HWND
+  LockWindow on
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+  StrCpy $XPUI_TEMP2 1199
+  XPUI.loop.setctl.${XPUI_UNIQUEID}:
+  IntOp $XPUI_TEMP2 $XPUI_TEMP2 + 1
+  GetDlgItem $XPUI_TEMP1 $XPUI_HWND $XPUI_TEMP2
+  StrCmp $XPUI_TEMP1 0 XPUI.done
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+  IntCmp $XPUI_TEMP2 ${XPUI_INSTALLOPTIONS_MAXFIELD} XPUI.done.${XPUI_UNIQUEID} XPUI.loop.setctl.${XPUI_UNIQUEID}
+  XPUI.done.${XPUI_UNIQUEID}:
+  SetBrandingImage /IMGID=1019 /RESIZETOFIT "$PLUGINSDIR\page.bmp"
+  LockWindow off
+  InstallOptions::show
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_INITDIALOG FILE
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  !insertmacro XPUI_CREATEID
+  StrCmp $XPUI_ABORTED 1 `` +2
+  Abort
+  WriteINIStr `$PLUGINSDIR\${FILE}` `Settings` `RTL` `$(^RTL)`
+  InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\${FILE}`
+  Pop $XPUI_HWND
+  LockWindow on
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+  StrCpy $XPUI_TEMP2 1199
+  XPUI.loop.setctl.${XPUI_UNIQUEID}:
+  IntOp $XPUI_TEMP2 $XPUI_TEMP2 + 1
+  GetDlgItem $XPUI_TEMP1 $XPUI_HWND $XPUI_TEMP2
+  StrCmp $XPUI_TEMP1 0 XPUI.done.${XPUI_UNIQUEID}
+  !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+  IntCmp $XPUI_TEMP2 ${XPUI_INSTALLOPTIONS_MAXFIELD} XPUI.done.${XPUI_UNIQUEID} XPUI.loop.setctl.${XPUI_UNIQUEID}
+  XPUI.done.${XPUI_UNIQUEID}:
+  SetBrandingImage /IMGID=1019 /RESIZETOFIT "$PLUGINSDIR\page.bmp"
+  LockWindow off
+  Push $XPUI_HWND
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_SHOW
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  InstallOptions::show
+  Pop $XPUI_TEMP1
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_SHOW_RETURN
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  InstallOptions::show
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  ReadIniStr ${VAR} `$PLUGINSDIR\${FILE}` `${SECTION}` `${KEY}`
+  !verbose pop
+!macroend
+
+!macro XPUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  WriteIniStr `$PLUGINSDIR\${FILE}` `${SECTION}` `${KEY}` `${VALUE}`
+  !verbose pop
+!macroend
+
+!macro XPUI_RESERVEFILE_INSTALLOPTIONS
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  ReserveFile `${NSISDIR}\Plugins\InstallOptions.dll`
+  !verbose pop
+!macroend
+
+!macro MUI_INSTALLOPTIONS_EXTRACT F
+  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT `${F}`
+!macroend
+
+!macro MUI_INSTALLOPTIONS_EXTRACT_AS O N
+  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT_AS `${O}` `${N}`
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY F
+  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY `${F}`
+!macroend
+
+!macro MUI_INSTALLOPTIONS_DISPLAY_RETURN F
+  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY_RETURN `${F}`
+!macroend
+
+!macro MUI_INSTALLOPTIONS_INITDIALOG F
+  !insertmacro XPUI_INSTALLOPTIONS_INITDIALOG `${F}`
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW
+  !insertmacro XPUI_INSTALLOPTIONS_SHOW
+!macroend
+
+!macro MUI_INSTALLOPTIONS_SHOW_RETURN
+  !insertmacro XPUI_INSTALLOPTIONS_SHOW_RETURN
+!macroend
+
+!macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  ReadIniStr ${VAR} `$PLUGINSDIR\${FILE}` `${SECTION}` `${KEY}`
+  !verbose pop
+!macroend
+
+!macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  WriteIniStr `$PLUGINSDIR\${FILE}` `${SECTION}` `${KEY}` `${VALUE}`
+  !verbose pop
+!macroend
+
+!macro MUI_RESERVEFILE_INSTALLOPTIONS
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  ReserveFile `${NSISDIR}\Plugins\InstallOptions.dll`
+  !verbose pop
+!macroend
+
+; Interface - Compile time settings
+
+!insertmacro XPUI_DEFAULT XPUI_UI          "${XPUI_SYSDIR}\UIs\UI.exe"
+
+ChangeUI all `${XPUI_UI}`
+
+!ifdef XPUI_WANSIS
+  !ifndef XPUI_EXTERNAL_SKINNER
+  !define XPUI_EXTERNAL_SKINNER
+  !endif
+!endif
+
+!ifdef XPUI_BGIMAGE & XPUI_WANSIS
+  !verbose push
+  !verbose 4
+  !warning "ExperienceUI: WARNING: The set of visual features you defined for the installer - XPUI_WANSIS and XPUI_BGIMAGE - does not work.  The ExperienceUI will use WAnsis support only."
+  !undef XPUI_BGIMAGE
+  !verbose pop
+!endif
+
+; Interface - Runtime Settings
+
+!macro XPUI_INTERFACE
+
+  ; Defaults
+  
+  ; Skin Includes
+  !ifdef XPUI_SKIN
+    !ifndef XPUI_SKIN_INCLUDED
+    !define XPUI_SKIN_INCLUDED
+    !verbose push
+    !verbose 3 ; Allow errors to be exposed
+    !include "${XPUI_SYSDIR}\Skins\${XPUI_SKIN}.xpuiskin"
+    !verbose pop
+    !endif
+  !endif
+  
+  ; We'll just assume that if the user defined UMUI_SKIN he wants a UMUI-style installer
+  !ifdef UMUI_SKIN
+    !include "${NSISDIR}\Contrib\UltraModernUI\Skins\${UMUI_SKIN}.nsh"
+    !insertmacro XPUI_LANGUAGE_CONVERT
+  !endif
+  
+  !ifdef XPUI_BGIMAGE & XPUI_WANSIS
+    !verbose 4
+    !warning "ExperienceUI: WARNING: The set of visual features you defined for the installer - XPUI_WANSIS and XPUI_BGIMAGE - does not work.  The ExperienceUI will use WAnsis support only."
+    !undef XPUI_BGIMAGE
+  !endif
+  
+  ; WAnsis settings
+  !ifdef XPUI_WANSIS
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_SKIN Forum
+    !insertmacro XPUI_DEFAULT XPUI_LEFTLOGO               `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\LeftLogo.bmp`
+    !insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE            ``
+    !insertmacro XPUI_DEFAULT XPUI_UNBOTTOMIMAGE          ``
+    !insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_BMP        `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\Bottom.bmp`
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_GEN             `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\gen.bmp`
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_GENEX           `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\genex.bmp`
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_HEADERIMAGE_BMP `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\header.bmp`
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_CHECKS          `${XPUI_SYSDIR}\Skins\${XPUI_WANSIS_SKIN}\checks.bmp`
+    
+    !insertmacro XPUI_DEFAULT XPUI_WANSIS_UI              `${XPUI_SYSDIR}\UIs\WAnsis_UI.exe`
+    
+    ChangeUI all `${XPUI_WANSIS_UI}`
+    CheckBitmap `${XPUI_WANSIS_CHECKS}`
+    
+    !ifndef XPUI_EXTERNAL_SKINNER
+      !define XPUI_EXTERNAL_SKINNER
+    !endif
+    
+    !warning "ExperienceUI: WARNING: WAnsis has been known to be unstable with certain configurations."
+    
+  !endif
+  
+  ; Interface Colors
+  !insertmacro XPUI_DEFAULT XPUI_TEXT_COLOR `0xB4D3EA`
+  !insertmacro XPUI_DEFAULT XPUI_TEXT_BGCOLOR `0x566978`
+  !insertmacro XPUI_DEFAULT XPUI_TEXT_LIGHTCOLOR `0xFFFFFF`
+  
+  !insertmacro XPUI_DEFAULT XPUI_HEADER_TEXT_COLOR "${XPUI_TEXT_COLOR}"
+  
+  ; Icons
+  !insertmacro XPUI_DEFAULT XPUI_ICON `${NSISDIR}\Contrib\Graphics\Icons\XPUI-install.ico`
+  !insertmacro XPUI_DEFAULT XPUI_UNICON `${NSISDIR}\Contrib\Graphics\Icons\XPUI-uninstall.ico`
+
+  !ifdef XPUI_ICON
+  Icon `${XPUI_ICON}`
+  !Endif
+
+  !ifdef XPUI_UNICON
+  UninstallIcon `${XPUI_UNICON}`
+  !Endif
+  
+  ; Check bitmap
+  !ifndef XPUI_WANSIS
+    !insertmacro XPUI_DEFAULT XPUI_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\Modern.bmp"
+    CheckBitmap "${XPUI_CHECKBITMAP}"
+  !endif
+  
+  ; Header image
+  !insertmacro XPUI_DEFAULT XPUI_HEADERIMAGE `${XPUI_SYSDIR}\Skins\Default\Header.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_UNHEADERIMAGE `${XPUI_HEADERIMAGE}`
+
+  ; Left Logo
+  !insertmacro XPUI_DEFAULT XPUI_LEFTLOGO `${XPUI_SYSDIR}\Skins\Default\LeftBranding.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_UNLEFTLOGO `${XPUI_LEFTLOGO}`
+
+  ; Bottom Image
+  
+  !ifndef XPUI_BOTTOMIMAGE
+    !define XPUI_BOTTOMIMAGE
+  !endif
+  !ifdef XPUI_NOBOTTOMIMAGE
+    !undef XPUI_BOTTOMIMAGE
+  !endif
+
+  !ifndef XPUI_UNBOTTOMIMAGE
+    !define XPUI_UNBOTTOMIMAGE
+  !endif
+  !ifdef XPUI_NOUNBOTTOMIMAGE
+    !undef XPUI_UNBOTTOMIMAGE
+  !endif
+  
+  !ifdef XPUI_BGIMAGE
+    !ifndef XPUI_BOTTOMIMAGE
+      !define XPUI_NOBOTTOMIMAGE
+    !endif
+    !ifndef XPUI_COMPONENTSPAGE_NODESC
+      !define XPUI_COMPONENTSPAGE_NODESC
+    !endif
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_BOTTOMIMAGE_BMP `${XPUI_SYSDIR}\Skins\Default\Bottom.bmp`
+  !insertmacro XPUI_DEFAULT XPUI_UNBOTTOMIMAGE_BMP `${XPUI_BOTTOMIMAGE_BMP}`
+  
+  !ifdef XPUI_BGIMAGE
+    !insertmacro XPUI_DEFAULT XPUI_BGIMAGE_BMP "${XPUI_SYSDIR}\Skins\Default\BgImage.bmp"
+    !insertmacro XPUI_DEFAULT XPUI_BGIMAGE_UI  "${XPUI_SYSDIR}\UIs\BgUI.exe"
+    ChangeUI all `${XPUI_BGIMAGE_UI}`
+  !endif
+
+  ; Branding Text
+  !insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT ` `
+  !insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_FG 606060
+  !insertmacro XPUI_DEFAULT XPUI_BRANDINGTEXT_COLOR_BG 808080
+  
+  ; BG Gradient
+  !ifndef XPUI_DISABLEBG
+    !ifdef XPUI_BGGRADIENT
+      !ifndef XPUI_BGGRADIENT_CUSTOMCOLORS
+        BGGradient ${XPUI_TEXT_COLOR} ${XPUI_TEXT_BGCOLOR} ${XPUI_TEXT_LIGHTCOLOR}
+      !endif
+    !ifdef XPUI_BGGRADIENT_CUSTOMCOLORS
+      !insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_TOP `${XPUI_TEXT_COLOR}`
+      !insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_BOTTOM `${XPUI_TEXT_BGCOLOR}`
+        !insertmacro XPUI_DEFAULT XPUI_BGGRADIENT_CUSTOMCOLORS_TEXT `${XPUI_TEXT_LIGHTCOLOR}`
+        BGGradient `${XPUI_BGGRADIENT_CUSTOMCOLORS_TOP}` `${XPUI_BGGRADIENT_CUSTOMCOLORS_BOTTOM}` `${XPUI_BGGRADIENT_CUSTOMCOLORS_TEXT}`
+      !endif
+    !endif
+  !endif
+  
+  ; Installer Attributes
+  
+  !ifdef XPUI_WANSIS
+    XPStyle off
+  !else
+    XPStyle on
+  !endif
+  InstallColors `${XPUI_TEXT_COLOR}` `${XPUI_TEXT_BGCOLOR}`
+  
+  !insertmacro XPUI_DEFAULT XPUI_AUTOCLOSE false
+  AutoCloseWindow ${XPUI_AUTOCLOSE}
+  !insertmacro XPUI_DEFAULT XPUI_SHOWDETAILS show
+  ShowInstDetails ${XPUI_SHOWDETAILS}
+  
+  ; Modern UI Compatibility
+  !insertmacro XPUI_LANGUAGE_CONVERT
+  
+   !ifdef MUI_ABORTWARNING
+  !ifndef XPUI_ABORTWARNING
+  !define XPUI_ABORTWARNING
+  !endif
+  !endif
+   !ifdef MUI_UNABORTWARNING
+  !ifndef XPUI_UNABORTWARNING
+  !define XPUI_UNABORTWARNING
+  !endif
+  !endif
+  
+  !ifndef XPUI_FASTERSKINNING
+    !ifdef XPUI_INTERNAL_PAGEUSED_STARTMENU
+      !insertmacro XPUI_STARTMENUPAGE_INITARRAY
+    !endif
+  !endif
+  
+  Function .onGUIInit
+    !insertmacro XPUI_GUIINIT "" ""
+  FunctionEnd
+  
+  !ifdef XPUI_UNINSTALLER
+    Function un.onGUIInit
+      !insertmacro XPUI_GUIINIT "UN" "un."
+    FunctionEnd
+  !endif
+
+  !ifndef XPUI_FASTERSKINNING
+    !ifdef XPUI_INTERNAL_PAGEUSED_STARTMENU
+      !insertmacro XPUI_STARTMENUPAGE_INITARRAY
+    !endif
+  !endif
+  
+  Function .onGUIEnd
+    LockWindow off
+    !ifdef XPUI_WANSIS
+      SetPluginUnload manual
+      wansis::unskinit
+    !endif
+    
+    !ifmacrodef XPUI_BGFILES_DELETE
+
+        !ifdef XPUI_ENABLEBG
+
+          !insertmacro XPUI_BGFILES_DELETE
+
+        !endif
+
+      !endif
+      
+  FunctionEnd
+  
+  !ifdef XPUI_UNINSTALLER
+    Function un.onGUIEnd
+      LockWindow off
+      !ifdef XPUI_WANSIS
+        SetPluginUnload manual
+        wansis::unskinit
+      !endif
+      
+     !ifmacrodef XPUI_BGFILES_DELETE
+
+        !ifdef XPUI_ENABLEBG
+
+          !insertmacro XPUI_BGFILES_DELETE
+
+        !endif
+
+      !endif
+  
+    FunctionEnd
+  !endif
+  
+  !ifdef XPUI_ABORTWARNING
+
+    Function .onUserAbort
+    
+      StrCmp $XPUI_NOABORTWARNING 1 xpui.exit
+
+        MessageBox MB_YESNO|MB_ICONQUESTION "$(XPUI_ABORTWARNING_TEXT)" IDNO NoExit
+        !insertmacro XPUI_USERABORT
+        NoExit:
+        Abort
+
+      xpui.exit:
+    
+    FunctionEnd
+  
+  !endif
+  
+  !ifdef XPUI_ABORTWARNING & XPUI_UNINSTALLER
+  
+    Function un.onUserAbort
+
+      StrCmp $XPUI_NOABORTWARNING 1 xpui.exit
+
+        MessageBox MB_YESNO|MB_ICONQUESTION "$(XPUI_ABORTWARNING_TEXT)" IDNO NoExit
+        !insertmacro XPUI_USERABORT
+        NoExit:
+        Abort
+
+      xpui.exit:
+
+    FunctionEnd
+
+  !endif
+  
+  !ifdef XPUI_EXTERNAL_SKINNER | XPUI_FASTERSKINNING
+  !else
+  
+    Function xpui.skinControl
+      Exch "$XPUI_TEMP2"
+      SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_COLOR}" "${XPUI_TEXT_BGCOLOR}"
+      Exch "$XPUI_TEMP2"
+    FunctionEnd
+    
+    Function xpui.skinControl.trans
+      Exch "$XPUI_TEMP2"
+      SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_COLOR}" "Transparent"
+      Exch "$XPUI_TEMP2"
+    FunctionEnd
+    
+    Function xpui.skinControl.light
+      Exch "$XPUI_TEMP2"
+      SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_LIGHTCOLOR}" "${XPUI_TEXT_BGCOLOR}"
+      Exch "$XPUI_TEMP2"
+    FunctionEnd
+    
+    Function xpui.skinControl.light.trans
+      Exch "$XPUI_TEMP2"
+      SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_LIGHTCOLOR}" "Transparent"
+      Exch "$XPUI_TEMP2"
+    FunctionEnd
+    
+    !ifdef XPUI_UNINSTALLER
+  
+      Function un.xpui.skinControl
+        Exch "$XPUI_TEMP2"
+        SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_COLOR}" "${XPUI_TEXT_BGCOLOR}"
+        Exch "$XPUI_TEMP2"
+      FunctionEnd
+      
+      Function un.xpui.skinControl.trans
+        Exch "$XPUI_TEMP2"
+        SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_COLOR}" "Transparent"
+        Exch "$XPUI_TEMP2"
+      FunctionEnd
+      
+      Function un.xpui.skinControl.light
+        Exch "$XPUI_TEMP2"
+        SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_LIGHTCOLOR}" "${XPUI_TEXT_BGCOLOR}"
+        Exch "$XPUI_TEMP2"
+      FunctionEnd
+      
+      Function un.xpui.skinControl.light.trans
+        Exch "$XPUI_TEMP2"
+        SetCtlColors $XPUI_TEMP2 "${XPUI_TEXT_LIGHTCOLOR}" "Transparent"
+        Exch "$XPUI_TEMP2"
+      FunctionEnd
+    
+    !endif
+  
+  !endif
+  
+!macroend
+
+!macro XPUI_GUIINIT UN UNFUNC
+
+  !insertmacro XPUI_PAGEMODE_PUSH
+  !define XPUI_UNCHECK_${UN}
+  !ifdef XPUI_UNCHECK_UN
+    !insertmacro XPUI_PAGEMODE_UNINST
+  !else
+    !insertmacro XPUI_PAGEMODE_INST
+  !endif
+  !undef XPUI_UNCHECK_${UN}
+
+  !ifndef XPUI_BGIMAGE
+    InitPluginsDir
+    SetOutPath $PLUGINSDIR
+    File /oname=header.bmp "${XPUI_HEADERIMAGE}"
+    !ifdef XPUI_BOTTOMIMAGE
+    File /oname=btmimg.bmp "${XPUI_BOTTOMIMAGE_BMP}"
+    !endif
+    File /oname=leftimg.bmp "${XPUI_LEFTLOGO}"
+  !else
+    InitPluginsDir
+    SetOutPath $PLUGINSDIR
+    File /oname=BgImage.bmp "${XPUI_BGIMAGE_BMP}"
+  !endif
+  
+  !ifndef XPUI_EXTERNAL_SKINNER  
+    
+    ; Skin the window background
+    !ifndef XPUI_BGIMAGE
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1099
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+    !endif
+    
+    !ifdef XPUI_BOTTOMIMAGE
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1045
+      ShowWindow $XPUI_TEMP1 0
+    !else
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1039
+      ShowWindow $XPUI_TEMP1 0
+    !endif
+    
+    ; Left Message Box rect - hidden for now
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1304
+    ShowWindow $XPUI_TEMP1 0
+    
+    ; Header text
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1037
+    SetCtlColors $XPUI_TEMP1 `${XPUI_HEADER_TEXT_COLOR}` `Transparent`
+    CreateFont $XPUI_TEMP2 "$(^Font)" 8 700
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1038
+    SetCtlColors $XPUI_TEMP1 `${XPUI_HEADER_TEXT_COLOR}` `Transparent`
+    CreateFont $XPUI_TEMP2 "$(^Font)" 8 350
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+    
+  !else
+  
+    !ifdef XPUI_BOTTOMIMAGE
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1045
+      ShowWindow $XPUI_TEMP1 0
+    !else
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1039
+      ShowWindow $XPUI_TEMP1 0
+    !endif
+    
+    ; Left Message Box rect - hidden for now
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1304
+    ShowWindow $XPUI_TEMP1 0
+    
+    ; Header text
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1037
+    CreateFont $XPUI_TEMP2 "$(^Font)" 8 700
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1038
+    CreateFont $XPUI_TEMP2 "$(^Font)" 8 350
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+  
+  !endif
+    
+  ; Header Image
+  !ifdef TEMP
+    !define TEMP_PUSH `${TEMP}`
+    !undef TEMP
+  !endif
+  !ifdef XPUI_HEADERIMAGE_NORESIZETOFIT
+    !define TEMP " "
+  !else
+    !define TEMP /RESIZETOFIT
+  !endif
+  !ifndef XPUI_BGIMAGE
+  SetBrandingImage /IMGID=1046 ${TEMP} "$PLUGINSDIR\Header.bmp"
+  !endif
+  !undef TEMP
+  !ifdef TEMP_PUSH
+    !define TEMP `${TEMP_PUSH}`
+    !undef TEMP_PUSH
+  !endif
+  
+  ; Left Logo
+  !ifdef TEMP
+    !define TEMP_PUSH `${TEMP}`
+    !undef TEMP
+  !endif
+  !ifdef XPUI_LEFTLOGO_NORESIZETOFIT
+    !define TEMP " "
+  !else
+    !define TEMP /RESIZETOFIT
+  !endif
+  !ifndef XPUI_BGIMAGE
+    SetBrandingImage /IMGID=1302 ${TEMP} "$PLUGINSDIR\Leftimg.bmp"
+  !endif
+  !undef TEMP
+  !ifdef TEMP_PUSH
+    !define TEMP `${TEMP_PUSH}`
+    !undef TEMP_PUSH
+  !endif
+  
+  ; Bottom Image
+  !ifdef XPUI_BOTTOMIMAGE
+    !ifdef TEMP
+      !define TEMP_PUSH `${TEMP}`
+      !undef TEMP
+    !endif
+    !ifdef XPUI_BOTTOMIMAGE_NORESIZETOFIT
+      !define TEMP " "
+    !else
+      !define TEMP /RESIZETOFIT
+    !endif
+    SetBrandingImage /IMGID=1039 ${TEMP} "$PLUGINSDIR\Btmimg.bmp"
+    !undef TEMP
+    !ifdef TEMP_PUSH
+      !define TEMP `${TEMP_PUSH}`
+      !undef TEMP_PUSH
+    !endif
+  !endif
+  
+  !ifdef XPUI_BGIMAGE
+    !ifdef TEMP
+    !define TEMP_PUSH `${TEMP}`
+    !undef TEMP
+  !endif
+  !ifdef XPUI_BGIMAGE_NORESIZETOFIT
+    !define TEMP " "
+  !else
+    !define TEMP /RESIZETOFIT
+  !endif
+
+    SetBrandingImage /IMGID=1099 ${TEMP} "$PLUGINSDIR\BgImage.bmp"
+    !undef TEMP
+  !ifdef TEMP_PUSH
+    !define TEMP `${TEMP_PUSH}`
+    !undef TEMP_PUSH
+  !endif
+  !endif
+    
+    !ifndef XPUI_EXTERNAL_SKINNER
+    
+      ; Branding Text
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1028
+      CreateFont $XPUI_TEMP2 "Trebuchet MS" 10 700
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      SendMessage $XPUI_TEMP1 0xC 0 "STR:${XPUI_BRANDINGTEXT}"
+      SetCtlColors $XPUI_TEMP1 "${XPUI_BRANDINGTEXT_COLOR_FG}" "Transparent"
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1256
+      CreateFont $XPUI_TEMP2 "Trebuchet MS" 10 700
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      SendMessage $XPUI_TEMP1 0xC 0 "STR:${XPUI_BRANDINGTEXT}"
+      SetCtlColors $XPUI_TEMP1 "${XPUI_BRANDINGTEXT_COLOR_BG}" "Transparent"
+      
+      ; Left Info - Time Counter
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1100
+      CreateFont $XPUI_TEMP2 "Arial" 8 700
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      !insertmacro XPUI_CONTROL_SKIN_TRANS $XPUI_TEMP1
+      ShowWindow $XPUI_TEMP1 0
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1101
+      CreateFont $XPUI_TEMP2 "Arial" 8 350
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      !insertmacro XPUI_CONTROL_SKIN_LIGHT_TRANS $XPUI_TEMP1
+      ShowWindow $XPUI_TEMP1 0
+      
+      ; Skin the child window - to make flashes when changing pages less noticeable
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1018
+      !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+    
+    !else
+    
+      ; Branding Text
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1028
+      ShowWindow $XPUI_TEMP1 0
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1256
+      ShowWindow $XPUI_TEMP1 0
+      
+      ; Left Info - Time Counter
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1100
+      CreateFont $XPUI_TEMP2 "Arial" 8 700
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      ShowWindow $XPUI_TEMP1 0
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1101
+      CreateFont $XPUI_TEMP2 "Arial" 8 350
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+      ShowWindow $XPUI_TEMP1 0
+      
+    !endif
+    
+  !ifdef XPUI_WANSIS
+  
+    SetOutPath $PLUGINSDIR
+    File /oname=gen.bmp   `${XPUI_WANSIS_GEN}`
+    File /oname=genex.bmp `${XPUI_WANSIS_GENEX}`
+
+     !ifdef XPUI_WANSIS_HEADERIMAGE
+
+      File /oname=header.bmp `${XPUI_WANSIS_HEADERIMAGE_BMP}`
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1047
+      ShowWindow $XPUI_TEMP1 0
+      SetBrandingImage /IMGID=1046 $PLUGINSDIR\Header.bmp
+
+    !else
+
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1046
+      ShowWindow $XPUI_TEMP1 0
+
+    !endif
+    
+    ; Check for msvcr71.dll (alerts user of incompatibility problems on older machines or [in my case] fresh Windows installations)
+    IfFileExists $SYSDIR\msvcr71.dll FoundCRT
+      MessageBox MB_OK|MB_ICONEXCLAMATION "Setup failed to load the Windows runtime library msvcr71.dll.  Setup will function, but the visual style will not work.  This is most likely caused by a fresh Windows installation." IDOK NoSkin
+    FoundCRT:
+
+    wansis::skinit /NOUNLOAD `$PLUGINSDIR\gen.bmp` `$PLUGINSDIR\genex.bmp`
+    
+    Pop $XPUI_TEMP1
+      StrCmp $XPUI_TEMP1 "success" +2
+      MessageBox MB_OK|MB_ICONINFORMATION "Setup encountered an error initializing WAnsis skinning engine. $(^Name) Setup will function, but it will not look very nice.$\n$\nReturn from wansis.dll: $XPUI_TEMP1"
+
+    NoSkin:
+  
+  !endif
+  
+  ; NSIS is always raving about unused variables, so lets shut it up :)
+  
+  Goto +5 ; Ahh, the stupidity of computers...
+  Push $XPUI_NOABORTWARNING
+  Pop  $XPUI_NOABORTWARNING
+  Push $XPUI_ABORTED
+  Pop  $XPUI_ABORTED
+  
+  ; What the heck? Lets do it for functions too :D
+  
+  !ifdef XPUI_EXTERNAL_SKINNER | XPUI_FASTERSKINNING
+  !else
+  Goto +5 ; This effectively compiles code that will never be executed - costs ~40-50 bytes?
+  Call ${UNFUNC}xpui.SkinControl
+  Call ${UNFUNC}xpui.SkinControl.light
+  Call ${UNFUNC}xpui.SkinControl.trans
+  Call ${UNFUNC}xpui.SkinControl.light.trans
+  !endif
+  
+  !ifmacrodef XPUI_SET_BG
+
+    !ifdef XPUI_ENABLEBG
+
+      !insertmacro XPUI_SET_BG
+
+    !endif
+
+  !endif
+  
+  ; If the faster skinner is disabled, this function will be inserted after pages.
+  ; Therefore, we can take care of some page functions before the installer starts.
+  ; This makes page initialization MUCH faster.
+  
+  !ifndef XPUI_FASTERSKINNING
+
+    SetOutPath $PLUGINSDIR
+    !ifdef XPUI_INTERNAL_PAGEUSED_WELCOME
+      File `${XPUI_SYSDIR}\INI\isWelcome.ini`
+    !endif
+    !ifdef XPUI_INTERNAL_PAGEUSED_WELCOME2
+      File `${XPUI_SYSDIR}\INI\Welcome.ini`
+    !endif
+    !ifdef XPUI_INTERNAL_PAGEUSED_INSTCONFIRM
+      File `${XPUI_SYSDIR}\INI\Confirm.ini`
+    !endif
+    !ifdef XPUI_INTERNAL_PAGEUSED_INSTSUCCESS
+      File `${XPUI_SYSDIR}\INI\Confirm.ini`
+    !endif
+    !ifdef XPUI_INTERNAL_PAGEUSED_FINISH
+      File `${XPUI_SYSDIR}\INI\Finish.ini`
+    !endif
+    !ifdef XPUI_INTERNAL_PAGEUSED_STARTMENU
+      !insertmacro XPUI_STARTMENUPAGE_CREATEINI
+    !endif
+    
+  !endif
+  
+  !ifdef XPUI_${UN}CUSTOMFUNCTION_GUIINIT
+    Call `${XPUI_${UN}CUSTOMFUNCTION_GUIINIT}`
+    !undef XPUI_${UN}CUSTOMFUNCTION_GUIINIT
+  !endif
+  
+  ShowWindow $HWNDPARENT 2
+  
+  !insertmacro XPUI_PAGEMODE_POP
+!macroend
+
+; Modern UI Compatibility Script
+
+!include "${XPUI_SYSDIR}\MUIConvert.nsh"
+!insertmacro XPUI_LANGUAGE_CONVERT
+
+; Pages
+
+!macro XPUI_PAGECHECKS
+  ; any checks for settings, etc that will be checked before XPUI pages are inserted go here
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+  
+  !ifdef XPUI_INTERNAL_LANG_INSERTED
+    !verbose 4
+    !error "ExperienceUI: FATAL: Language files must be inserted after pages.  Please move all lines containing $\"!insertmacro XPUI_LANGUAGE$\" down below page macros."
+  !endif
+  
+  !verbose 0
+    !insertmacro XPUI_LANGUAGE_CONVERT
+  !verbose ${XPUI_VERBOSE}
+  
+  !ifdef XPUI_WANSIS
+  !ifndef XPUI_EXTERNAL_SKINNER
+  !define XPUI_EXTERNAL_SKINNER
+  !endif
+  !endif
+  
+  !ifdef XPUI_BGIMAGE
+    !ifndef XPUI_COMPONENTSPAGE_NODESC
+      !define XPUI_COMPONENTSPAGE_NODESC
+    !endif
+  !endif
+  
+!macroend
+
+!macro XPUI_ENDPAGECHECKS
+  ; any preproccessor commands after page macros go here
+  !verbose pop
+!macroend
+
+!macro XPUI_PAGE_WELCOME
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_WELCOME
+    !define XPUI_INTERNAL_PAGEUSED_WELCOME
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE_TITLE "$(XPUI_${XPUI_UN}WELCOMEPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE_SUBTITLE "$(XPUI_${XPUI_UN}WELCOMEPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE_TEXT_TOP "$(XPUI_${XPUI_UN}WELCOMEPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE_TEXT "$(XPUI_${XPUI_UN}WELCOMEPAGE_TEXT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE_CAPTION "$(XPUI_${XPUI_UN}WELCOMEPAGE_CAPTION)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}custom
+  PageCallbacks ${XPUI_UNFUNC}XPUI.io.WelcomePage.${XPUI_UNIQUEID} ${XPUI_UNFUNC}XPUI.io.WelcomePage.${XPUI_UNIQUEID}.leave
+  Caption `${XPUI_${XPUI_UN}WELCOMEPAGE_CAPTION}`
+  PageExEnd
+
+  Function ${XPUI_UNFUNC}XPUI.io.WelcomePage.${XPUI_UNIQUEID}
+    LockWindow on
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    !ifdef XPUI_FASTERSKINNING
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\isWelcome.ini`
+    !endif
+
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE    
+
+    WriteINIStr $PLUGINSDIR\isWelcome.ini `Field 1` Text `${XPUI_${XPUI_UN}WELCOMEPAGE_TEXT_TOP}`
+    WriteINIStr $PLUGINSDIR\isWelcome.ini `Field 2` Text `${XPUI_${XPUI_UN}WELCOMEPAGE_TEXT}`
+    WriteINIStr `$PLUGINSDIR\isWelcome.ini` `Settings` `RTL` `$(^RTL)`
+    
+    InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\isWelcome.ini`
+      
+      Pop $XPUI_HWND
+      !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+        CreateFont $XPUI_TEMP2 `$(^Font)` 12 700 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+        CreateFont $XPUI_TEMP2 `$(^Font)` 8 350 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}WELCOMEPAGE_TITLE}` `${XPUI_${XPUI_UN}WELCOMEPAGE_SUBTITLE}`
+      
+      !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+      
+      LockWindow off
+      
+    InstallOptions::show
+    FunctionEnd
+    
+    Function ${XPUI_UNFUNC}XPUI.io.WelcomePage.${XPUI_UNIQUEID}.leave
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  FunctionEnd
+  
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE_TITLE
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE_TEXT
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE_CAPTION
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+!macro XPUI_PAGE_WELCOME2
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_WELCOME2
+    !define XPUI_INTERNAL_PAGEUSED_WELCOME2
+  !endif
+  
+  !ifdef XPUI_WELCOMEPAGESTYLE2_TITLE | XPUI_WELCOMEPAGESTYLE2_SUBTITLE | XPUI_WELCOMEPAGESTYLE2_CAPTION | XPUI_WELCOMEPAGESTYLE2_TEXT_TOP | XPUI_WELCOMEPAGESTYLE2_TEXT
+    !warning "The XPUI_WELCOMEPAGESTYLE2 defines are deprecated and have been renamed to XPUI_WELCOMEPAGE2_*.  Please update your script."
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE2_TITLE "$(XPUI_${XPUI_UN}WELCOMEPAGE2_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE2_SUBTITLE "$(XPUI_${XPUI_UN}WELCOMEPAGE2_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT_TOP "$(XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT "$(XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}WELCOMEPAGE2_CAPTION "$(XPUI_${XPUI_UN}WELCOMEPAGE2_CAPTION)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}custom
+  PageCallbacks ${XPUI_UNFUNC}XPUI.io.WelcomePage2.${XPUI_UNIQUEID} ${XPUI_UNFUNC}XPUI.io.WelcomePage2.${XPUI_UNIQUEID}.leave
+  Caption `${XPUI_${XPUI_UN}WELCOMEPAGE2_CAPTION}`
+  PageExEnd
+
+  Function ${XPUI_UNFUNC}XPUI.io.WelcomePage2.${XPUI_UNIQUEID}
+    LockWindow on
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    !ifdef XPUI_FASTERSKINNING
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\Welcome.ini`
+    !endif
+
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE    
+
+    WriteINIStr $PLUGINSDIR\Welcome.ini `Field 1` Text `${XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT_TOP}`
+    WriteINIStr $PLUGINSDIR\Welcome.ini `Field 2` Text `${XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT}`
+    WriteINIStr `$PLUGINSDIR\Welcome.ini` `Settings` `RTL` `$(^RTL)`
+    
+    InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\Welcome.ini`
+      
+      Pop $XPUI_HWND
+      !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+        CreateFont $XPUI_TEMP2 `$(^Font)` 8 700 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+        CreateFont $XPUI_TEMP2 `$(^Font)` 8 350 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}WELCOMEPAGE2_TITLE}` `${XPUI_${XPUI_UN}WELCOMEPAGE2_SUBTITLE}`
+      
+      !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+      
+      LockWindow off
+      
+    InstallOptions::show
+    FunctionEnd
+    
+    Function ${XPUI_UNFUNC}XPUI.io.WelcomePage2.${XPUI_UNIQUEID}.leave
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  FunctionEnd
+  
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE2_TITLE
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE2_SUBTITLE
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT_TOP
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE2_TEXT
+  !undef XPUI_${XPUI_UN}WELCOMEPAGE2_CAPTION
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+!macro XPUI_PAGE_LICENSE DATA
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_LICENSE
+    !define XPUI_INTERNAL_PAGEUSED_LICENSE
+  !endif
+  
+  !insertmacro XPUI_DEFAULT MUI_LICENSEPAGE_HEADER_TITLE    "$(XPUI_${XPUI_UN}LICENSEPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT MUI_LICENSEPAGE_HEADER_SUBTITLE "$(XPUI_${XPUI_UN}LICENSEPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP        "$(XPUI_${XPUI_UN}LICENSEPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT MUI_LICENSEPAGE_TEXT_BOTTOM     "$(XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM)"
+  !insertmacro XPUI_DEFAULT MUI_LICENSEPAGE_CAPTION         "$(XPUI_${XPUI_UN}LICENSEPAGE_CAPTION)"
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_CAPTION     "${MUI_LICENSEPAGE_HEADER_CAPTION}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_TITLE       "${MUI_LICENSEPAGE_HEADER_TITLE}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_SUBTITLE    "${MUI_LICENSEPAGE_HEADER_SUBTITLE}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_TEXT_TOP    "${MUI_LICENSEPAGE_TEXT_TOP}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM "${MUI_LICENSEPAGE_TEXT_BOTTOM}"
+  
+  ; Fix for John P. on the forums
+  !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_CHECKBOX_TEXT             "$(^AcceptBtn)"
+  !else ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+    !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT  "$(^AcceptBtn)"
+    !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "$(^DontAcceptBtn)"
+  !endif
+  
+  !insertmacro XPUI_CREATEID
+  PageEx ${XPUI_UNFUNC}license
+    
+    Caption `$(XPUI_${XPUI_UN}LICENSEPAGE_CAPTION)`
+    PageCallbacks ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.pre ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.show ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.leave
+    LicenseData `${DATA}`
+    
+    !ifdef XPUI_LICENSEPAGE_RADIOBUTTONS
+    LicenseForceSelection radiobuttons `${XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}` `${XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}`
+    !endif
+    
+    !ifdef XPUI_LICENSEPAGE_CHECKBOX
+    LicenseForceSelection checkbox `${XPUI_${XPUI_UN}LICENSEPAGE_CHECKBOX_TEXT}`
+    !endif
+  
+  PageExEnd
+  
+  !insertmacro XPUI_DEFAULT XPUI_LICENSEBKCOLOR 0xFFFFFF
+  LicenseBkColor `${XPUI_LICENSEBKCOLOR}`
+  
+  Function ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.pre
+    
+    StrCmp $XPUI_ABORTED 1 0 +2
+    Abort
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+    
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.show
+    
+    LockWindow On
+  
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}LICENSEPAGE_TITLE}` `${XPUI_${XPUI_UN}LICENSEPAGE_SUBTITLE}`
+    
+    FindWindow $XPUI_HWND `#32770` `` $HWNDPARENT
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_HWND
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1034
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT $XPUI_TEMP1
+      !ifdef XPUI_LICENSEPAGE_RESET
+        SendMessage $XPUI_TEMP1 0x00F1 0 0
+      !endif
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1035
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT $XPUI_TEMP1
+      !ifdef XPUI_LICENSEPAGE_RESET
+        SendMessage $XPUI_TEMP1 0x00F1 0 0
+        
+        GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+        EnableWindow $XPUI_TEMP1 0
+      !endif
+      
+    FindWindow $XPUI_HWND `#32770` `` $HWNDPARENT
+      
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1040
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}LICENSEPAGE_TEXT_TOP}`
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1006
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1034
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT $XPUI_TEMP1
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1035
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT $XPUI_TEMP1
+    
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_HWND
+    
+    !ifndef XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS
+      !ifndef XPUI_${XPUI_UN}LICENSEPAGE_CHECKBOX
+        !insertmacro XPUI_INNERDIALOG_TEXT `${XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM}` 1006
+      !endif
+    !endif
+    
+    !ifdef XPUI_${XPUI_UN}LICENSEPAGE_CHECKBOX
+    !insertmacro XPUI_INNERDIALOG_TEXT `${XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM}` 1006
+    !endif
+    
+    !ifdef XPUI_${XPUI_UN}LICENSEPAGE_RADIOBUTTONS
+    !insertmacro XPUI_INNERDIALOG_TEXT `${XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM}` 1006
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+    LockWindow off
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.lic.${XPUI_UNIQUEID}.leave
+  !ifndef XPUI_NOLOCK
+  LockWindow on
+  !endif
+  
+  !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  
+  FunctionEnd
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !undef XPUI_${XPUI_UN}LICENSEPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}LICENSEPAGE_TITLE
+  !undef XPUI_${XPUI_UN}LICENSEPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}LICENSEPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}LICENSEPAGE_TEXT_BOTTOM
+  
+  !insertmacro XPUI_UNSET XPUI_LICENSEPAGE_CHECKBOX
+  !insertmacro XPUI_UNSET XPUI_LICENSEPAGE_RADIOBUTTONS
+  
+  !undef MUI_LICENSEPAGE_HEADER_TITLE
+  !undef MUI_LICENSEPAGE_HEADER_SUBTITLE
+  !undef MUI_LICENSEPAGE_TEXT_TOP
+  !undef MUI_LICENSEPAGE_TEXT_BOTTOM
+  !undef MUI_LICENSEPAGE_CAPTION
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+!macro XPUI_PAGE_COMPONENTS
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_COMPONENTS
+    !define XPUI_INTERNAL_PAGEUSED_COMPONENTS
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE "$(XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE "$(XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_CAPTION "$(XPUI_${XPUI_UN}COMPONENTSPAGE_CAPTION)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_INFO)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE)"
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_TOP      "$(^ComponentsText)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_INSTTYPE "$(^ComponentsSubText1)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST  "$(^ComponentsSubText2)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE  "$(^ComponentsSubText2_NoInstTypes)"
+  
+  !insertmacro XPUI_CREATEID
+  PageEx ${XPUI_UNFUNC}components
+    Caption `$(XPUI_${XPUI_UN}COMPONENTSPAGE_CAPTION)`
+    PageCallbacks ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.pre ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.show ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.leave
+    ComponentText "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_TOP}" "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_INSTTYPE}" "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST}"
+  PageExEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.pre
+    
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+  
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.show
+  
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE}` `${XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE}`
+    
+    !insertmacro XPUI_PAGECOLOR_INIT 1022
+    !insertmacro XPUI_PAGECOLOR_INIT 1021
+    !insertmacro XPUI_PAGECOLOR_INIT 1023
+    !insertmacro XPUI_PAGECOLOR_INIT 1006
+    !insertmacro XPUI_PAGECOLOR_INIT 1042
+    !insertmacro XPUI_PAGECOLOR_INIT 1043
+    
+    FindWindow $XPUI_HWND "#32770" "" "$HWNDPARENT"
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1032
+    SetCtlColors $XPUI_TEMP1 0x000000 0xFFFFFF
+    
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1043
+      SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}`
+      StrCpy $XPUI_HWND "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
+      EnableWindow $XPUI_TEMP1 0
+    
+    InstTypeGetText 0 $XPUI_TEMP1
+    StrCmp $XPUI_TEMP1 "" "" XPUI.using_insttypes
+      !insertmacro XPUI_INNERDIALOG_TEXT "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE}" 1022
+      !insertmacro XPUI_INNERDIALOG_TEXT " " 1021
+    XPUI.using_insttypes:
+    
+    !ifdef XPUI_COMPONENTSPAGE_NODESC
+      FindWindow $XPUI_TEMP1 `#32770` `` `$HWNDPARENT`
+      GetDlgItem $XPUI_TEMP2 $XPUI_TEMP1 1042
+      ShowWindow $XPUI_TEMP2 0
+      GetDlgItem $XPUI_TEMP2 $XPUI_TEMP1 1043
+      ShowWindow $XPUI_TEMP2 0
+    !endif
+    
+    !insertmacro XPUI_INNERDIALOG_TEXT `${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}` 1042
+    StrCpy $XPUI_TEMP2 "${XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+    !ifndef XPUI_NOLOCK
+    LockWindow off
+    !endif
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.cmp.${XPUI_UNIQUEID}.leave
+  
+    !ifndef XPUI_NOLOCK
+      LockWindow on
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  
+  FunctionEnd
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_INSTTYPE
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST
+  !undef XPUI_${XPUI_UN}COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+!macro XPUI_PAGE_DIRECTORY
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_DIRECTORY
+    !define XPUI_INTERNAL_PAGEUSED_DIRECTORY
+  !endif
+  
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_HEADER_TITLE     "$(XPUI_${XPUI_UN}DIRECTORYPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_HEADER_SUBTITLE  "$(XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP         "$(XPUI_${XPUI_UN}DIRECTORYPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_CAPTION          "$(XPUI_${XPUI_UN}DIRECTORYPAGE_CAPTION)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION "$(^DirSubText)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_BROWSEDIALOG     "$(^DirBrowseText)"
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_BROWSEBUTTON     "$(^BrowseBtn)"
+    
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_TITLE         "${MUI_DIRECTORYPAGE_HEADER_TITLE}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTITLE      "${MUI_DIRECTORYPAGE_HEADER_SUBTITLE}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_CAPTION       "${MUI_DIRECTORYPAGE_CAPTION}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_TEXT_TOP      "${MUI_DIRECTORYPAGE_TEXT_TOP}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTEXT       "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEDIALOG  "${MUI_DIRECTORYPAGE_BROWSEDIALOG}"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEBUTTON  "${MUI_DIRECTORYPAGE_BROWSEBUTTON}"
+  
+  !insertmacro XPUI_DEFAULT MUI_DIRECTORYPAGE_VARIABLE "$INSTDIR"
+  !insertmacro XPUI_DEFAULT XPUI_DIRVAR "${MUI_DIRECTORYPAGE_VARIABLE}"
+  
+  PageEx ${XPUI_UNFUNC}directory
+    Caption `${XPUI_${XPUI_UN}DIRECTORYPAGE_CAPTION}`
+    DirVar ${XPUI_DIRVAR}
+    PageCallbacks ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.pre ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.show ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.leave
+    DirText "${XPUI_${XPUI_UN}DIRECTORYPAGE_TEXT_TOP}" "${XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTEXT}" "${XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEBUTTON}" "${XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEDIALOG}"
+  PageExEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.pre
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+    
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.show
+  
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}DIRECTORYPAGE_TITLE}` `${XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTITLE}`
+    
+    FindWindow $XPUI_TEMP1 `#32770` `` $HWNDPARENT
+    !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+    
+    !insertmacro XPUI_DEFAULT XPUI_DIRECTORYPAGE_TEXTBOX_COLOR "${XPUI_TEXT_BGCOLOR}"
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP1 1019
+    SetCtlColors $XPUI_TEMP1 0x000000 0xFFFFFF
+    
+    !insertmacro XPUI_PAGECOLOR_INIT 1001
+    !insertmacro XPUI_PAGECOLOR_INIT 1008
+    !insertmacro XPUI_PAGECOLOR_INIT 1006
+    !insertmacro XPUI_PAGECOLOR_INIT 1020
+    !insertmacro XPUI_PAGECOLOR_INIT 1023
+    !insertmacro XPUI_PAGECOLOR_INIT 1024
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+    !ifndef XPUI_NOLOCK
+    LockWindow off
+    !endif
+    FunctionEnd
+    
+  Function ${XPUI_UNFUNC}XPUI.dir.${XPUI_UNIQUEID}.leave
+    
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  
+  FunctionEnd
+  
+  !undef XPUI_DIRVAR
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_TITLE
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_SUBTEXT
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEBUTTON
+  !undef XPUI_${XPUI_UN}DIRECTORYPAGE_BROWSEDIALOG
+  
+  !undef MUI_DIRECTORYPAGE_HEADER_TITLE
+  !undef MUI_DIRECTORYPAGE_HEADER_SUBTITLE
+  !undef MUI_DIRECTORYPAGE_TEXT_TOP
+  !undef MUI_DIRECTORYPAGE_CAPTION
+  !undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
+  !undef MUI_DIRECTORYPAGE_BROWSEDIALOG
+  !undef MUI_DIRECTORYPAGE_BROWSEBUTTON
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+; Before you read this code, let me tell you a secret:
+; I HAD TO WRITE THIS D*** THING MYSELF because the StartMenu.dll plugin is too shy - it has to hide behind any control
+; below it - in this case, LABEL 1099, the background for the entire window.  The only other option was to discontinue
+; the start menu page...be glad I chose to write a new one...
+
+!macro XPUI_PAGE_STARTMENU_INIT ID VAR
+
+  !insertmacro XPUI_PAGECHECKS
+
+  !ifndef XPUI_INTERNAL_PAGEUSED_STARTMENU
+    !define XPUI_INTERNAL_PAGEUSED_STARTMENU
+  !endif
+  
+  !insertmacro XPUI_CREATEID
+  
+  !insertmacro XPUI_DEFAULT XPUI_INTERNAL_STARTMENUPAGE_ID_DEFAULT ${ID}
+
+  !insertmacro XPUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
+  !insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_DEFAULTFOLDER "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
+  !insertmacro XPUI_DEFAULT XPUI_STARTMENUPAGE_FOLDER "${XPUI_STARTMENUPAGE_DEFAULTFOLDER}"
+  
+  !define XPUI_STARTMENUPAGE_VARIABLE "${VAR}"
+  !define "XPUI_STARTMENUPAGE_${ID}_VARIABLE" "${XPUI_STARTMENUPAGE_VARIABLE}"
+  !define "XPUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${XPUI_STARTMENUPAGE_FOLDER}"
+  
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
+  !endif
+  !ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+  !endif
+  
+  !else ifdef XPUI_STARTMENUPAGE_REGISTRY_ROOT & XPUI_STARTMENUPAGE_REGISTRY_KEY & XPUI_STARTMENUPAGE_REGISTRY_VALUENAME
+  
+  !ifdef XPUI_STARTMENUPAGE_REGISTRY_ROOT
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${XPUI_STARTMENUPAGE_REGISTRY_ROOT}"
+  !endif
+  !ifdef XPUI_STARTMENUPAGE_REGISTRY_KEY
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${XPUI_STARTMENUPAGE_REGISTRY_KEY}"
+  !endif
+  !ifdef XPUI_STARTMENUPAGE_REGISTRY_VALUENAME
+    !define "XPUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${XPUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+  !endif
+  
+  !endif
+  
+  !ifdef XPUI_FASTERSKINNING
+    !insertmacro XPUI_STARTMENUPAGE_INITARRAY
+  !endif
+  
+  !define XPUI_STARTMENUPAGE_${ID}_ID "${XPUI_UNIQUEID}"
+  
+  Function ${XPUI_UNFUNC}xpui.StartMenu.show.${XPUI_UNIQUEID}
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+
+     !ifdef XPUI_STARTMENUPAGE_REGISTRY_ROOT & XPUI_STARTMENUPAGE_REGISTRY_KEY & XPUI_STARTMENUPAGE_REGISTRY_VALUENAME
+
+      StrCmp "${XPUI_STARTMENUPAGE_VARIABLE}" "" 0 +4
+
+      ReadRegStr $XPUI_TEMP1 "${XPUI_STARTMENUPAGE_REGISTRY_ROOT}" "${XPUI_STARTMENUPAGE_REGISTRY_KEY}" "${XPUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
+        StrCmp $XPUI_TEMP1 "" +2
+          StrCpy "${XPUI_STARTMENUPAGE_VARIABLE}" $XPUI_TEMP1
+
+    !endif
+    
+    StrCmp `${XPUI_STARTMENUPAGE_VARIABLE}` `` 0 +2
+      StrCpy `${XPUI_STARTMENUPAGE_VARIABLE}` `${XPUI_STARTMENUPAGE_FOLDER}`
+    !ifdef XPUI_FASTERSKINNING
+    IfFileExists $PLUGINSDIR\StartMenu.ini 0 +2
+      ReadINIStr ${XPUI_STARTMENUPAGE_VARIABLE} $PLUGINSDIR\StartMenu.ini "Field 2" State
+    !else
+    IfFileExists $PLUGINSDIR\StartMenu.ini 0 +2
+      ReadINIStr $XPUI_TEMP1 $PLUGINSDIR\StartMenu.ini "Field 2" State
+      StrCmp $XPUI_TEMP1 '$$(^Name)' +2
+      StrCpy ${XPUI_STARTMENUPAGE_VARIABLE} $XPUI_TEMP1
+    !endif
+    
+    !insertmacro XPUI_HEADER_TEXT $(XPUI_${XPUI_UN}STARTMENUPAGE_TITLE) $(XPUI_${XPUI_UN}STARTMENUPAGE_SUBTITLE)
+    
+    !ifdef XPUI_FASTERSKINNING
+    
+      !insertmacro XPUI_STARTMENUPAGE_CREATEINI
+      
+    !else
+    
+    !endif
+    
+      WriteINIStr $PLUGINSDIR\StartMenu.ini "Field 3" State "${XPUI_STARTMENUPAGE_VARIABLE}"
+      WriteINIStr $PLUGINSDIR\StartMenu.ini `Settings` `RTL` `$(^RTL)`
+      
+      InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\Startmenu.ini
+        Pop $XPUI_HWND
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+        GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+          !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+          SendMessage $XPUI_TEMP1 0xC 0 `STR:$(XPUI_${XPUI_UN}STARTMENUPAGE_TEXT)`
+        GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+        !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+          SendMessage $XPUI_TEMP1 0xC 0 "STR:${XPUI_STARTMENUPAGE_VARIABLE}"
+        GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1202
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+        GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1203
+        !insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+        SendMessage $XPUI_TEMP1 0xC 0 `STR:$(XPUI_${XPUI_UN}STARTMENUPAGE_CHECKBOX)`
+        !ifdef XPUI_STARTMENUPAGE_NODISABLE
+          ShowWindow $XPUI_TEMP1 0
+        !endif
+        LockWindow off
+        !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+        GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1099
+        ShowWindow $XPUI_TEMP1 0
+        !ifndef XPUI_BGIMAGE
+        SetBrandingImage /IMGID=1302 "$PLUGINSDIR\LeftImg.bmp"
+        !else
+        SetBrandingImage /IMGID=1099 "$PLUGINSDIR\BgImage.bmp"
+        !endif
+        GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1099
+        ShowWindow $XPUI_TEMP1 5
+      InstallOptions::show
+
+    LockWindow off
+    
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}xpui.StartMenu.leave.${XPUI_UNIQUEID}
+  
+    LockWindow on
+    ReadINIStr $XPUI_TEMP1 $PLUGINSDIR\StartMenu.ini Settings State
+    StrCmp $XPUI_TEMP1 3 list
+    StrCmp $XPUI_TEMP1 4 check
+    goto done
+    list:
+      ReadINIStr $XPUI_TEMP1 $PLUGINSDIR\StartMenu.ini "Field 3" State
+      GetDlgItem $XPUI_TEMP2 $XPUI_HWND 1201
+      SendMessage $XPUI_TEMP2 0xC 0 STR:$XPUI_TEMP1
+      LockWindow off
+      abort
+    check:
+      ReadINIStr $XPUI_TEMP1 $PLUGINSDIR\StartMenu.ini "Field 4" State
+      StrCmp $XPUI_TEMP1 1 +3
+        StrCpy $XPUI_TEMP1 1
+        goto +2
+        StrCpy $XPUI_TEMP1 0
+      GetDlgItem $XPUI_TEMP2 $XPUI_HWND 1201
+      EnableWindow $XPUI_TEMP2 $XPUI_TEMP1
+      GetDlgItem $XPUI_TEMP2 $XPUI_HWND 1202
+      EnableWindow $XPUI_TEMP2 $XPUI_TEMP1
+      
+      StrCpy $XPUI_TEMP2 "NOTIFY"
+      StrCmp $XPUI_TEMP1 0 0 +2
+        StrCpy $XPUI_TEMP2 "NOTIFY|DISABLED"
+      WriteINIStr $PLUGINSDIR\StartMenu.ini "Field 2" Flags $XPUI_TEMP2
+      WriteINIStr $PLUGINSDIR\StartMenu.ini "Field 3" Flags $XPUI_TEMP2
+      LockWindow off
+      abort
+    done:
+      
+      ReadINIStr ${XPUI_STARTMENUPAGE_VARIABLE} $PLUGINSDIR\StartMenu.ini "Field 2" State
+      ReadINIStr $XPUI_TEMP1 $PLUGINSDIR\StartMenu.ini "Field 4" State
+      StrCmp $XPUI_TEMP1 1 0 +2
+        StrCpy ${XPUI_STARTMENUPAGE_VARIABLE} >${XPUI_STARTMENUPAGE_VARIABLE}
+  
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1099
+      ShowWindow $XPUI_TEMP1 5
+    
+  FunctionEnd
+
+  !undef XPUI_STARTMENUPAGE_VARIABLE
+  
+  !ifdef XPUI_FASTERSKINNING
+    !insertmacro XPUI_STARTMENUPAGE_KILLARRAY
+  !endif
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+  
+!macroend
+
+!macro XPUI_PAGE_STARTMENU_SHOW ID
+  
+  PageEx ${XPUI_UNFUNC}custom 
+    PageCallbacks ${XPUI_UNFUNC}xpui.StartMenu.show.${XPUI_STARTMENUPAGE_${ID}_ID} ${XPUI_UNFUNC}xpui.StartMenu.leave.${XPUI_STARTMENUPAGE_${ID}_ID}
+    Caption "$(XPUI_${XPUI_UN}STARTMENUPAGE_CAPTION)"
+  PageExEnd
+  
+  !undef XPUI_STARTMENUPAGE_${ID}_ID
+
+!macroend
+
+!macro XPUI_PAGE_STARTMENU ID VAR
+  !insertmacro XPUI_PAGE_STARTMENU_INIT `${ID}` `${VAR}`
+  !insertmacro XPUI_PAGE_STARTMENU_SHOW `${ID}`
+!macroend
+
+!macro XPUI_STARTMENUPAGE_INITARRAY
+
+  !ifndef XPUI_INTERNAL_SMPAGE_ARRAY_DEFINED
+  !define XPUI_INTERNAL_SMPAGE_ARRAY_DEFINED
+
+  !include "${NSISDIR}\Include\NSISArray.nsh"
+  ${Array} xpuiSM 1024 128
+  ${ArrayFunc} Read
+  ${ArrayFunc} Clear
+  ${ArrayFunc} Push
+  ${ArrayFunc} Reverse
+  ${ArrayFunc} ReadFirst
+  ${ArrayFunc} ReadNext
+  ${ArrayFunc} Sort
+  ${ArrayFunc} ExistsI
+  ${ArrayFunc} ReadClose
+  ${ArrayFunc} Debug
+  !endif
+!macroend
+
+!macro XPUI_STARTMENUPAGE_KILLARRAY
+  !ifdef xpui.ArrayNoValVar.notDefined
+    !undef ArrayNoValVar
+  !endif
+!macroend
+
+!macro XPUI_STARTMENUPAGE_CREATEINI
+  !ifndef "xpuiSM${Array_Obj}Init"
+    !insertmacro XPUI_STARTMENUPAGE_INITARRAY
+  !endif
+  SetOutPath $PLUGINSDIR
+    IfFileExists $PLUGINSDIR\StartMenu.ini +2
+    File "${XPUI_SYSDIR}\INI\StartMenu.ini"
+    StrCpy $XPUI_TEMP2 ""
+
+    !ifndef XPUI_INTERNAL_SMPAGE_ARRAY_INITED
+    !define XPUI_INTERNAL_SMPAGE_ARRAY_INITED
+    ${xpuiSM${Array_Obj}Init}
+    !endif
+
+    SetShellVarContext current
+    FindFirst $XPUI_HWND $XPUI_TEMP1 "$SMPROGRAMS\*"
+    FindNext  $XPUI_HWND $XPUI_TEMP1
+      loop:
+      FindNext  $XPUI_HWND $XPUI_TEMP1
+      StrCmp $XPUI_TEMP1 "" exit
+      IfFileExists $SMPROGRAMS\$XPUI_TEMP1\* add
+      goto loop
+      add:
+        ${xpuiSM${Array_Obj}ExistsI} $XPUI_TEMP2 $XPUI_TEMP1 0
+        StrCmp $XPUI_TEMP2 -1 "" NoAdd
+          ${xpuiSM${Array_Obj}Push} $XPUI_TEMP1
+        NoAdd:
+      goto loop
+      exit:
+      FindClose $XPUI_HWND
+    SetShellVarContext all
+    FindFirst $XPUI_HWND $XPUI_TEMP1 "$SMPROGRAMS\*"
+    FindNext  $XPUI_HWND $XPUI_TEMP1
+      loop2:
+      FindNext  $XPUI_HWND $XPUI_TEMP1
+      StrCmp $XPUI_TEMP1 "" exit2
+      IfFileExists $SMPROGRAMS\$XPUI_TEMP1\* add2
+      goto loop2
+      add2:
+        ${xpuiSM${Array_Obj}ExistsI} $XPUI_TEMP2 $XPUI_TEMP1 0
+        StrCmp $XPUI_TEMP2 -1 "" NoAdd2
+          ${xpuiSM${Array_Obj}Push} $XPUI_TEMP1
+        NoAdd2:
+      goto loop2
+      exit2:
+      FindClose $XPUI_HWND
+
+      ${xpuiSM${Array_Obj}Sort} ""
+
+      ; Build the list
+      StrCpy $XPUI_HWND  ""
+      StrCpy $XPUI_TEMP1 ""
+      StrCpy $XPUI_TEMP2 ""
+      ClearErrors
+      ${xpuiSM${Array_Obj}ReadFirst} $XPUI_TEMP1 $XPUI_TEMP2
+        build:
+        IfErrors finish
+        StrCmp $XPUI_TEMP2 "" finish
+        StrCpy $XPUI_HWND $XPUI_HWND|$XPUI_TEMP2
+        ClearErrors
+        ${xpuiSM${Array_Obj}ReadNext} $XPUI_TEMP1 $XPUI_TEMP2
+        Goto build
+      finish:
+      ${xpuiSM${Array_Obj}ReadClose} $XPUI_TEMP1
+      ${xpuiSM${Array_Obj}Delete}
+      StrCpy $XPUI_HWND $XPUI_HWND "" 1
+      
+      WriteINIStr $PLUGINSDIR\StartMenu.ini "Field 3" ListItems $XPUI_HWND
+
+!macroend
+
+!macro XPUI_STARTMENU_GETFOLDER ID VAR
+
+  !ifdef XPUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & XPUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & XPUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME
+
+    ReadRegStr $XPUI_TEMP1 "${XPUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${XPUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${XPUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
+      StrCmp $XPUI_TEMP1 "" +3
+        StrCpy "${VAR}" $XPUI_TEMP1
+        Goto +2
+
+        StrCpy "${VAR}" "${XPUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+
+   !else
+   
+     StrCpy "${VAR}" "${XPUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
+
+   !endif
+
+!macroend
+
+!macro XPUI_STARTMENU_WRITE_BEGIN ID
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+
+  !define XPUI_STARTMENUPAGE_CURRENT_ID "${ID}"
+
+  StrCpy $XPUI_TEMP1 "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
+  StrCmp $XPUI_TEMP1 ">" XPUI.startmenu_write_${XPUI_STARTMENUPAGE_CURRENT_ID}_done
+
+  StrCmp "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" "" 0 XPUI.startmenu_writebegin_${XPUI_STARTMENUPAGE_CURRENT_ID}_notempty
+
+    !insertmacro XPUI_STARTMENU_GETFOLDER "${XPUI_STARTMENUPAGE_CURRENT_ID}" "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+
+  XPUI.startmenu_writebegin_${XPUI_STARTMENUPAGE_CURRENT_ID}_notempty:
+
+  !verbose pop
+
+!macroend
+
+!macro XPUI_STARTMENU_WRITE_END
+
+  !verbose push
+  !verbose ${XPUI_VERBOSE}
+
+  !ifdef XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
+    WriteRegStr "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${XPUI_STARTMENUPAGE_${XPUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
+  !endif
+
+  XPUI.startmenu_write_${XPUI_STARTMENUPAGE_CURRENT_ID}_done:
+
+  !undef XPUI_STARTMENUPAGE_CURRENT_ID
+
+  !verbose pop
+
+!macroend
+
+; END START MENU PAGE
+
+; INSTALL CONFIRMATION PAGE
+!macro XPUI_PAGE_INSTCONFIRM
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_INSTCONFIRM
+    !define XPUI_INTERNAL_PAGEUSED_INSTCONFIRM
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTCONFIRMPAGE_TITLE "$(XPUI_${XPUI_UN}INSTCONFIRMPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTCONFIRMPAGE_SUBTITLE "$(XPUI_${XPUI_UN}INSTCONFIRMPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTCONFIRMPAGE_CAPTION "$(XPUI_${XPUI_UN}INSTCONFIRMPAGE_CAPTION)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_TOP "$(XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_BOTTOM "$(XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_BOTTOM)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}custom
+    Caption `${XPUI_${XPUI_UN}INSTCONFIRMPAGE_CAPTION}`
+    PageCallbacks `${XPUI_UNFUNC}XPUI.instconfirm.${XPUI_UNIQUEID}.show` `${XPUI_UNFUNC}XPUI.instconfirm.${XPUI_UNIQUEID}.verify`
+  PageExEnd
+  
+  Function `${XPUI_UNFUNC}XPUI.instconfirm.${XPUI_UNIQUEID}.show`
+    
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+      
+    !ifdef XPUI_FASTERSKINNING
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\confirm.ini`
+    !endif
+    
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}INSTCONFIRMPAGE_TITLE}` `${XPUI_${XPUI_UN}INSTCONFIRMPAGE_SUBTITLE}`
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+    
+    WriteINIStr $PLUGINSDIR\Confirm.ini `Field 1` Text `${XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_TOP}`
+    WriteINIStr $PLUGINSDIR\Confirm.ini `Field 2` Text `${XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_BOTTOM}`
+    !ifdef XPUI_INSTCONFIRMPAGE_INFOBOX
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 2` Bottom 98
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Type Text
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Flags GROUP|MULTILINE|READONLY
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Left 6
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Right -1
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Top 104
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` Bottom 204
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` State `Installation Settings:\r\n______________________________________________________________\r\n\r\nDestination folder: $INSTDIR`
+    
+      !ifdef XPUI_INTERNAL_STARTMENUPAGE_ID_DEFAULT
+        !insertmacro XPUI_STARTMENU_WRITE_BEGIN ${XPUI_INTERNAL_STARTMENUPAGE_ID_DEFAULT}
+        WriteINIStr $PLUGINSDIR\Confirm.ini `Field 5` State `Installation Settings:\r\n______________________________________________________________\r\n\r\nDestination folder: $INSTDIR\r\nStart Menu Folder: ${XPUI_STARTMENUPAGE_${XPUI_INTERNAL_STARTMENUPAGE_ID_DEFAULT}_VARIABLE}`
+        !insertmacro XPUI_STARTMENU_WRITE_END
+      !endif
+      
+      WriteINIStr $PLUGINSDIR\Confirm.ini `Settings` Numfields 5
+    !endif
+    WriteINIStr `$PLUGINSDIR\Confirm.ini` `Settings` `RTL` `$(^RTL)`
+    InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\confirm.ini
+    Pop $XPUI_TEMP2
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP2
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1200
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1201
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1202
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1203
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1204
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    !ifndef XPUI_NOLOCK
+    LockWindow off
+    !endif
+    
+    !ifdef UMUI_CONFIRMPAGE_TEXTBOX
+    Goto +2
+    Call `${UMUI_CONFIRMPAGE_TEXTBOX}`
+    !undef UMUI_CONFIRMPAGE_TEXTBOX
+    !endif
+          
+    InstallOptions::show
+    
+  FunctionEnd
+  
+  Function `${XPUI_UNFUNC}XPUI.instconfirm.${XPUI_UNIQUEID}.verify`
+    
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  
+  FunctionEnd
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !undef XPUI_${XPUI_UN}INSTCONFIRMPAGE_TITLE
+  !undef XPUI_${XPUI_UN}INSTCONFIRMPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}INSTCONFIRMPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}INSTCONFIRMPAGE_TEXT_BOTTOM
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+!macroend
+
+; INSTFILES PAGE
+!macro XPUI_PAGE_INSTFILES
+
+  !ifdef UMUI_INSTFILEPAGE_ENABLE_CANCEL_BUTTON
+    !ifndef UMUI_NB_CALL_FUNCTION_CANCEL_DEFINED
+      !define UMUI_NB_CALL_FUNCTION_CANCEL_DEFINED
+      Var UMUI_NB_CALL_FUNCTION_CANCEL
+    !endif
+  !endif
+
+  !insertmacro XPUI_PAGECHECKS
+
+  !ifndef XPUI_INTERNAL_PAGEUSED_INSTFILES
+    !define XPUI_INTERNAL_PAGEUSED_INSTFILES
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTFILESPAGE_TITLE "$(XPUI_${XPUI_UN}INSTFILESPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTFILESPAGE_SUBTITLE "$(XPUI_${XPUI_UN}INSTFILESPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTFILESPAGE_CAPTION "$(XPUI_${XPUI_UN}INSTFILESPAGE_CAPTION)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}instfiles
+    Caption `${XPUI_${XPUI_UN}INSTFILESPAGE_CAPTION}`
+    PageCallbacks `${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.pre` `${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.show` `${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.leave`
+  PageExEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.pre
+    
+    StrCmp $XPUI_ABORTED 1 0 +3
+      SetAutoClose true
+      Abort
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+    
+    Return
+    
+  FunctionEnd
+  
+  Function ${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.show
+  
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}INSTFILESPAGE_TITLE}` `${XPUI_${XPUI_UN}INSTFILESPAGE_SUBTITLE}`
+    
+    FindWindow $XPUI_TEMP1 "#32770" "" $HWNDPARENT
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+  
+    !insertmacro XPUI_PAGECOLOR_INIT 1027
+    !insertmacro XPUI_PAGECOLOR_INIT 1004
+    !insertmacro XPUI_PAGECOLOR_INIT 1006
+    !insertmacro XPUI_PAGECOLOR_INIT 1016
+    
+    !ifdef XPUI_BGIMAGE
+      FindWindow $XPUI_TEMP1 "#32770" "" $HWNDPARENT
+      GetDlgItem $XPUI_TEMP1 $XPUI_TEMP1 1006
+      ShowWindow $XPUI_TEMP1 0
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+      !ifdef UMUI_INSTFILEPAGE_ENABLE_CANCEL_BUTTON
+      	StrCpy $UMUI_NB_CALL_FUNCTION_CANCEL 0
+	GetDlgItem $XPUI_TEMP1 $HWNDPARENT 2
+	EnableWindow $XPUI_TEMP1 1
+      !endif
+    
+    LockWindow off
+  FunctionEnd
+    
+  Function ${XPUI_UNFUNC}XPUI.cpy.${XPUI_UNIQUEID}.leave
+  
+        !ifdef UMUI_INSTFILEPAGE_ENABLE_CANCEL_BUTTON
+		StrCmp $XPUI_ABORTED 1 0 +5
+		StrCmp $UMUI_NB_CALL_FUNCTION_CANCEL 0 0 +4
+		StrCpy $UMUI_NB_CALL_FUNCTION_CANCEL 1
+		Call `${UMUI_INSTFILEPAGE_ENABLE_CANCEL_BUTTON}`
+		SetAutoClose true
+	!endif
+	!insertmacro XPUI_UNSET UMUI_INSTFILEPAGE_ENABLE_CANCEL_BUTTON
+    
+    LockWindow on
+    IfAbort 0 Good
+    !insertmacro XPUI_HEADER_TEXT `$(XPUI_${XPUI_UN}INSTFILESPAGE_FAIL_TITLE)` `$(XPUI_${XPUI_UN}INSTFILESPAGE_FAIL_SUBTITLE)`
+    Goto TitleFinish
+    Good:
+    !insertmacro XPUI_HEADER_TEXT `$(XPUI_${XPUI_UN}INSTFILESPAGE_DONE_TITLE)` `$(XPUI_${XPUI_UN}INSTFILESPAGE_DONE_SUBTITLE)`
+    TitleFinish:
+    LockWindow off
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  
+  FunctionEnd
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !undef XPUI_${XPUI_UN}INSTFILESPAGE_TITLE
+  !undef XPUI_${XPUI_UN}INSTFILESPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}INSTFILESPAGE_CAPTION
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+!macroend
+
+; FINISH PAGE
+!macro XPUI_PAGE_FINISH
+
+  !insertmacro XPUI_PAGECHECKS
+
+  !ifndef XPUI_INTERNAL_PAGEUSED_FINISH
+    !define XPUI_INTERNAL_PAGEUSED_FINISH
+  !endif
+  
+  !ifdef MUI_FINISHPAGE_LINK
+    !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_LINK ""
+    !insertmacro XPUI_SET XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT `${MUI_FINISHPAGE_LINK}`
+    !ifdef MUI_FINISHPAGE_LINK_LOCATION
+      !insertmacro XPUI_DEFAULT "XPUI_FINISHPAGE_LINK_LOCATION" "${MUI_FINISHPAGE_LINK_LOCATION}"
+    !endif
+  !endif
+  
+  !insertmacro XPUI_LANGUAGE_CONVERT
+  
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_TITLE             "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_TEXT              "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_BUTTON            "$(^CloseBtn)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOT       "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTNOW    "$(XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_REBOOT)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTLATER  "$(XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_NOREBOOT)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_RUN_TEXT          "$(XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN)"
+  !insertmacro XPUI_DEFAULT MUI_FINISHPAGE_SHOWREADME_TEXT   "$(XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS)"
+  !ifdef MUI_FINISHPAGE_NOREBOOTSUPPORT
+    !define XPUI_${XPUI_UN}FINISHPAGE_REBOOT_DISABLE
+    !undef MUI_FINISHPAGE_NOREBOOTSUPPORT
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TITLE "$(XPUI_${XPUI_UN}FINISHPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_SUBTITLE "$(XPUI_${XPUI_UN}FINISHPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_CAPTION "$(XPUI_${XPUI_UN}FINISHPAGE_CAPTION)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN  "$(XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN)"   # No LangString for this one
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS "$(XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS)"  # No LangString for this one
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT_RUN "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_RUN)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT "$(XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_REBOOT_MESSAGEBOX "$(XPUI_${XPUI_UN}FINISHPAGE_REBOOT_MESSAGEBOX)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_REBOOT "$(XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_REBOOT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_NOREBOOT "$(XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_NOREBOOT)"
+  
+  PageEx ${XPUI_UNFUNC}custom
+    Caption `${XPUI_${XPUI_UN}FINISHPAGE_CAPTION}`
+    PageCallbacks `${XPUI_UNFUNC}XPUI.finish.${XPUI_UNIQUEID}.show` `${XPUI_UNFUNC}XPUI.finish.${XPUI_UNIQUEID}.verify`
+  PageExEnd
+  
+  !ifndef XPUI_VAR_REBOOT
+  Var XPUI_REBOOT
+  !define XPUI_VAR_REBOOT
+  !endif
+  
+  Function `${XPUI_UNFUNC}XPUI.FINISH.${XPUI_UNIQUEID}.show`
+  
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+    
+    ; SET THE XPUI LOCAL REBOOT FLAG
+    StrCpy $XPUI_REBOOT 0
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_REBOOT_FORCE
+      StrCpy $XPUI_REBOOT 1
+    !endif
+    
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_NOREBOOT
+      IfRebootFlag `` +2
+        StrCpy $XPUI_REBOOT 1
+    !endif
+    
+    !ifdef `XPUI_${XPUI_UN}FINISHPAGE_ABORT_ON_NOREBOOT`
+      StrCmp $XPUI_REBOOT 1 `` 0 +2
+        Abort
+    !endif
+    
+    ; Extract the INI
+    !ifdef XPUI_FASTERSKINNING
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\finish.ini`
+    !endif
+    
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}FINISHPAGE_TITLE}` `${XPUI_${XPUI_UN}FINISHPAGE_SUBTITLE}`
+    
+    StrCmp $XPUI_REBOOT 1 `` XPUI.finish.norb.${XPUI_UNIQUEID}
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 1` Type RadioButton
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 2` Type RadioButton
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 1` Text `${XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_REBOOT}`
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 2` Text `${XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_NOREBOOT}`
+    XPUI.finish.norb.${XPUI_UNIQUEID}:
+    
+    StrCmp $XPUI_REBOOT 1 XPUI.nochk
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN_NOTCHECKED
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 1` State 0
+    !endif
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_DOCS_NOTCHECKED
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 2` State 0
+    !endif
+    XPUI.nochk:
+    
+    StrCmp $XPUI_REBOOT 1 `` +2
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 2` State 0
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 3` Text `${XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT}`
+    !endif
+    
+    StrCmp $XPUI_REBOOT 1 `` +3
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 5` Text  `${XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT}`
+    Goto +2
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN & XPUI_${XPUI_UN}FINISHPAGE_DOCS
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 5` Text `${XPUI_${XPUI_UN}FINISHPAGE_TEXT_RUN}`
+    !else
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 5` Text `${XPUI_${XPUI_UN}FINISHPAGE_TEXT}`
+    !endif
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_TEXT_USE_TOP_ALT
+    WriteINIStr $PLUGINSDIR\Finish.ini `Field 4` Top 17
+    !endif
+    
+    !ifndef XPUI_FINISHPAGE_NOCLOSEBUTTON
+      WriteINIStr $PLUGINSDIR\Finish.ini Settings NextButtonText $(XPUI_BUTTONTEXT_CLOSE)
+    !endif
+    
+    WriteINIStr `$PLUGINSDIR\Finish.ini` `Settings` `RTL` `$(^RTL)`
+    InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\finish.ini
+    Pop $XPUI_TEMP2
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP2
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+    EnableWindow $XPUI_TEMP1 1
+    !ifndef XPUI_FINISHPAGE_NOCLOSEBUTTON
+    SendMessage $XPUI_TEMP1 0xC 0 STR:$(XPUI_BUTTONTEXT_CLOSE)
+    !endif
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 2
+    SendMessage $XPUI_TEMP1 0xC `` `STR:$(^CancelBtn)`
+    EnableWindow $XPUI_TEMP1 1
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 3
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_NO_REINSTALL
+      EnableWindow $XPUI_TEMP1 0
+    !endif
+    
+    LockWindow on
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1200
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    StrCmp $XPUI_REBOOT 1 a
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN}`
+    !endif
+    a:
+    
+    StrCmp $XPUI_REBOOT 1 XPUI.norunchk
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_RUN
+    ShowWindow $XPUI_TEMP1 0
+    !endif
+    XPUI.norunchk:
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1201
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    StrCmp $XPUI_REBOOT 1 b
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_DOCS
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS}`
+    !endif
+    b:
+    
+    StrCmp $XPUI_REBOOT 1 XPUI.nodocchk
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_DOCS
+    ShowWindow $XPUI_TEMP1 0
+    !endif
+    XPUI.nodocchk:
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1203
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1203
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP}`
+    CreateFont $XPUI_HWND `$(^Font)` 12 700 ; previously Tahoma
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_HWND $XPUI_HWND
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_TEXT_USE_TOP_ALT
+      SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT}`
+      CreateFont $XPUI_HWND `$(^Font)` 8 700 ; previously MS Sans Serif
+      SendMessage $XPUI_TEMP1 0x30 $XPUI_HWND $XPUI_HWND
+    !endif
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1204
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_RUN & XPUI_${XPUI_UN}FINISHPAGE_DOCS
+    StrCmp $XPUI_REBOOT 1 XPUI.no-normal-text
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1200
+    ShowWindow $XPUI_TEMP1 0
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1201
+    ShowWindow $XPUI_TEMP1 0
+    XPUI.no-normal-text:
+    !endif
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1202
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT $XPUI_TEMP1
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${XPUI_${XPUI_UN}FINISHPAGE_LINK_TEXT}`
+    !endif
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_LINK
+    ShowWindow $XPUI_TEMP1 0
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    SetBrandingImage /IMGID=1019 /RESIZETOFIT "$PLUGINSDIR\page.bmp"
+    
+    LockWindow off
+    InstallOptions::show
+  FunctionEnd
+  
+  Function `${XPUI_UNFUNC}XPUI.FINISH.${XPUI_UNIQUEID}.verify`
+    StrCmp $XPUI_ABORTED 1 XPUI.grinding-halt
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_LINK
+    ReadINIStr $XPUI_TEMP1 `$PLUGINSDIR\Finish.ini` `Settings` `State`
+    StrCmp $XPUI_TEMP1 3 `` XPUI.nolink
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_LINK_FUNCTION
+    Call `${XPUI_${XPUI_UN}FINISHPAGE_LINK_FUNCTION}`
+    !else
+      !ifdef XPUI_${XPUI_UN}FINISHPAGE_LINK_LOCATION
+        ExecShell open `${XPUI_${XPUI_UN}FINISHPAGE_LINK_LOCATION}`
+      !else
+        MessageBox MB_OK|MB_ICONINFORMATION `Developer: Please specify a function for the Finish Page link to run in the symbol XPUI_${XPUI_UN}FINISHPAGE_LINK_FUNCTION or specify a location (local or http) to load in XPUI_${XPUI_UN}FINISHPAGE_LINK_LOCATION.  The Abort command is called automatically.$\n$\nUser: The developer of this setup program specified that a link be shown on this page, but he/she did not define what the link will do.  Please contact the company from which you obtained this installer and tell them about this message.`
+      !endif
+    !endif
+    LockWindow off
+    Abort
+    XPUI.nolink:
+    !endif
+    
+    !ifndef XPUI_${XPUI_UN}FINISHPAGE_NOREBOOT
+    ReadINIStr $XPUI_TEMP1 `$PLUGINSDIR\Finish.ini` `Settings` `State`
+    StrCmp $XPUI_TEMP1 1 `` XPUI.nodonebutton
+    StrCmp $XPUI_TEMP1 2 `` XPUI.nodonebutton
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+    EnableWindow $XPUI_TEMP1 1
+    Abort
+    XPUI.nodonebutton:
+    !endif
+    
+    ReadINIStr $XPUI_TEMP1 `$PLUGINSDIR\Finish.ini` `Field 1` `State`
+    ReadINIStr $XPUI_TEMP2 `$PLUGINSDIR\Finish.ini` `Field 2` `State`
+    
+    StrCmp $XPUI_REBOOT 1 `` XPUI.norb2
+    StrCmp $XPUI_TEMP1 1 `` XPUI.norb
+    MessageBox MB_OKCANCEL|MB_ICONINFORMATION `${XPUI_${XPUI_UN}FINISHPAGE_REBOOT_MESSAGEBOX}` IDCANCEL XPUI.done
+    # the big...
+    Reboot # REBOOT! (Wow)
+    XPUI.norb:
+    Goto XPUI.done
+    
+    XPUI.norb2:
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN
+      !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN_FILE
+        StrCmp $XPUI_TEMP1 1 `` NoCallRun
+        Exec `${XPUI_${XPUI_UN}FINISHPAGE_RUN_FILE}`
+      !endif
+      !ifdef XPUI_${XPUI_UN}FINISHPAGE_RUN_FUNCTION
+        StrCmp $XPUI_TEMP1 1 `` NoCallRun
+        Call `${XPUI_${XPUI_UN}FINISHPAGE_RUN_FUNCTION}`
+      !endif
+      NoCallRun:
+    !endif
+    
+    !ifdef XPUI_${XPUI_UN}FINISHPAGE_DOCS
+      !ifdef XPUI_${XPUI_UN}FINISHPAGE_DOCS_FILE
+      StrCmp $XPUI_TEMP2 1 `` NoCallDocs
+      ExecShell open `${XPUI_${XPUI_UN}FINISHPAGE_DOCS_FILE}`
+      !endif
+      !ifdef XPUI_${XPUI_UN}FINISHPAGE_DOCS_FUNCTION
+      StrCmp $XPUI_TEMP2 1 `` NoCallDocs
+      Call `${XPUI_${XPUI_UN}FINISHPAGE_DOCS_FUNCTION}`
+      !endif
+      NoCallDocs:
+    !endif
+    
+    XPUI.done:
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+    
+    XPUI.grinding-halt:
+    SetRebootFlag false
+  
+  FunctionEnd
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_LINK
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_LINK_FUNCTION
+  
+  !insertmacro XPUI_UNSET MUI_FINISHPAGE_LINK
+  !insertmacro XPUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_LINK_LOCATION
+  
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_RUN
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_RUN_FILE
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_RUN_FUNCTION
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_DOCS
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_DOCS_FILE
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_DOCS_FUNCTION
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_REBOOT_DISABLE
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_REBOOT_FORCE
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_RUN
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_CHECKBOX_DOCS
+  !insertmacro XPUI_UNSET XPUI_UNFINISHPAGE_CHECKBOX_RUN
+  !insertmacro XPUI_UNSET XPUI_UNFINISHPAGE_CHECKBOX_DOCS
+  !insertmacro XPUI_UNSET XPUI_${XPUI_UN}FINISHPAGE_NOCLOSEBUTTON
+  
+  !undef XPUI_${XPUI_UN}FINISHPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TITLE
+  !undef XPUI_${XPUI_UN}FINISHPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TEXT_TOP_ALT
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TEXT
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TEXT_RUN
+  !undef XPUI_${XPUI_UN}FINISHPAGE_TEXT_REBOOT
+  !undef XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_REBOOT
+  !undef XPUI_${XPUI_UN}FINISHPAGE_RADIOBUTTON_NOREBOOT
+  !undef XPUI_${XPUI_UN}FINISHPAGE_REBOOT_MESSAGEBOX
+  
+  !undef MUI_FINISHPAGE_TITLE
+  !undef MUI_FINISHPAGE_TEXT
+  !undef MUI_FINISHPAGE_BUTTON
+  !undef MUI_FINISHPAGE_TEXT_REBOOT
+  !undef MUI_FINISHPAGE_TEXT_REBOOTNOW
+  !undef MUI_FINISHPAGE_TEXT_REBOOTLATER
+  !undef MUI_FINISHPAGE_RUN_TEXT
+  !undef MUI_FINISHPAGE_SHOWREADME_TEXT
+  
+  !verbose pop
+
+!macroend
+
+; INSTALL SUCCESS PAGE
+!macro XPUI_PAGE_INSTSUCCESS
+
+  !insertmacro XPUI_PAGECHECKS
+
+  !ifndef XPUI_INTERNAL_PAGEUSED_INSTSUCCESS
+    !define XPUI_INTERNAL_PAGEUSED_INSTSUCCESS
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTSUCCESSPAGE_TITLE "$(XPUI_${XPUI_UN}INSTSUCCESSPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTSUCCESSPAGE_SUBTITLE "$(XPUI_${XPUI_UN}INSTSUCCESSPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTSUCCESSPAGE_CAPTION "$(XPUI_${XPUI_UN}INSTSUCCESSPAGE_CAPTION)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_TOP "$(XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_BOTTOM "$(XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_BOTTOM)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}custom
+    Caption `${XPUI_${XPUI_UN}INSTSUCCESSPAGE_CAPTION}`
+    PageCallbacks `${XPUI_UNFUNC}XPUI.instSuccess.${XPUI_UNIQUEID}.show` `${XPUI_UNFUNC}XPUI.instSuccess.${XPUI_UNIQUEID}.verify`
+  PageExEnd
+  
+  Function `${XPUI_UNFUNC}XPUI.instSuccess.${XPUI_UNIQUEID}.show`
+    StrCmp $XPUI_ABORTED 1 0 +2
+      Abort
+      
+    !ifdef XPUI_FASTERSKINNING
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\confirm.ini`
+    !endif
+    
+    !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}INSTSUCCESSPAGE_TITLE}` `${XPUI_${XPUI_UN}INSTSUCCESSPAGE_SUBTITLE}`
+    
+    WriteINIStr $PLUGINSDIR\Confirm.ini `Settings` NextButtonText `Close`
+    WriteINIStr $PLUGINSDIR\Confirm.ini `Field 1` Text `${XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_TOP}`
+    WriteINIStr $PLUGINSDIR\Confirm.ini `Field 2` Text `${XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_BOTTOM}`
+    WriteINIStr `$PLUGINSDIR\Confirm.ini` `Settings` `RTL` `$(^RTL)`
+    InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\confirm.ini
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+    EnableWindow $XPUI_TEMP1 0
+    SendMessage $XPUI_TEMP1 0xC `` `STR:Next`
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 2
+    SendMessage $XPUI_TEMP1 0xC `` `STR:Close`
+    EnableWindow $XPUI_TEMP1 1
+    Pop $XPUI_TEMP2
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP2
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1200
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1201
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1202
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1203
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $XPUI_TEMP2 1204
+    !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+    StrCpy $XPUI_NOABORTWARNING 1
+    SetBrandingImage /IMGID=1019 /RESIZETOFIT "$PLUGINSDIR\page.bmp"
+    !ifndef XPUI_NOLOCK
+    LockWindow off
+    !endif
+    InstallOptions::show
+  FunctionEnd
+  
+  Function `${XPUI_UNFUNC}XPUI.instSuccess.${XPUI_UNIQUEID}.verify`
+    
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+    
+  FunctionEnd
+  
+  !undef XPUI_${XPUI_UN}INSTSUCCESSPAGE_CAPTION
+  !undef XPUI_${XPUI_UN}INSTSUCCESSPAGE_TITLE
+  !undef XPUI_${XPUI_UN}INSTSUCCESSPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}INSTSUCCESSPAGE_TEXT_BOTTOM
+  
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_PRE
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_SHOW
+  !insertmacro XPUI_UNSET XPUI_PAGE_CUSTOMFUNCTION_LEAVE
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+  
+!macroend
+
+!macro XPUI_PAGE_ABORT
+
+  !insertmacro XPUI_PAGECHECKS
+  
+  !ifndef XPUI_INTERNAL_PAGEUSED_ABORT
+    !define XPUI_INTERNAL_PAGEUSED_ABORT
+  !endif
+  
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}ABORTPAGE_TITLE "$(XPUI_${XPUI_UN}ABORTPAGE_TITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}ABORTPAGE_SUBTITLE "$(XPUI_${XPUI_UN}ABORTPAGE_SUBTITLE)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}ABORTPAGE_TEXT_TOP "$(XPUI_${XPUI_UN}ABORTPAGE_TEXT_TOP)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}ABORTPAGE_TEXT "$(XPUI_${XPUI_UN}ABORTPAGE_TEXT)"
+  !insertmacro XPUI_DEFAULT XPUI_${XPUI_UN}ABORTPAGE_CAPTION "$(XPUI_${XPUI_UN}ABORTPAGE_CAPTION)"
+  
+  !insertmacro XPUI_CREATEID
+  
+  PageEx ${XPUI_UNFUNC}custom
+  PageCallbacks ${XPUI_UNFUNC}XPUI.io.ABORTPAGE.${XPUI_UNIQUEID} ${XPUI_UNFUNC}XPUI.io.ABORTPAGE.${XPUI_UNIQUEID}.leave
+  Caption `${XPUI_${XPUI_UN}ABORTPAGE_CAPTION}`
+  PageExEnd
+
+  Function ${XPUI_UNFUNC}XPUI.io.ABORTPAGE.${XPUI_UNIQUEID}
+    LockWindow on
+    StrCmp $XPUI_ABORTED 1 +2
+      Abort
+    
+    SetOutPath $PLUGINSDIR
+    File `${XPUI_SYSDIR}\INI\isWelcome.ini`
+
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE    
+
+    WriteINIStr $PLUGINSDIR\isWelcome.ini `Field 1` Text `${XPUI_${XPUI_UN}ABORTPAGE_TEXT_TOP}`
+    WriteINIStr $PLUGINSDIR\isWelcome.ini `Field 2` Text `${XPUI_${XPUI_UN}ABORTPAGE_TEXT}`
+    WriteINIStr `$PLUGINSDIR\isWelcome.ini` `Settings` `RTL` `$(^RTL)`
+    
+    InstallOptions::initDialog /NOUNLOAD `$PLUGINSDIR\isWelcome.ini`
+      
+      Pop $XPUI_HWND
+      !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_HWND
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+        CreateFont $XPUI_TEMP2 `$(^Font)` 8 700 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+        CreateFont $XPUI_TEMP2 `$(^Font)` 8 350 ; previously Tahoma
+        SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 $XPUI_TEMP2
+        !insertmacro XPUI_CONTROL_SKIN_PAGE $XPUI_TEMP1
+      
+      !insertmacro XPUI_HEADER_TEXT `${XPUI_${XPUI_UN}ABORTPAGE_TITLE}` `${XPUI_${XPUI_UN}ABORTPAGE_SUBTITLE}`
+      
+      StrCpy $XPUI_NOABORTWARNING 1
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+      EnableWindow $XPUI_TEMP1 0
+      SendMessage $XPUI_TEMP1 0xC 0 STR:$(^NextBtn)
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 3
+      EnableWindow $XPUI_TEMP1 0
+      SendMessage $XPUI_TEMP1 0xC 0 STR:$(^BackBtn)
+      
+      GetDlgItem $XPUI_TEMP1 $HWNDPARENT 2
+      EnableWindow $XPUI_TEMP1 1
+      SendMessage $XPUI_TEMP1 0xC 0 STR:$(^CloseBtn)
+      
+      !insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+      
+      LockWindow off
+      
+    InstallOptions::show
+    FunctionEnd
+    
+    Function ${XPUI_UNFUNC}XPUI.io.ABORTPAGE.${XPUI_UNIQUEID}.leave
+    !ifndef XPUI_NOLOCK
+    LockWindow on
+    !endif
+    !insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+  FunctionEnd
+  
+  !undef XPUI_${XPUI_UN}ABORTPAGE_TITLE
+  !undef XPUI_${XPUI_UN}ABORTPAGE_SUBTITLE
+  !undef XPUI_${XPUI_UN}ABORTPAGE_TEXT_TOP
+  !undef XPUI_${XPUI_UN}ABORTPAGE_TEXT
+  !undef XPUI_${XPUI_UN}ABORTPAGE_CAPTION
+  
+  !insertmacro XPUI_ENDPAGECHECKS
+
+!macroend
+
+!macro XPUI_PAGE_UNINSTCONFIRM_NSIS
+
+!insertmacro XPUI_PAGECHECKS
+
+!insertmacro XPUI_CREATEID
+PageEx un.uninstConfirm
+Caption `$(XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION)`
+PageCallbacks `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.pre` `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.show` `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.leave`
+PageExEnd
+
+Function `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.pre`
+StrCmp $XPUI_ABORTED 1 `` +2
+Abort
+!insertmacro XPUI_PAGE_CUSTOMFUNCTION PRE
+FunctionEnd
+
+Function `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.show`
+
+!insertmacro XPUI_HEADER_TEXT `$(XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE)` `$(XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE)`
+
+FindWindow $XPUI_TEMP1 `#32770` `` $HWNDPARENT
+!insertmacro XPUI_CONTROL_SKIN $XPUI_TEMP1
+
+!insertmacro XPUI_PAGECOLOR_INIT 1019
+!insertmacro XPUI_PAGECOLOR_INIT 1029
+!insertmacro XPUI_PAGECOLOR_INIT 1000
+!insertmacro XPUI_PAGECOLOR_INIT 1006
+
+!insertmacro XPUI_INNERDIALOG_TEXT `$(XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP)` 1006
+!insertmacro XPUI_INNERDIALOG_TEXT `$(XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER)` 1029
+!insertmacro XPUI_PAGE_CUSTOMFUNCTION SHOW
+FunctionEnd
+
+Function `un.XPUI.unc_NSIS.${XPUI_UNIQUEID}.leave`
+!insertmacro XPUI_PAGE_CUSTOMFUNCTION LEAVE
+FunctionEnd
+!insertmacro XPUI_ENDPAGECHECKS
+!macroEnd
+
+; Page Command
+
+!macro XPUI_PAGE pname
+  !define `XPUI_PAGE_CHECK_${pname}`
+    !ifdef `XPUI_PAGE_CHECK_Welcome`
+    !insertmacro XPUI_PAGE_WELCOME
+    !else ifdef `XPUI_PAGE_CHECK_Welcome2`
+    !insertmacro XPUI_PAGE_WELCOME2
+    !else ifdef `XPUI_PAGE_CHECK_Components`
+    !insertmacro XPUI_PAGE_COMPONENTS
+    !else ifdef `XPUI_PAGE_CHECK_Directory`
+    !insertmacro XPUI_PAGE_DIRECTORY
+    !else ifdef `XPUI_PAGE_CHECK_InstConfirm`
+    !insertmacro XPUI_PAGE_INSTCONFIRM
+    !else ifdef `XPUI_PAGE_CHECK_InstFiles`
+    !insertmacro XPUI_PAGE_INSTFILES
+    !else ifdef `XPUI_PAGE_CHECK_InstSuccess`
+    !insertmacro XPUI_PAGE_INSTSUCCESS
+    !else ifdef `XPUI_PAGE_CHECK_Finish`
+    !insertmacro XPUI_PAGE_FINISH
+    !else ifdef `XPUI_PAGE_CHECK_Abort`
+    !insertmacro XPUI_PAGE_ABORT
+    !else
+    !verbose 4
+    !define temp.TEXT {Page}
+    !error "ExperienceUI: FATAL: Improper use of $${temp.TEXT} command.$\nUsage: $${temp.TEXT} (Welcome|Welcome2|Components|Directory|InstConfirm|InstFiles|Finish|InstSuccess|Abort)$\nNOTE: License and StartMenu pages must be inserted the old way."
+    !endif
+  !undef  `XPUI_PAGE_CHECK_${pname}`
+!macroend
+
+!macro XPUI_UNPAGE pname
+  !insertmacro XPUI_PAGEMODE_PUSH
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !define `XPUI_PAGE_CHECK_${pname}`
+    !ifdef `XPUI_PAGE_CHECK_Welcome`
+    !insertmacro XPUI_PAGE_WELCOME
+    !else ifdef `XPUI_PAGE_CHECK_Welcome2`
+    !insertmacro XPUI_PAGE_WELCOME2
+    !else ifdef `XPUI_PAGE_CHECK_Components`
+    !insertmacro XPUI_PAGE_COMPONENTS
+    !else ifdef `XPUI_PAGE_CHECK_Directory`
+    !insertmacro XPUI_PAGE_DIRECTORY
+    !else ifdef `XPUI_PAGE_CHECK_InstConfirm`
+    !insertmacro XPUI_PAGE_INSTCONFIRM
+    !else ifdef `XPUI_PAGE_CHECK_InstFiles`
+    !insertmacro XPUI_PAGE_INSTFILES
+    !else ifdef `XPUI_PAGE_CHECK_InstSuccess`
+    !insertmacro XPUI_PAGE_INSTSUCCESS
+    !else ifdef `XPUI_PAGE_CHECK_Finish`
+    !insertmacro XPUI_PAGE_FINISH
+    !else ifdef `XPUI_PAGE_CHECK_Abort`
+    !insertmacro XPUI_PAGE_ABORT
+    !else ifdef `XPUI_PAGE_CHECK_UnConfirm`
+    !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+    !else
+    !verbose 4
+    !define temp.TEXT {UnPage}
+    !error "ExperienceUI: FATAL: Improper use of $${temp.TEXT} command.$\nUsage: $${temp.TEXT} (Welcome|Welcome2|Components|Directory|InstConfirm|InstFiles|Finish|InstSuccess|Abort)$\nNOTE: License and StartMenu pages must be inserted the old way."
+    !endif
+  !undef  `XPUI_PAGE_CHECK_${pname}`
+  !insertmacro XPUI_PAGEMODE_POP
+!macroend
+
+!define Page "!insertmacro XPUI_PAGE"
+!define UnPage "!insertmacro XPUI_UNPAGE"
+!define StartMenuPage "!insertmacro XPUI_PAGE_STARTMENU"
+!define LicensePage "!insertmacro XPUI_PAGE_LICENSE"
+
+; SECTION DESCRIPTION CODE
+; WRITTEN BY JOOST VERBURG
+
+!macro XPUI_DESCRIPTION_BEGIN
+FindWindow $XPUI_TEMP1 `#32770` `` $HWNDPARENT
+GetDlgItem $XPUI_TEMP1 $XPUI_TEMP1 1043
+StrCmp $0 -1 0 XPUI.description_begin_done
+SendMessage $XPUI_TEMP1 0xC 0 `STR:$XPUI_HWND`
+EnableWindow $XPUI_TEMP1 0
+
+Goto XPUI.description_done
+XPUI.description_begin_done:
+!macroend
+
+!macro XPUI_DESCRIPTION_TEXT VAR TEXT
+!verbose push
+  !verbose 4
+  !ifndef XPUI_SILENT
+    !echo `XPUI Section Description Text: Section ${VAR}, Text "${TEXT}"`
+  !endif
+  !verbose ${XPUI_VERBOSE}
+StrCmp $0 ${VAR} 0 XPUI.description_${VAR}_done
+SendMessage $XPUI_TEMP1 0xC 0 `STR:`
+EnableWindow $XPUI_TEMP1 1
+SendMessage $XPUI_TEMP1 0xC 0 `STR:${TEXT}`
+Goto XPUI.description_done
+XPUI.description_${VAR}_done:
+!verbose pop
+!macroend
+
+!macro XPUI_DESCRIPTION_END
+XPUI.description_done:
+!macroend
+
+
+!macro XPUI_FUNCTION_DESCRIPTION_BEGIN
+!verbose push
+  !verbose 4
+  !ifndef XPUI_SILENT
+    !echo `!insertmacro: XPUI_FUNCTION_DESCRIPTION_BEGIN (Start Description Function)`
+  !endif
+  !verbose ${XPUI_VERBOSE}
+Function .onMouseOverSection
+FindWindow $XPUI_TEMP1 `#32770` `` $HWNDPARENT
+GetDlgItem $XPUI_TEMP1 $XPUI_TEMP1 1042
+SendMessage $XPUI_TEMP1 0xC 0 `STR:$XPUI_TEMP2`
+!insertmacro XPUI_DESCRIPTION_BEGIN
+!verbose pop
+!macroend
+
+!macro XPUI_FUNCTION_DESCRIPTION_END
+!verbose push
+  !verbose 4
+  !ifndef XPUI_SILENT
+    !echo `!insertmacro: XPUI_FUNCTION_DESCRIPTION_END (End Description Function)`
+  !endif
+  !verbose ${XPUI_VERBOSE}
+!insertmacro XPUI_DESCRIPTION_END
+FunctionEnd
+!verbose pop
+!macroend
+
+; END SECTION DESCRIPTION CODE
+
+; Macros - Left Info Panel
+!macro XPUI_LEFT_SETTIME M
+
+  Push $XPUI_TEMP1
+  
+    !ifndef XPUI_BGIMAGE
+    SetBrandingImage /IMGID=1302 "$PLUGINSDIR\LeftImg.bmp"
+    !else
+    SetBrandingImage /IMGID=1099 "$PLUGINSDIR\BgImage.bmp"
+    !endif
+  
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1100
+    ShowWindow $XPUI_TEMP1 0
+    SendMessage $XPUI_TEMP1 0xC 0 "STR:Setup will complete in approximately:"
+    ShowWindow $XPUI_TEMP1 5
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1101
+    ShowWindow $XPUI_TEMP1 0
+    SendMessage $XPUI_TEMP1 0xC 0 "STR:${M}"
+    ShowWindow $XPUI_TEMP1 5
+    
+  Pop $XPUI_TEMP1
+
+!macroend
+
+!macro XPUI_LEFT_STATUS T B
+
+  Push $XPUI_TEMP1
+  
+    !ifndef XPUI_BGIMAGE
+    SetBrandingImage /IMGID=1302 "$PLUGINSDIR\LeftImg.bmp"
+    !else
+    SetBrandingImage /IMGID=1099 "$PLUGINSDIR\BgImage.bmp"
+    !endif
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1100
+    ShowWindow $XPUI_TEMP1 0
+    SendMessage $XPUI_TEMP1 0xC 0 "STR:${T}"
+    ShowWindow $XPUI_TEMP1 5
+
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1101
+    ShowWindow $XPUI_TEMP1 0
+    SendMessage $XPUI_TEMP1 0xC 0 "STR:${B}"
+    ShowWindow $XPUI_TEMP1 5
+    
+  Pop $XPUI_TEMP1
+
+!macroend
+
+!macro XPUI_LEFT_BLANK
+
+  Push $XPUI_TEMP1
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1100
+    ShowWindow $XPUI_TEMP1 0
+
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1101
+    ShowWindow $XPUI_TEMP1 0
+  Pop $XPUI_TEMP1
+
+!macroend
+
+!macro XPUI_LEFT_MESSAGE T M B
+
+  !define XPUI_LMB_CHECK_${B}
+  
+  !ifdef XPUI_LMB_CHECK_1 | XPUI_LMB_CHECK_2 | XPUI_LMB_CHECK_3
+  !else
+    !error "XPUI_LEFT_MESSAGE: Syntax error$\nUsage: !insertmacro XPUI_LEFT_MESSAGE message_title message_text type(1|2|3)$\nType: 1 - OK button, 2 - OK and cancel buttons, 3 - Yes and No buttons"
+  !endif
+  
+  !ifdef XPUI_BGIMAGE
+    !insertmacro XPUI_DEFAULT XPUI_LMB_TRANSPARENT ""
+  !endif
+  
+  StrCmp $XPUI_ABORTED 1 0 +2
+    Abort
+  
+  !ifndef XPUI_LMB_TRANSPARENT
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1302
+    ShowWindow $XPUI_TEMP1 0
+  !endif
+  
+  SetOutPath $PLUGINSDIR
+  File "${XPUI_SYSDIR}\INI\MBSide.ini"
+  
+  InstallOptions::initDialog /NOUNLOAD $PLUGINSDIR\MBSide.ini
+
+    Pop $XPUI_HWND
+    
+    !ifdef XPUI_LMB_TRANSPARENT
+      !insertmacro XPUI_CONTROL_SKIN_TRANS $XPUI_HWND
+    !else
+      !insertmacro XPUI_CONTROL_SKIN $XPUI_HWND
+    !endif
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1203
+    !insertmacro XPUI_CONTROL_SKIN_LIGHT_TRANS $XPUI_TEMP1
+    CreateFont $XPUI_TEMP2 "Arial" 8 700
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${T}`
+    
+    GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1204
+    !insertmacro XPUI_CONTROL_SKIN_TRANS $XPUI_TEMP1
+    CreateFont $XPUI_TEMP2 "Arial" 8 350
+    SendMessage $XPUI_TEMP1 0x30 $XPUI_TEMP2 0
+    SendMessage $XPUI_TEMP1 0xC 0 `STR:${M}`
+    
+    ; Buttons
+    !ifdef XPUI_LMB_CHECK_1
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+      ShowWindow $XPUI_TEMP1 5
+      SendMessage $XPUI_TEMP1 0xC 0 STR:OK
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+      ShowWindow $XPUI_TEMP1 0
+      
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1202
+      ShowWindow $XPUI_TEMP1 0
+      
+    !else ifdef XPUI_LMB_CHECK_2
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+      ShowWindow $XPUI_TEMP1 0
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+      ShowWindow $XPUI_TEMP1 5
+      SendMessage $XPUI_TEMP1 0xC 0 STR:OK
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1202
+      ShowWindow $XPUI_TEMP1 5
+      SendMessage $XPUI_TEMP1 0xC 0 STR:Cancel
+
+    !else ifdef XPUI_LMB_CHECK_3
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1200
+      ShowWindow $XPUI_TEMP1 0
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1201
+      ShowWindow $XPUI_TEMP1 5
+      SendMessage $XPUI_TEMP1 0xC 0 STR:Yes
+
+      GetDlgItem $XPUI_TEMP1 $XPUI_HWND 1202
+      ShowWindow $XPUI_TEMP1 5
+      SendMessage $XPUI_TEMP1 0xC 0 STR:No
+
+    !endif
+    
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+    ShowWindow $XPUI_TEMP1 0
+    
+    LockWindow off
+    
+  InstallOptions::show
+  
+  !ifndef XPUI_LMB_TRANSPARENT
+    GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1302
+    ShowWindow $XPUI_TEMP1 5
+  !endif
+  GetDlgItem $XPUI_TEMP1 $HWNDPARENT 1
+  ShowWindow $XPUI_TEMP1 5
+  
+  ReadINIStr $XPUI_TEMP2 $PLUGINSDIR\MBSide.ini Settings State
+  
+  !undef XPUI_LMB_CHECK_${B}
+
+!macroend
+
+; This include is the entire multi-language system.  Without it, you're lost.  This is
+; really the only part from the old code that was completely spared.
+!include "${XPUI_SYSDIR}\Lang.nsh"
+!define Language "!insertmacro XPUI_LANGUAGE"
+!define LangDialog "!insertmacro XPUI_LANGDLL_DISPLAY"
+!define LangPage "!insertmacro XPUI_LANGPAGE_DISPLAY"
+
+!insertmacro XPUI_PAGEMODE_INST
+
+; Skin Includes
+  !ifdef XPUI_SKIN
+    !ifndef XPUI_SKIN_INCLUDED
+    !define XPUI_SKIN_INCLUDED
+    !verbose push
+    !verbose 3 ; Allow errors to be exposed
+    !include "${XPUI_SYSDIR}\Skins\${XPUI_SKIN}.xpuiskin"
+    !verbose pop
+    !endif
+  !endif
+
+!ifdef XPUI_FASTERSKINNING
+  !insertmacro XPUI_DEFAULT XPUI_INTERNAL_INTERFACE_INSERTED ""
+  !insertmacro XPUI_INTERFACE
+!endif
+
+!verbose 4
+!ifndef XPUI_SILENT
+!echo `XPUI Processing Complete.$\n$\n`
+!endif ;XPUI_SILENT
+!verbose pop
+!endif ;XPUI_INCLUDED
Binary file Contrib/Graphics/Icons/XPUI-install.ico has changed
Binary file Contrib/Graphics/Icons/XPUI-uninstall.ico has changed
Binary file Docs/ExperienceUI/Images/ScreenShot1.png has changed
Binary file Docs/ExperienceUI/Images/ScreenShot2.png has changed
Binary file Docs/ExperienceUI/Images/XPUILogo.png has changed
Binary file Docs/ExperienceUI/Images/link.gif has changed
Binary file Docs/ExperienceUI/Images/minus.gif has changed
Binary file Docs/ExperienceUI/Images/nsis.gif has changed
Binary file Docs/ExperienceUI/Images/plus.gif has changed
Binary file Docs/ExperienceUI/Images/sourceforge.gif has changed
Binary file Docs/ExperienceUI/Images/spacer.gif has changed
Binary file Docs/ExperienceUI/help.ico has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/index.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
+    <title>ExperienceUI Documentation</title>
+    
+    <script type="text/javascript">
+    <!--
+      var params=new Object();var aParams=document.location.search.substr(1).split('&');for (i=0;i<aParams.length;i++) {var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];params[sParamName]=sParamValue;}
+    
+    function on(img) {
+      document.getElementById(img).src="pages/browser/"+img+"_o.bmp"
+    }
+    
+    function off(img) {
+      document.getElementById(img).src="pages/browser/"+img+".bmp"
+    }
+                                                                    
+    function checkUrl() {
+      if(params['start']) {
+        document.getElementById("content").src="pages/"+unescape(params['start']);
+      }
+    }
+    
+    function ht() {
+      document.getElementById("tb").style.display = "none";
+      document.getElementById("tb_h").style.display = "block";
+      document.getElementById("tb_h").align = "center";
+      document.getElementById("tree").width = "22";
+      document.getElementById("treeframe").style.display = "none";
+    }
+    
+    function st() {
+      document.getElementById("tb").style.display = "block";
+      document.getElementById("tb_h").style.display = "none";
+      document.getElementById("tree").width = "25%";
+      document.getElementById("treeframe").style.display = "block";
+    }
+    
+    function getHeight() {
+        var myHeight = 0;
+        if( typeof( window.innerWidth ) == 'number' ) {
+          myHeight = window.innerHeight;
+        } else if( document.documentElement &&
+            ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
+          myHeight = document.documentElement.clientHeight;
+        } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
+          myHeight = document.body.clientHeight;
+        }
+        return myHeight;
+      }
+      
+      function initPage() {
+        document.getElementById("iewarn").style.display = "none";
+        document.getElementById("body").style.display = "block";
+      }
+    
+    // -->
+    
+    </script>
+    
+    <style type="text/css">
+    
+      .version {
+        font-family: Verdana;
+        font-size: 8pt;
+        text-decoration: none;
+        color: #000000;
+        background-color: #C0D0E0;
+        border-left: #E4E4FF 1px solid;
+        border-top: #E4E4FF 1px solid;
+        border-right: #E4E4FF 1px solid;
+        border-bottom: #E4E4FF 1px solid;
+        padding-left: 10px;
+        padding-right: 10px;
+        PADDING-BOTTOM: 10px;
+        PADDING-TOP: 10px;
+        width: 118px;
+      }
+    
+    </style>
+    
+  </head>
+  
+  <body bgcolor="#456798" style="margin:0px;padding:0px;" onload="checkUrl();initPage();">
+  
+    <table id=iewarn width="70%" border="0" style="color: #FFFFFF; margin-top: 100px;" align="center">
+      <tr>
+        <td>
+          <font face="Verdana">
+            <font size="5">Internet Explorer's security is too high</font><br />
+            <br />
+            <font size="2">Internet Explorer's new security settings, added in Service Pack 2, are preventing the ExperienceUI documentation from properly displaying.  To allow this page to run once, click the Information Bar at the top of the window and click "Allow blocked content...."<br />
+            <br />(recommended) To allow this documentation to run permanently:<br />
+            <br />
+            <b>Note: In rare cases, the procedure below may severely compromise your system's security.  The chances of a problem are rare, however, because all that you are doing is allowing JavaScript code to run on HTML pages on your computer.</b>
+            <ol>
+              <li>Open up Control Panel</li>
+              <li>Double-click Internet Options</li>
+              <li>Click the Advanced tab in the Internet Properties window</li>
+              <li>Scroll down to "Security"</li>
+              <li>Make sure that the second item under "Security", "Allow active content to run in files on my computer", is checked</li>
+              <li>Click OK</li>
+              <li><a style="color: #9090FF" href="index.htm">Reload this page</a></li>
+            </ol></font>
+          </font>
+        </td>
+      </tr>
+    </table>
+  
+    <div id=body style="display: none">
+  
+    <script type="text/javascript">var header='%3Ctable cellspacing=0 id=header border=0 width=100% style="height:100px"%3E%3Ctr height=100%3E%3Ctd%3E%3Cdiv style="position:absolute;left:7px;top:20px"%3E%3Cfont face=Verdana size=7 color="#A0B0F0"%3EExperienceUI%3C\/font%3E%3C\/div%3E%3Cdiv style="position:absolute;left:120px;top:50px"%3E%3Cfont face=Verdana size=6 color="#FFFFFF"%3EDocumentation%3C\/font%3E%3C\/div%3E%3C\/td%3E%3Ctd align=right style="padding-right:10px"%3E%3Cdiv class=version align=center%3E%3Cb%3EVersion:%3C\/b%3E%3Cbr%3E1.11 <!-- <font color=#700000>beta<\/font> --> %3C\/div%3E%3C\/td%3E%3C\/tr%3E%3C\/table%3E';if(params['banner']!="no"){document.write(unescape(header));}</script>
+  
+    <table id=maintable border=0 width="100%" cellspacing=0>
+      
+      <tr style="height:16px">
+      
+        <td bgcolor="#B0B0B0" colspan=2 width="1%" style="padding-top:6px;padding-left:4px;">
+        
+        <script type="text/javascript">
+          function res1() {
+          var ht=getHeight();
+          if(params['banner']!="no") {
+            ht=ht-150
+            ht=parseInt(ht);
+          }
+          document.getElementById("maintable").style.height=ht+"px";
+          }
+        </script>
+	
+	  <div id=tb>
+          <a href="javascript:history.back(1)" target=content><img border=0 alt=Back src=pages/browser/back.bmp id=back onmouseup="on('back')" onmousedown="off('back')" onmouseover="on('back')" onmouseout="off('back')"></a>
+          <a href="javascript:history.forward(1)" target=content><img border=0 alt=Forward src=pages/browser/forward.bmp id=forward onmouseup="on('forward')" onmousedown="off('forward')" onmouseover="on('forward')" onmouseout="off('forward')"></a>
+          <a href="javascript:location.reload()" target=content><img border=0 alt=Refresh src=pages/browser/refresh.bmp id=refresh onmouseup="on('refresh')" onmousedown="off('refresh')" onmouseover="on('refresh')" onmouseout="off('refresh')"></a>
+          <a href="pages/welcome.htm" target=content><img border=0 alt=Home src=pages/browser/home.bmp id=home onmouseup="on('home')" onmousedown="off('home')" onmouseover="on('home')" onmouseout="off('home')"></a>
+	  &nbsp;&nbsp;
+	  <a href="javascript:ht();"><img border=0 alt="Hide Navigation Tree" src=pages/browser/hide.bmp id=hide onmouseup="on('hide')" onmousedown="off('hide')" onmouseover="on('hide')" onmouseout="off('hide')"></a>
+	  </div>
+	  
+	  <div id=tb_h style=display:none>
+	  <a href="javascript:st();"><img border=0 alt="Show Navigation Tree" src=pages/browser/go.bmp id=go onmouseup="on('go')" onmousedown="off('go')" onmouseover="on('go')" onmouseout="off('go')"></a>
+	  </div>
+	  
+	</td>
+	
+        <td id=maintd rowspan=2 width="83%" valign=top style="margin: 0px; padding: 0px" bgcolor="#FFFFFF">
+          <iframe id=content name=content src="pages/welcome.htm" width="100%" frameborder=0>
+          </iframe>
+          
+          <script type="text/javascript">
+            function res2() {
+            var ht=getHeight();
+            if(params['banner']!="no") {
+              ht=ht-110;
+              ht=parseInt(ht);
+            } else {
+              ht=ht-10;
+            }
+            document.getElementById("content").style.height=ht+"px";
+            document.getElementById("maintd").style.height=ht+"px";
+            }
+          </script>
+          
+        </td>
+	
+      </tr>
+    
+      <tr>
+      
+        <td id=tree width="25%" bgcolor="#FFFFFF" style="border-right: 1px solid #456798">
+          <iframe id=treeframe src="toc.htm" width="100%" height="100%" frameborder=0>
+            ERROR: Your browser doesn't handle in-line frames.  Please upgrade.
+          </iframe>
+          
+          <script type="text/javascript">
+            function res3() {
+            var ht=getHeight();
+            if(params['banner']!="no") {
+              ht=ht-148;
+            } else {
+              ht=ht-43;
+            }
+            //document.getElementById("treeframe").style.height=ht+"px";
+            document.getElementById("tree").style.height=ht+"px";
+            }
+            function res(){res1();res2();res3();}
+            window.onresize=res;
+            res();
+          </script>
+          
+        </td>
+        
+      </tr>
+      
+    </table>
+    
+    </div>
+  
+  </body>
+  
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/open_popup.hta	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,20 @@
+<script>
+function PopupWin(vName,vLink,vWidth,vHeight,vLeft,vTop,vScrollbar,vResizable)
+{
+var para = '';
+if(vWidth!=0)
+{para += ',width=' + vWidth;}
+if(vHeight!=0)
+{para += ',height=' + vHeight;}
+if(vLeft!=0)
+{para += ',left=' + vLeft;}
+if(vTop!=0)
+{para += ',top=' + vTop;}
+if(vScrollbar!=0)
+{para += ',scrollbars=' + vScrollbar;}
+if(vResizable!=0)
+{para += ',resizable=' + vResizable;}
+window.open(vLink ,vName,'toolbar=0,menubar=0,location=0,directories=0,status=0' + para) 
+}
+PopupWin('readme', 'index.htm', 800, 600, 0, 0, 1, 1);self.close();</script>
+<html><body style=margin:0px;padding:0px><iframe src=index.htm width=100% height=100% frameborder=0></iframe></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/browser.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,208 @@
+<html>
+  <head>
+    <title>ExperienceUI Browser</title>
+
+    <style type="text/css">
+      body
+      {
+      padding: 10px;
+      background-color: #000000;
+      font-size: 13px;
+      font-family: Verdana, Tahoma, Segoe UI, Arial, Helvetica, sans-serif;
+      font-weight: normal;
+      text-align: left;
+      scrollbar-face-color:#EA7500;
+      scrollbar-highlight-color:#FF9520;
+      scrollbar-3dlight-color:#FFFFFF;
+      scrollbar-darkshadow-color:#000000;
+      scrollbar-shadow-color:#0A2254;
+      scrollbar-arrow-color:#FFFFFF;
+      scrollbar-track-color:#1C3977;
+      }
+      
+      p, li
+      {
+      font-size: 8pt;
+      }
+
+      .footer
+      {
+      font-size: 10px;
+      text-align: right;
+      color: #909090;
+      margin: 5px;
+      font-family: verdana, sans-serif;
+      }
+      a:link, a:visited, a:active
+      {
+      color: #294F75;
+      text-decoration: none;
+      }
+      
+      a:hover
+      {
+      color: #E76400;
+      text-decoration: none;
+      }
+      
+      toptext  {
+      font-size : 28pt;
+      font-family : Verdana;
+      font-weight : bold;
+      color : #004687;
+      line-height : 100%;
+      filter: shadow(color=#808080, direction=115, strength=4); height: 40px; width: 100%; color: FFFFFF;
+      }
+    </style>
+    
+    <script type=text/javascript>
+    
+    var params=new Object();
+    var aParams=document.location.search.substr(1).split('&');
+    for (i=0;i<aParams.length;i++) {
+      var aParam=aParams[i].split('=');
+      var sParamName=aParam[0];
+      var sParamValue=aParam[1];
+      params[sParamName]=sParamValue;
+    }
+    
+    function goHome() {document.getElementById('main_frame').src='welcome.htm';}
+    
+    function on(img) {
+      document.getElementById(img).src="browser/"+img+"_o.bmp"
+    }
+    
+    function off(img) {
+      document.getElementById(img).src="browser/"+img+".bmp"
+    }
+    
+    function url(location) {
+      document.getElementById('main_frame').src=unescape(location);
+      document.getElementById("adrbar").value=unescape(location);
+    }
+    
+    function checkURL() {
+    
+    if(params['url']) {
+      if(params['url']=="http://xpui.sourceforge.net/index.php") {
+        if(params['sec']) {
+          url(params['url']+'?sec='+params['sec']);
+          document.getElementById("adrbar").value=params['url']+'?sec='+params['sec'];
+        } else {
+          url(params['url']);
+        }
+      } else {
+      url(params['url']);
+      }
+    }
+    }
+    
+      function exit() {
+        // function for returning to the page from which this came
+        // This is the base URL
+        var url="../index.htm"
+        // separator; value is "?" (first param) or "&" (later params)
+        var sep="?";
+        if(params['return']) {
+          // we do have a url to return to
+          url=url+sep+"start="+params['return'];
+          sep="&";
+        } // else: no URL to return to...
+        
+        // show title banner at top of index.htm?  This option is used by the ExperienceUI website to hide the title area
+        // and make more room for content
+        if(params['banner']) {
+          url=url+sep+"banner="+params['banner'];
+          sep="&";
+        }
+        // for debugging
+        // alert("Returning to: "+url);
+        // end url creation
+        
+        // decide whether to manipulate just current frame or parent window
+        if(params['parent']) {
+          parent.window.location=url;
+        } else {
+          window.location=url;
+        }
+      }
+      
+      function returnTo(page) {
+        // function for returning to the page from which this came
+        // This is the base URL
+        var url="../index.htm"
+        // separator; value is "?" (first param) or "&" (later params)
+        var sep="?";
+        if(page) {
+          // we do have a url to return to
+          url=url+sep+"start="+page;
+          sep="&";
+        } // else: no URL to return to...
+        
+        // show title banner at top of index.htm?  This option is used by the ExperienceUI website to hide the title area
+        // and make more room for content
+        if(params['banner']) {
+          url=url+sep+"banner="+params['banner'];
+          sep="&";
+        }
+        // for debugging
+        // alert("Returning to: "+url);
+        // end url creation
+        
+        // decide whether to manipulate just current frame or parent window
+        if(params['parent']) {
+          parent.window.location=url;
+        } else {
+          window.location=url;
+        }
+      }
+  </script>
+    
+  </head>
+  
+  <body bgcolor="#B0B0B0" style="background-color:#FFFFFF;margin:0px;padding:0px" onload=checkURL();>
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr height=22>
+      
+        <td bgcolor=#B0B0B0 valign=middle unselectable=on>
+          <form action="javascript:url(document.getElementById('adrbar').value)">
+          <a href="javascript:exit();"><img border=0 alt=Exit src=browser/exit.bmp id=exit onmouseup="on('exit')" onmousedown="off('exit')" onmouseover="on('exit')" onmouseout="off('exit')"></a>
+          <a href="javascript:history.back(1)" target=main_frame><img border=0 alt=Back src=browser/back.bmp id=back onmouseup="on('back')" onmousedown="off('back')" onmouseover="on('back')" onmouseout="off('back')"></a>
+          <a href="javascript:history.forward(1)" target=main_frame><img border=0 alt=Forward src=browser/forward.bmp id=forward onmouseup="on('forward')" onmousedown="off('forward')" onmouseover="on('forward')" onmouseout="off('forward')"></a>
+          <a href="javascript:location.reload()" target=main_frame><img border=0 alt=Refresh src=browser/refresh.bmp id=refresh onmouseup="on('refresh')" onmousedown="off('refresh')" onmouseover="on('refresh')" onmouseout="off('refresh')"></a>
+          <a href="javascript:url('http://xpui.sourceforge.net')"><img border=0 alt=Home src=browser/home.bmp id=home onmouseup="on('home')" onmousedown="off('home')" onmouseover="on('home')" onmouseout="off('home')"></a>
+          <input type=text id=adrbar value="about:blank" style=width:500px>
+          <a href="javascript:url(document.getElementById('adrbar').value)"><img border=0 alt=Go src=browser/go.bmp id=go onmouseup="on('go')" onmousedown="off('go')" onmouseover="on('go')" onmouseout="off('go')"></a>
+          </form>
+        </td>
+      
+      </tr>
+    
+      <tr>
+      
+        <td valign=top style=margin:0px;padding:0px bgcolor=#FFFFFF>
+        
+          <iframe src="about:blank" id=main_frame name=main_frame width=100% height=100% frameborder=0 onclick="document.getElementById('adrbar').value=this.src;">
+          </iframe>
+    
+        </td>          
+        
+      </tr>
+      
+      <tr height=16>
+      
+        <td valign=bottom style=margin:0px;padding:0px bgcolor=#B0B0B0>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href="javascript:returnTo('license_agreement.htm');" style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
Binary file Docs/ExperienceUI/pages/browser/back.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/back_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/exit.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/exit_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/forward.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/forward_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/go.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/go_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/hide.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/hide_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/home.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/home_o.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/refresh.bmp has changed
Binary file Docs/ExperienceUI/pages/browser/refresh_o.bmp has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/build_setup.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,46 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Building the ExperienceUI</h1>
+	
+	  <p style=margin-left:0.2in>
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	  Creating a custom package of the ExperienceUI is easy; just compile the XPUI-Setup.nsi file in the &lt;NSIS&gt;\Contrib\ExperienceUI folder.
+          To rebuild the installer, you will need <a href="#" onclick="var parentparams=new Object();var aParams=parent.window.location.search.substr(1).split('&');for (i=0;i<aParams.length;i++) {var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];parentparams[sParamName]=sParamValue};if(parentparams['banner']=='no'){parent.window.location='browser.htm?url=http://xpui.sf.net/compmgr&banner=no'}else{parent.window.location='browser.htm?url=http://xpui.sf.net/compmgr'};">Component Manager.</a><br>
+	  <br>
+	  If you want to compile a custom distro, that's fine, just obey the license agreement.  Heck, a whole lot of people have done that
+	  with Linux, so it's okay by me to put together a custom ExperienceUI distribution, just give credit where credit is due.  Also, if
+          you compile a custom distro, you <i>must</i> include this notice and the license agreement.
+	  </font>
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/changes.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,37 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Page no longer used</h1>
+          
+          <p style="margin-left:0.2in">This page is no longer used.  For recent changes, see the <a href=history.htm>Version History</a>.
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/cmd.js	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,7 @@
+function define(name, params, desc, def) {
+  document.write("<p style=margin-left:0.2in><b>"+name+"</b> <font color=#294F75><i>"+params+"</i></font><p style=margin-left:0.4in>"+desc+"<br><i>Default: "+def+"</i></p>");
+}
+
+function macro(name, params, desc) {
+  document.write("<p style=margin-left:0.2in><b>"+name+"</b> <font color=#294F75><i>"+params+"</i></font><p style=margin-left:0.4in>"+desc+"</p>");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/custfunc.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,49 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Using custom page/GUI functions</h1>
+
+	  <p style=margin-left:0.2in>
+	  <m2><b>XPUI_CUSTOMFUNCTION_GUIINIT</b> <font color=#294F75>myFunction</font> - Define this to call custom function "myFunction" during the installer's GUI initialization.</m2><br>
+	  <br>
+	  <m2><b>XPUI_CUSTOMFUNCTION_GUIEND</b> <font color=#294F75>myFunction</font> - Define this to call custom function "myFunction" during the installer's GUI de-initialization.  Use this to unload any plugins you have and delete any temporary files that you dumped on to the user's hard drive.</m2><br>
+	  <br>
+	  <m2><b>XPUI_PAGE_CUSTOMFUNCTION_PRE</b> <font color=#294F75>myFunction</font> - Call function "myFunction" during the early initialization of an installer page.</m2><br>
+	  <br>
+	  <m2><b>XPUI_PAGE_CUSTOMFUNCTION_SHOW</b> <font color=#294F75>myFunction</font> - Call function "myFunction" right before an installer page shows.</m2><br>
+	  <br>
+	  <m2><b>XPUI_PAGE_CUSTOMFUNCTION_LEAVE</b> <font color=#294F75>myFunction</font> - Call function "myFunction" while an installer page is unloading.</m2><br>
+	  <br>
+	  <b>NOTE:</b> After defining the XPUI_PAGE_CUSTOMFUNCTION symbols, insert the page of your choice, and that will be the page that calls your custom functions.  You will need to define the CUSTOMFUNCTION symbols for every page that you want a custom function for.
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/gui_macros.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,47 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>GUI manipulation macros</h1>
+	  
+	  <font face=Verdana style=font-size:8pt>
+	  
+	    <p style=margin-left:0.2in>
+	    
+	      <b>XPUI_FUNCTION_GUIINIT</b> - <font color=#FF0000><b>DEPRECATED</b></font> - You should not insert this macro anymore, as it is inserted automatically now.  In pre-1.1M2 versions of the ExperienceUI, this macro initialized the visual style on the installer.<br>
+	      <br>
+	      <b>XPUI_HEADER_TEXT</b> <font color=#294F75>header_text header_subtext</font> - Sets the text on the installer header to whatever you specify.
+	    
+	    </p>
+	  
+	  </font>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/history.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,284 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script language="JavaScript" type="text/javascript">
+      var parentparams=new Object();var aParams=parent.window.location.search.substr(1).split('&');for (i=0;i<aParams.length;i++) {var aParam=aParams[i].split('=');var sParamName=aParam[0];var sParamValue=aParam[1];parentparams[sParamName]=sParamValue;}
+      
+      function url(uri) {
+        target="browser.htm?url="+uri+"&return=history.htm";
+        if(parentparams['banner']) {
+          target+="&banner=no"
+        }
+        parent.window.location=target;
+      }
+    </script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF" style="margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <p style="margin-left: 0.00in">
+          
+            <h1>Version History</h1>
+            
+              <h2 style=margin-left:0.2in>1.11</h2>
+            
+              <font face=Verdana style=font-size:8pt color=#000000>
+              <ul style=margin-left:0.60in>
+                <li>Completely rewrote skinning engine to work faster and more efficiently</li>
+                <li>Added ${Page} command</li>
+                <li>Revised documentation <acronym title="Table of Contents">TOC</acronym> to be more human readable</li>
+                <li>Removed control 1005 on all dialogs; now using the FindWindow and SetCtlColors commands to skin dialog backgrounds</li>
+                <li>Entire window can now use a single bitmap instead of three different ones (~6k bigger but easier to design; also allows for bitmap behind main page area)</li>
+                <li>Made the compiler issue an error when language files are inserted after pages because this would cause serious errors with "unnamed" LangStrings and whatnot.
+                <li>Changed behavior of interface insertion</li>
+                <li>Made the icon(s) have a more "glassy" look</li>
+                <li>Fixed many bugs that were introduced in 1.1</li>
+              </ul>
+              </font>
+              
+              <h2 style=margin-left:0.2in>1.1</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+                <li>Support for Modern UI, UltraModernUI, and InstallSpider UI scripts</li>
+                <li>WAnsis-compatible skinning system</li>
+                <li>InstallOptions Automization</li>
+                <li>Abort Warnings</li>
+                <li>Language selection page</li>
+                <li>Modern UI language file support</li>
+                <li>Right-to-left language support</li><br><br>
+              </ul>
+              </font>
+              </p>
+              
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Changed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+                <li>XPUI.nsh is now a single file again, instead of "Components" folder</li>
+                <li>Left Logo size change: new recommended size is 240x349px.</li>
+                <li>Documentation has less bloat and more float</li><br><br>
+              </ul>
+              </font>
+              </p>
+              
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Fixed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+                <li>Fixed a nasty bug on the Components page that caused the tree view to be blacked out when a SectionGroup was expanded and multiple InstTypes were used &ndash; see <a href="javascript:url(escape('http://xpui.sourceforge.net/forum/viewtopic.php?t=14'));">this forum thread</a> for more information.</li>
+              </ul>
+              </font>
+              </p>
+            
+              <h2 style=margin-left:0.2in>1.08</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>Nav Bar, Tutorial, and Dynamic Browser in readme</li>
+              <li>New Left Logo by ZmAn3</li>
+              <li>The "Left Branding Image" is now the "Left Logo"</li>
+              <li>Various readme layout changes</li><br><br>
+              </ul>
+              </font>
+              </p>
+              
+              <h2 style=margin-left:0.2in>1.07</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Fixed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>Start Menu Page: Page did not show when the user clicked "Back"</li>
+              <li>Installation wizard: various bugs were fixed</li>
+              <li>Finish Page: Link did not work in the uninstaller</a><br><br>
+              </li>
+              </ul>
+              </font>
+              </p>
+              
+              <h2 style=margin-left:0.2in>1.06</h2>
+              
+              <p style="margin-left: 0.20in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              <b>Note:</b> A new version "1.06b" was released shortly after 1.06 (3 hours later); this update contained a new automatic download wizard.
+              </font>
+              </p>
+              
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br>
+              <br>
+              <ul style=margin-left:0.60in>
+              <li>Update Wizard</li>
+              <li>Finish Page</li>
+              </ul>
+              <p style="margin-left: 0.40in">
+              Changed:<br>
+              <br>
+              <ul style=margin-left:0.60in>
+              <li>XPUI.nsh script structure: there is now a "Components" folder in which all of the ExperienceUI's code is (easier editing for me <font face=Wingdings>J</font>)
+              </ul>
+              </font>
+              </p>
+              
+              <h2 style=margin-left:0.2in>1.05</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>Start Menu Page<br>
+              <li>Abort Page</a><br><br>
+              </li>
+              </ul>
+              <p style="margin-left: 0.40in">
+              Changed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>README REDONE (YAY!)</li>
+              <li>The readme will always be done by hand from now on; harder to edit, easier to understand</li>
+              <li>Installers finally delete temp files automatically</li>
+              </ul>
+              <p style="margin-left: 0.40in">
+              Removed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>XPUI_TEMPFILES_DELETE - now integrated into .onGUIEnd</li>
+              </ul>
+              <p style="margin-left: 0.40in">
+              Fixed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>XPUI.NSH verbose bug</li>
+              </ul>
+              </font>
+              </p>
+              
+              <h2 style=margin-left:0.2in>1.04</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br>
+              <br>
+              <ul style=margin-left:0.60in>
+              <li><a>Multi-language support</a><br>
+              <li><a>Page-mode support</a>
+              </ul>
+              </font><br>
+              </p>
+              
+              <a name=history103 id=history103></a>
+              <h2 style=margin-left:0.2in>1.03</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Changed:<br><br>
+              <ul style=margin-left:0.60in>
+              <li>Readme and Setup MIDI pages: both are now HTA<br>
+              <li>More visual FX in the readme<br>
+              <li>Patching engine updates<br>
+              <li>Moved the "Patching System" section in the readme up above the Version History section<br>
+              </ul>
+              <br>
+              <p style="margin-left: 0.40in">
+              Fixed:<br>
+              </p>
+              <ul style=margin-left:0.60in>
+              <li>The NotifyIcon "bug" (yay!)<br>
+              <li>Internet Explorer kill bug (finally!) (fixed by killing mshta.exe instead :) )<br>
+              <li>The Internet Explorer Readme Compatibility bug<br>
+              <li>Various script bugfixes<br>
+              </ul>
+              </font><br>
+              </p>
+            
+              <h2 style=margin-left:0.2in>1.02</h2>
+            
+              <p style="margin-left: 0.40in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Added:<br><br>
+              <ul style=margin-left:0.60in>
+              <li>Patch/Skin Installing Engine<br>
+              <li>Visual FX on text.html section expand/collapse buttons<br>
+              </ul>
+              <br>
+              <p style="margin-left: 0.40in">
+              Fixed:<br></p>
+              <ul style=margin-left:0.60in>
+              <li>Some LeftBranding Images<br>
+              <li>XPUI.NSH Updates<br>
+              </ul>
+              </font><br>
+              </p>
+            
+              <h2 style=margin-left:0.2in>1.01</h2>
+            
+              <p style="margin-left: 0.20in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              <p style="margin-left: 0.40in">
+              Added:<br></p>
+              <ul style=margin-left:0.60in>
+              <li>Reserve File Macros<br>
+              <li>Delete File Macros<br>
+              <li>Header File Bugfixes<br>
+              <li>Faster Installer<br>
+              <li>The version history list you're reading right now
+              </ul>
+              </font><br>
+              </p>
+            
+              <h2 style=margin-left:0.2in>1.00</h2>
+            
+              <p style="margin-left: 0.20in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Initial Release. Features:<br>
+              <br>
+              <ul style=margin-left:0.60in>
+              <li><b>Very</b> small overhead<br>
+              <li>4 skins (Base, Windows XP, Orange, and Modern-Blue)<br>
+              <li>New pages the the Modern UI simply doesn't have (unless you write them yourself)<br>
+              <li>Left info panel that can show time remaining, messages, you name it!<br>
+              <li>Awesome header image effects<br>
+              <li>Extremely flexible skin support<br>
+              <li>Much, <b>much</b> more
+              </ul>
+              </font>
+              </p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/intro.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,115 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>ExperienceUI for NSIS</h1>
+          
+            <p style=margin-left:0.2in>
+            
+              <font face=Verdana style=font-size:8pt>
+              
+                <b>Welcome to the ExperienceUI.</b><br>
+                </p>
+                <p style=margin-left:0.4in>
+                The ExperienceUI is a new user interface for NSIS that looks like
+                the latest and greatest InstallShield® setups.  The ExperienceUI supports
+                skinning the main installer window with several new picture areas,
+                and it also adds a few features to NSIS.<br>
+                <br>
+                You may think that because of the graphical effects, the ExperienceUI
+                requires a lot more space.  If you think that, you're dead wrong.  A typical
+                InstallShield® installer requires 1.43MB.  Wait...if you still believe in
+                floppy disks, you definitely don't use InstallShield to install your programs,
+                unless they're under 1KB...not likely.  An ExperienceUI-based installer, with
+                Welcome, License, Components, Directory, Install Confirm, File Copy, and Finish
+                pages, uses 90.9KB of space.  That's under 1/10th of an identical InstallShield®
+                installer, except this one is faster, smarter, and much more friendly to dial-up
+                users.<br>
+                <br>
+                One of the biggest features of the ExperienceUI is the information panel
+                on the left side of the installer window.  Every version of Windows Setup since 98
+                has a counter on the left side of the screen that shows an estimated count of how
+                much time it will be until Setup completes.  With the ExperienceUI, this info panel
+                can be blank, it can show an "estimated time remaining" window, and it can display
+                interactive notifications.<br>
+                <br>
+                All this can be accomplished with code that has already been written (and rewritten)
+                for you, so using the ExperienceUI requires very little programming experience.<br>
+                <br>
+                The ExperienceUI also resembles the Modern UI in the way of the symbol
+                defining method, except many of the defines are shortened, others are
+                eliminated, and many new ones have been added. Also, the ExperienceUI has
+                multi-language support that is largely based on the Modern UI's multi-language system.
+                </p>
+                
+                <a name=why id=why></a>
+                
+                <p style=margin-left:0.2in>
+                  <b>Why it was created</b>
+                </p>
+                
+                <p style=margin-left:0.4in>
+                <font face=Verdana style=font-size:8pt>
+                Simply put, I created the ExperienceUI because NSIS needed a makeover.  The classic NSIS look works for Winamp plugins,
+                but what about when you need to create an installer for your user experience-aimed firewall?  The Modern UI provided many
+                visual enhancements for NSIS, but it was still missing something.<br>
+                <br>
+                I was upgrading the drivers for my NVIDIA video card one day, and I noticed that the installer used a fully skinned UI.
+                I thought to myself, "If InstallShield can look this good, NSIS can certainly look better."  So, I set to work.<br>
+                <br>
+                At first, I modified the Modern UI.  While this made scripts very easily portable, my new InstallShield-style user interface
+                seemed limited because I had started with a skinning system that did not support skinning the entire installer window.
+                Finally, I decided that I had to re-write NSIS's idea of skinning completely.  The first few tests proved to be cool, but
+                there were still improvements to be made.  After a lot of hard work, the InstallShield UI for NSIS (as it was called back
+                then) was ready for release.<br>
+                <br>
+                I posted my new UI on the forums, and within 3 hours I received replies saying, "For the design and implementation, I give
+                you 10/10! This is truly amazing!" (Afrow UK)  There was a lot of work still to be done, but the first release had done its
+                job and then some.<br>
+                <br>
+                Because of copyright concerns (using "InstallShield" in the product title) I decided to rename the whole thing to the
+                ExperienceUI for NSIS.  I named it the ExperienceUI because it aims to redefine user experience and make software 
+                installation lose its bad reputation as slow and often unsuccessful.<br>
+                <br>
+                Today, the ExperienceUI is a complete user experience solution, with support for multiple languages and extremely easy
+                implementation.  It includes a language selection page, native support for Saivert's WAnsis skinning plugin, and other
+                enhancements too numerous to name here.  All that, and it's open source.<br>
+                <br>
+                For a complete list of features included with the basic ExperienceUI package,
+                <a href="javascript:parent.window.location='browser.htm?url=http://xpui.sourceforge.net/index.php&sec=about&return=intro.htm%23why'">click here</a>.  <font size=1>(Internet connection
+                required)</font>
+                </p>
+                
+              </font>
+            
+            </p>
+            
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/io.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,155 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    
+    <script type=text/javascript>
+    
+      function expand(sec) {
+      
+        if(document.getElementById(sec+"_d").style.display=="none") {
+	  document.getElementById(sec+"_d").style.display="block";
+	  document.getElementById(sec+"_i").src="../Images/minus.gif";
+	} else {
+	  document.getElementById(sec+"_d").style.display="none";
+	  document.getElementById(sec+"_i").src="../Images/plus.gif";
+	}
+      
+      }
+      
+      var parentparams=new Object();
+      var aParams=parent.window.location.search.substr(1).split('&');
+      for (i=0;i<aParams.length;i++) {
+        var aParam=aParams[i].split('=');
+        var sParamName=aParam[0];
+        var sParamValue=aParam[1];
+        parentparams[sParamName]=sParamValue;
+      }
+      
+      function goioDocs() {
+        if(parentparams['banner']) {
+          parent.window.location="browser.htm?return=io.htm&url=%2E%2E%2F%2E%2E%2FInstallOptions/Readme.html&banner="+parentparams['banner'];
+        } else {
+          parent.window.location="browser.htm?return=io.htm&url=%2E%2E%2F%2E%2E%2FInstallOptions/Readme.html";
+        }
+      }
+    
+    </script>
+    
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Create custom pages</h1>
+	  
+	  <p style="margin-left:0.2in">
+	  
+	    <font face=Verdana style=font-size:8pt>
+	    
+	      <b>You can create custom pages with the ExperienceUI.</b>  The new plugin system, introduced in NSIS 2.0, allows insertion of
+	      custom pages at any point in the installer.  If you can't find a page that does what you need it to do, you can write a
+	      custom page using <a href="javascript:goioDocs();">InstallOptions</a> and use the ExperienceUI to extract and call it.<br>
+	      <br>
+	      Creating a custom ExperienceUI page takes even less effort than writing the NSIS code to display it yourself.  See the macros
+	      below for more information.
+	      
+	    </font>
+	      
+	  </p>
+	  
+	  <h1>InstallOptions Macros</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	    <font face=Verdana style=font-size:8pt>
+	    
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_EXTRACT</b> <font color=#294F75><i>ini_file</i></font><p style=margin-left:0.4in>Extracts the INI file "ini_file" to the plugins directory.  This enables the file to be initialized by the ExperienceUI.</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_EXTRACT_AS</b> <font color=#294F75><i>old_ini new_ini</i></font><p style=margin-left:0.4in>Extracts "old_ini" to the plugins directory as "new_ini".</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_DISPLAY</b> <font color=#294F75><i>ini_file</i></font><p style=margin-left:0.4in>Shows the custom InstallOptions page in "ini_file" in the installer window.  If you need a handle for the dialog, it is stored in $XPUI_HWND.  When you call this, all of the dialog controls are automatically skinned.</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_INITDIALOG</b> <font color=#294F75><i>ini_file</i></font><p style=margin-left:0.4in>Initializes InstallOptions by creating the dialog in "ini_file", but does not show the window.  When you call this, all of the dialog controls are automatically skinned.  Just like a regular InstallOptions call, either the window handle or an error string will be returned on the top of the stack.</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_SHOW</b> <font color=#294F75><i></i></font><p style=margin-left:0.4in>Shows the dialog initialized with XPUI_INSTALLOPTIONS_INITDIALOG.  Not anything more than a glorified "InstallOptions::show".</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_READ</b> <font color=#294F75><i>$VAR "ini.file" "INI Section" Value</i></font><p style=margin-left:0.4in>Reads value "Value" from section "INI Section" in INI file "ini.file" into $VAR.</p>
+	      <p style=margin-left:0.2in><b>XPUI_INSTALLOPTIONS_WRITE</b> <font color=#294F75><i>"ini.file" "INI Section" ValueName String</i></font><p style=margin-left:0.4in>Sets value "ValueName" from section "INI Section" in file "ini.file" to "String".</p>
+	    
+	    </font>
+	  
+	  </p>
+	      
+	      
+	      <a href="javascript:expand('example');"><img src=../Images/plus.gif id=example_i border=0 width=9 height=9><font face=Verdana style=font-size:8pt>  Example Custom Page</font></a>
+	      
+	      <div id=example_d style=display:none;margin-left:0.2in>
+	       
+	        <h2 style=margin-left:0.2in>Example InstallOptions Page</h2>
+		
+
+<div style=margin-left:0.4in>
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-reservedword">Page</span><span class="nsis1-space"> </span><span class="nsis1-parameter">custom</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;init&quot;</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;verify&quot;
+
+</span><span class="nsis1-reservedword">Function</span><span class="nsis1-space"> init
+
+  </span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_INSTALLOPTIONS_EXTRACT </span><span class="nsis1-string">&quot;Custom.ini&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_INSTALLOPTIONS_DISPLAY </span><span class="nsis1-string">&quot;Custom.ini&quot;
+</span><span class="nsis1-space">  
+</span><span class="nsis1-reservedword">FunctionEnd
+
+Function</span><span class="nsis1-space"> Verify
+
+  </span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_INSTALLOPTIONS_READ </span><span class="nsis1-variable">$0</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Custom.ini&quot;</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Field 1&quot;</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;State&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-function">StrCmp</span><span class="nsis1-space"> </span><span class="nsis1-variable">$0</span><span class="nsis1-space"> </span><span class="nsis1-number">1</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;&quot;</span><span class="nsis1-space"> +</span><span class="nsis1-number">3
+</span><span class="nsis1-space">    </span><span class="nsis1-function">MessageBox</span><span class="nsis1-space"> </span><span class="nsis1-parameter">MB_OK</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Please uncheck the check box.&quot;
+</span><span class="nsis1-space">    </span><span class="nsis1-function">Abort
+
+FunctionEnd
+</span>
+<span class="nsis1-comment">; This is the InstallOptions INI
+</span>
+<span class="ini1-directive">[Settings]
+</span><span class="ini1-reservedword">NumFields</span><span class="ini1-parameter">=</span><span class="ini1-string">1
+
+</span><span class="ini1-directive">[Field 1]
+</span><span class="ini1-reservedword">Type</span><span class="ini1-parameter">=</span><span class="ini1-string">CheckBox
+</span><span class="ini1-reservedword">Text</span><span class="ini1-parameter">=</span><span class="ini1-string">Don't you dare check me...
+</span><span class="ini1-reservedword">Top</span><span class="ini1-parameter">=</span><span class="ini1-string">0
+</span><span class="ini1-reservedword">Left</span><span class="ini1-parameter">=</span><span class="ini1-string">0
+</span><span class="ini1-reservedword">Right</span><span class="ini1-parameter">=</span><span class="ini1-string">-1
+</span><span class="ini1-reservedword">Bottom</span><span class="ini1-parameter">=</span><span class="ini1-string">12
+</span></span>
+</code></pre>
+
+
+</div>
+
+	      
+	      </div>
+	      
+	    </font>
+	  
+	  </p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/lang.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,109 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    
+    <script type=text/JavaScript>
+    function printemail(email) {
+      var domain = "users.sourceforge.net";
+      document.write('<a href="mailto:' + email +'@users.sourceforge.net?subject=ExperienceUI comments">');
+      document.write(email +'@users.sourceforge.net</a>');
+    }
+    </script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+	
+	<h1>Multiple Languages</h1>
+    
+	<p style=margin-left:0.2in>
+	  
+	<font face=Verdana style=font-size:8pt color=#000000>
+          Since version 1.04, the ExperienceUI features support for multiple languages.  The platform is based on that of the Modern UI's
+          (Joost does it again!) with a few modifications to make it work with the XPUI.  To use multiple languges in your installer, simply
+          insert the XPUI_LANGUAGE macro, with 1 parameter, which should be the filename, minus the extension, of the language.
+          (ex: !insertmacro XPUI_LANGUAGE Spanish)<br>
+          <br>
+          To write a language file, you can follow the English language file included with the XPUI, and, if necessary, write an NLF (Nullsoft
+          Language File; the NSIS side of the XPUI multi-language system) and make sure that your .NSH file has the same name as the NLF
+          file.<br>
+          <br>
+	  </p>
+          
+          <h1>Translating the ExperienceUI</h1>
+          <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+          If you are fluent a language other than English, I would greatly appreciate it you would spend some time translating the ExperienceUI into your native language.  You can edit the strings in <code>&lt;NSIS&gt;\Contrib\ExperienceUI\Language Files\English.nsh</code>, and save them in a new file.  If you translate the ExperienceUI, I (and the many people that speak your native language) would sincerely appreciate it if you e-mail it to me.  <br>
+          <br>
+          Any language you can help with would be appreciated, but the languages I am looking for the most right now are Spanish, French, German, Chinese (Simplified and Traditional), Arabic, and Portuguese.  The ExperienceUI already has a Brazilian Portuguese translation, courtesy of Jenner Modesto.<br>
+          <br>
+          You can send translated language files to me at <script language=JavaScript>printemail('dandaman32');</script>.
+          </font></p>
+          
+	  <a name=cmd id=cmd></a>
+          
+	  <h1>Language Commands</h1>
+    
+	  <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+          <b>Macros</b><br>
+          <br>
+          <b>XPUI_LANGUAGE</b> <font color=#294F75>Langfile(no_ext)</font> - Adds a language to your installer.  Don't insert the same
+          language twice. (ex: <code>!insertmacro XPUI_LANGUAGE French</code>)<br>
+          <br>
+          <b>XPUI_LANGDLL_DISPLAY</b> <font face=#294F75></font> - Shows the language selection dialog.  Use this in .onInit.  This should
+          eventually be a page.<br>
+          <br>
+          <b>XPUI_LANGPAGE_DISPLAY</b> <font face=#294F75></font> - Insert this macro in your .onInit function to show a page that asks the user
+          which language to use.  At compile time, a custom EXE is built and any visual settings you use are carried over.  At runtime this
+          custom EXE is extracted and run.  If you insert this anywhere except in .onInit, the page will compile and show but the selected
+          language will not be changed because of limitations in NSIS.  To manually change settings with the language page, edit &lt;NSIS&gt;\Contrib\ExperienceUI\LangPage.nsi.
+          <b>Because of a bug in this page, you must only use languages that have 4-digit identifiers.  Most languages have 4-digit IDs, but a few
+          do not. The only known language that uses a 5-digit ID is currently Breton.  An example of a language with a 4-digit ID is English, whose
+          ID is 1033.</b><br>
+          <br>
+          <b>XPUI_UNGETLANGUAGE</b> - Retrieves the saved language from the user's Registry, and, if the language is invalid, asks the user
+          to select his/her preferred language.<br>
+          <br>
+          <b>Defines</b><br>
+          <br>
+            <p style="margin-left: 0.30in">
+            <b>XPUI_LANGDLL_REGISTRY_ROOT</b> <font color=#294F75>(HKCR|HKLM|HKCC|HKCU|HKU|HKDD)</font> - The registry root to store the user's
+            language preference in. (ex: HKLM)<br>
+            <br>
+            <b>XPUI_LANGDLL_REGISTRY_KEY</b> <font color=#294F75>My\Registry\Key</font> - The registry key to store the user's
+            language preference in. (ex: SOFTWARE\MyProgram\Setup)<br>
+            <br>
+            <b>XPUI_LANGDLL_REGISTRY_VALUE</b> <font color=#294F75>MyRegValue</font> - The registry value to store the user's
+            language preference in. (ex: LanguagePrefID)<br>
+            <br>
+          </font>
+	  </p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/legal.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,187 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    
+    <script type=text/javascript>
+      var parentparams=new Object();
+      var aParams=parent.window.location.search.substr(1).split('&');
+      for (i=0;i<aParams.length;i++) {
+        var aParam=aParams[i].split('=');
+        var sParamName=aParam[0];
+        var sParamValue=aParam[1];
+        parentparams[sParamName]=sParamValue;
+      }
+    </script>
+    
+    <script type=text/javascript>
+    
+      function loadBrowser(url) {
+        if(parentparams['banner']) {
+          parent.window.location="browser.htm?url="+url+"&return=legal.htm%23links&banner="+parentparams['banner'];
+        } else {
+          parent.window.location="browser.htm?url="+url+"&return=legal.htm%23links";
+        }
+      }
+    
+    </script>
+    
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+	  <h1>License Agreement</h1>
+	
+          <p style=margin-left:0.2in>
+	
+	  <font face="Trebuchet MS" style="font-size: 10pt"><strong>
+	  ExperienceUI for NSIS (Open Source)<br>
+	  License Agreement<br>
+	  Copyright &copy; 2004-2005 Dashboard Software Ltd.</strong></font><br>
+	  <br>
+	  <font face="Verdana" style="font-size: 8pt">
+	  This license applies to everything in the ExperienceUI package, except where otherwise noted.<br>
+	  <br>
+	  This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.<br>
+	  <br>
+	  Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:<br>
+	  <ol type=1>
+	  <li>The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgement in the product documentation would be appreciated but is not required.<br><br></li>
+	  <li>Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.<br><br></li>
+	  <li>This notice may not be removed or altered from any source distribution.<br><br></li>
+	  </ol>
+	  
+	  </p>
+	  
+	  <a name=ack id=ack></a>
+	  
+	  <h1>Acknowledgements</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	    The first person I would like to thank for this whole thing is Amir Szekely, aka KiCHiK.  He's done so much awesome work on NSIS,
+	    he's always got a great idea for a new feature, and, heck, he can code like crazy!<br>
+	    <br>
+	    I also want to thank Joost Verburg for writing the Modern UI, which is where I got the section descriptions, multi-language
+	    support, and the basic layout for the ExperienceUI page system.<br>
+	    <br>
+	    Of course, I want to say thanks to ZmAn3, who created the computer graphic (Left Logo) that is used by default in all ExperienceUI
+	    installers.<br>
+	    <br>
+	    Next on the list is MacroVision, for the inspiration to make this thing.  They've always got great ideas for us third-party
+	    imitators to copy.  InstallShield® might be slow, but if it didn't look so good, this text would probably be buried somewhere
+	    in the Modern UI readme right now.<br>
+	    <br>
+	    Finally, hats off to Afrow UK for hosting the download site until I could get something going.  Stu also wrote NSISArray, a custom
+      version of which is used in the Start Menu page.<br>
+	    <br>
+	    Windows is a registered trademark of Microsoft Corporation.<br> 
+	    InstallShield is a registered trademark of MacroVision, Inc.<br>
+	    WinZip is a registered trademark of WinZip Computing, Inc.
+	    
+	    </p>
+	    
+	  </font>
+	  
+	  <a name=copy id=copy></a>
+	  
+	  <h1>Copyright</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	  The ExperienceUI for NSIS is copyright &copy; 2004-2005 Dan Fuhry.  As stated in the license agreement, you are free to modify/distribute/make
+	  fun of this software as much as you want, and you can use it in your own software, but <i>please</i> don't tell everyone you wrote the original
+	  thing.  And, if you use the ExperienceUI in your own software, I would appreciate an acknowledgement in the documentation, but this
+	  is not required.
+	  </font>
+	  
+	  </p>
+          
+          <a name=trans id=trans></a>
+	  
+	  <h1>Translators</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	  I would like to take the time to personally thank each and every person that has assisted me in translating the ExperienceUI into
+          another language.  The list below is in alphabetical order<br>
+          <br>
+          <b>English (American):</b> Dan Fuhry<br>
+          <b>French:</b>  [d]évolution (<a href="mailto:edjy@iquebec.com">edjy@iquebec.com</a>)<br>
+          <b>German:</b> Matthias DuPont (Matze) (<a href="mailto:matze@gravure-hebdo.com">matze@gravure-hebdo.com</a>)<br>
+          <b>Portuguese (Brazilian):</b> Jenner Modesto (<a href="mailto:jennermodesto@gmail.com">jennermodesto@gmail.com</a>)<br>
+          <b>Spanish:</b> Matthias DuPont (Matze) (<a href="mailto:matze@gravure-hebdo.com">matze@gravure-hebdo.com</a>)<br>
+          
+          </font>
+	  
+	  </p>
+	  
+	  <a name=links id=links></a>
+	  
+	  <h1>Web Links</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	  I used the following software to create the ExperienceUI:<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://nsis.sourceforge.net')">NSIS</a></b> - Oh, NSIS where would we be without you? Probably using Inno Setup or InstallShield and wishing for a more flexible/faster
+	  scripting platform.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://hmne.sourceforge.net')">HM NIS Edit</a></b> - The best NSIS editor on the planet, hands down.  HMNE is great for beginners and advanced programmers alike,
+	  and it has an integrated compiler.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://www.jedit.org')">jEdit 4.2</a></b> - I used jEdit to create the page you're reading right now, and I would recommend it to any programmer that needs
+	  an editor with support for lots of languages.  jEdit saves open files, markers, and even caret positions when you close it, so
+	  you'll never be looking for where you left off again.  Make sure you have Java.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://www.knopper.net/knoppix')">KNOPPIX Linux</a></b> - I was on vacation and needed a laptop to keep up with my work, but the only one available didn't have a hard disk (go figure).  I simply popped my KNOPPIX LiveCD into the laptop and loaded my config from my USB pen drive, and I was good to go!  The download is 700MB, so make sure you have at least DSL, and preferably T1.  Oh, yeah, you can also buy a CD.  Like most Linux distros, you can't write to NTFS very well, so try to have a FAT or FAT32 partition to store shared files on.  I used the Kate editor to hand-modify this readme.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://www.aha-soft.com')">IconLover</a></b> - IconLover might be intended for use as an icon editor, but it's soooooo powerful...if you need an alternative
+	  to Paint (who doesn't?) this should be your first stop.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://www.gimp.org')">The GIMP</a></b> - If you haven't heard of this open-source alternative to Photoshop, you must be extremely new to the Internet.  I used the GIMP to create some of the more impressive images in the ExperienceUI.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://sourceforge.net')">SourceForge.net</a></b> - "Everybody loves SourceForge" is the best thing since Linux.  They'll host your open-source projects for absolutely free (open source coding doesn't exactly pay too well), and SourceForge provides you with all the admin tools you could possibly want.<br>
+	  <br>
+	  <b><a href="javascript:loadBrowser('http://www.opencube.com')">OpenCube Tree Menus</a></b> - The menu tree on the left of the window was based on code by OpenCube.<br>
+	  <br>
+	  <table align=center width=100% border=0><tr><td align=center>
+	  <a href="javascript:loadBrowser('http://sourceforge.net')"><img border=0 src=../Images/sourceforge.gif alt="Go to sourceforge.net"></a>
+	  </td><td align=center>
+	  <a href="javascript:loadBrowser('http://xpui.sourceforge.net')"><img border=0 src=../Images/XPUILogo.png alt="Go to the ExperienceUI Website"></a>
+	  </td></tr><tr><td colspan=2 align=center>
+	  <a href="javascript:loadBrowser('http://nsis.sourceforge.net')"><img border=0 src=../Images/nsis.gif alt="Go to the NSIS web site"></a>
+	  </td></tr></table>
+	  </font>
+	  
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=javascript:void(0) style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/license_agreement.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,50 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <font face="Trebuchet MS" style="font-size: 10pt"><strong>
+	  ExperienceUI for NSIS (Open Source)<br>
+	  License Agreement<br>
+	  Copyright &copy; 2004-2005 Dashboard Software Ltd.</strong></font><br>
+	  <br>
+	  <font face="Verdana" style="font-size: 8pt">
+	  This license applies to everything in the ExperienceUI package, except where otherwise noted.<br>
+	  <br>
+	  This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.<br>
+	  <br>
+	  Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:<br>
+	  <ol type=1>
+	  <li>The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgement in the product documentation would be appreciated but is not required.<br><br></li>
+	  <li>Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.<br><br></li>
+	  <li>This notice may not be removed or altered from any source distribution.<br><br></li>
+	  </ol>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=javascript:void(0) style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/macros.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,97 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <a name=abort id=abort></a>
+          
+          <h1>Abort Page</h1>
+            
+            <p style="margin-left: 0.20in">
+              <m2><b>XPUI_USERABORT</b> - Invokes the abort page immediately.  Use this in .onUserAbort or any time after the GUI has been initialized.  Please note that you cannot call this macro in .onInit or any other function when the installer GUI has not yet been drawn.  Here is an example .onUserAbort function that utilizes the ExperienceUI Abort Page:</m2>
+              <p style=margin-left:0.60in>
+                <font face="Courier New" style="font-size: 8pt">
+                  <font color=#0000FF><b>Function&nbsp;</b></font><font color=#000000>.onUserAbort</font><br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>StrCmp</b>&nbsp;</font><font color=#800000><i>$NOABORTWARNING</i></font>&nbsp;<font color=#008080>1</font>&nbsp;<font color=#000000>AbortMe</font><br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>MessageBox&nbsp;</b><font color=#FF8040>MB_YESNO</font><font color=#000000>|</font><font color=#FF8040>MB_ICONQUESTION</font>&nbsp;<font color=#008080>"Are&nbsp;you&nbsp;sure&nbsp;you&nbsp;want&nbsp;to&nbsp;cancel&nbsp;Setup?"</font>&nbsp;<font color=#FF8040>IDNO</font>&nbsp;<font color=#000000>NoAbort</font><br>
+                  &nbsp;&nbsp;<font color=#008000>!insertmacro&nbsp;</font><font color=#000000>XPUI_USERABORT</font><br>
+                  &nbsp;&nbsp;<font color=#000000>NoAbort:<br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>Abort</b></font><br>
+                  &nbsp;&nbsp;<font color=#000000>AbortMe:</font><br>
+                  <font color=#0000FF><b>FunctionEnd</b></font>
+                </font>
+              </font>
+            </font>
+          
+          <a name=reserve id=reserve></a>
+          
+            <h1>Reserve Files</h1>
+            
+            <p style="margin-left: 0.10in">
+              <b>Note:</b> To reserve files, define <a href="visual_settings.htm#reserve">XPUI_RESERVEFILES</a> now.  The macros below are shown only for historical reference.
+            </p>
+            
+            <p style="margin-left: 0.20in">
+              <m2><b>XPUI_RESERVEFILE_HEADERIMAGE</b> - <font color="#FF0000"><b>DEPRECATED</b></font> &ndash; Adds the header image to the earlier data blocks of the installer.  This can speed up loading in larger setups.  Insert this before the XPUI_FUNCTION_GUIINIT macro and before <b>any</b> file commands.</m2><br>
+              <br>
+              <m2><b>XPUI_RESERVEFILE_LEFTBRANDINGIMAGE</b> - <font color="#FF0000"><b>DEPRECATED</b></font> &ndash; Adds the left branding image (the bitmap on the left of the installer) to the earlier data blocks of the installer.  This can speed up loading in larger setups.  Insert this before the XPUI_FUNCTION_GUIINIT macro and before <b>any</b> file commands.</m2><br>
+              <br>
+              <m2><b>XPUI_RESERVEFILE_BOTTOMIMAGE</b> - <font color="#FF0000"><b>DEPRECATED</b></font> &ndash; Adds the bottom button panel image to the earlier data blocks of the installer.  This can speed up loading in larger setups.  Insert this before the XPUI_FUNCTION_GUIINIT macro and before <b>any</b> file commands.</m2><br>
+              <br>
+            </p>
+          
+          <a name=left id=left></a>
+          
+            <h1>Information Panel</h1>
+            
+            <p style="margin-left: 0.20in">
+              <m2><b>XPUI_LEFT_BLANK</b> - Blanks out the information panel.  You should insert this in the PRE function of the Abort page if you are using time counters in the installer.  After XPUI_LEFT_MESSAGE is called, this is called automatically.</m2><br>
+              <br>
+              <m2><b>XPUI_LEFT_SETTIME</b></m2><font color=#294F75> "# Minutes"</font><m2> - Sets the text on the information panel to "# Minutes".  You can call this anytime after .GUIInit is called by the NSIS core.  You can also insert XPUI_LEFT_SETTIME "Less than 1 minute" or XPUI_LEFT_SETTIME "Sometime in the next millennium" or whatever you want.</m2><br>
+              <br>
+              <m2><b>XPUI_LEFT_MESSAGE</b></m2><font color=#294F75> "Text at top" "Body Text" Type#</font><m2> - Shows a color-theme aware message box on the left info panel.  This must be used in a custom page function.  Replace Type# with 1 (OK button), 2 (OK/Cancel buttons), or 3 (Yes/No buttons).  To get the return, use <code>ReadINIStr $var $PLUGINSDIR\MBSide.ini Settings State</code>.  The return value will be either 1 (OK for Type 1), 2 (OK for type 2 or Yes), or 3 (Cancel or No).  After you get the return value, you need to delete the file manually.  Example:</m2><br>
+              <p style=margin-left:0.60in>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">Page </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #FF8040" face="Courier New" color="#FF8040">custom </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">MessageBox MBFin </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">": My Message Box"</font><br>
+                <br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">Function </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">MessageBox</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; color: #008000" face="Courier New" color="#008000">!insertmacro </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">XPUI_LEFT_MESSAGE </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">"Just so you know..." "The XPUI can do message boxes too!" 2</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">FunctionEnd</font><br>
+                <br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">Function </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">MBFin</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">ReadINIStr </font><font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF"></font><font style="font-family: 'Courier New'; font-size: 8pt; color: #800000" face="Courier New" color="#800000"><i>$R0 $PLUGINSDIR</i></font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">\MBSide.ini</font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080"> "Settings" </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">State</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">StrCmp </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #800000" face="Courier New" color="#800000"><i>$R0 </i></font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">2 "" +2</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">MessageBox </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #FF8040" face="Courier New" color="#FF8040">MB_OK </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">"You clicked OK, user!" </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #FF8040" face="Courier New" color="#FF8040">IDOK </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">+</font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">2</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">MessageBox </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #FF8040" face="Courier New" color="#FF8040">MB_OK </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #008080" face="Courier New" color="#008080">"You clicked Cancel, user!"</font><br>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">Delete </font><font style="font-family: 'Courier New'; font-size: 8pt; color: #800000" face="Courier New" color="#800000"><i>$PLUGINSDIR</i></font><font style="font-family: 'Courier New'; font-size: 8pt; color: #000000" face="Courier New" color="#000000">\MBSide.ini</font><br></font>
+                <font style="font-family: 'Courier New'; font-size: 8pt; font-weight: 'bold'; color: #0000FF" face="Courier New" color="#0000FF">FunctionEnd</font><br><br>
+              </p>
+            </p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/page_macros.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,70 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type=text/javascript src=cmd.js></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Inserting Pages</h1>
+          <p style="margin-left: 0.20in">There are two ways to insert pages with the ExperienceUI.  The first - and easiest - way is via the ${Page} command.  This command handles all but two of the pages in the ExperienceUI, and plus it is very easy to learn and understand.  You <i>must</i> include XPUI.nsh before inserting pages.</p>
+          <script type="text/javascript">
+            macro("${Page}", "page_name(Welcome|Welcome2|Components|Directory|InstConfirm|InstFiles|Finish|InstSuccess|Abort)", "Inserts an ExperienceUI page into the installer.  See below for a description of each page.<br /><br /><i><b>Example:</b> ${Page} Welcome2</i>");
+            macro("${UnPage}", "<br />page_name(Welcome|Welcome2|Components|Directory|InstConfirm|InstFiles|Finish|InstSuccess|Abort|UnConfirm)", "The same as ${Page}, but for the uninstaller.  Note the new option, UnConfirm, which is the NSIS Uninstall Confirm page.  For consistency, InstConfirm and InstFiles are InstConfirm and InstFiles, not UninstConfirm and UninstFiles.<br /><br /><i><b>Example:</b> ${UnPage} InstFiles</i>");
+            macro("${LicensePage}", "text/rtf_file", "Inserts a license page into your installer.  text/rtf_file should be the full or relative path to the plaintext or RTF file with your license agreement text.");
+            macro("${StartMenuPage}", "Page_ID $var", "Inserts the start menu folder selection page into your installer.  The start menu page asks the user what Start Menu program group the shortcuts to the program should be placed in.  page_id can be any text value (no spaces) and var should be $0, $1, etc.  It is recommended that you declare a user variable (<code>Var SMFOLDER</code> etc.) for <b>var</b> so that its value is not overwritten between the Start Menu page and the InstFiles page.");
+          </script>
+	
+          <p style="margin-left: 0.20in">The other way to insert a page is using a macro.  This is really what the ${Page} command does behind the scenes, so there is no difference in behavior.  To insert a page using the commands below, use, for example, !insertmacro XPUI_PAGE_WELCOME.</p>
+	  <p style="margin-left: 0.20in">
+	    <b>All of the pages listed here <i>except</i> the NSIS-Style uninstall confirmation page can be used in either the installer or the uninstaller.</b><br>
+	    <br>
+            <script type="text/javascript">
+              macro("XPUI_PAGEMODE_INST", "", "Sets all of the pages inserted after this macro to be inserted into the installer. This macro can be used multiple times and is inserted automatically at the end of the header file.");
+              macro("XPUI_PAGEMODE_UNINST", "", "Sets all of the pages inserted after this macro to be inserted into the uninstaller. This macro can be used multiple times.");
+              macro("XPUI_PAGE_WELCOME", "", "Inserts the welcome page into your installer.  This welcome page looks like Joost Verburg's Modern UI, without the bitmap on the left.");
+              macro("XPUI_PAGE_WELCOME2", "", "Inserts the alternative welcome page into your installer.  This page looks like the welcome page in the latest InstallShield® setup programs.");
+              macro("XPUI_PAGE_LICENSE", "text/rtf_file", "Inserts the license page into your installer.  The license page displays an agreement between the software maker and the end user, and asks the user to accept the agreement before installing the program.");
+              macro("XPUI_PAGE_COMPONENTS", "", "Inserts the component selection page into your installer.  The components page asks the user what parts of the program he/she wants to install.");
+              macro("XPUI_PAGE_DIRECTORY", "", "Inserts the folder selection page into your installer.  The directory page asks the user what folder he/she wants the main program files copied to.");
+              macro("XPUI_PAGE_STARTMENU", "page_id var", "Inserts the start menu folder selection page into your installer.  The start menu page asks the user what Start Menu program group the shortcuts to the program should be placed in.  page_id can be any text value (no spaces) and var should be $0, $1, etc.  It is recommended that you declare a user variable (<code>Var SMFOLDER</code> etc.) for <b>var</b> so that its value is not overwritten between the Start Menu page and the InstFiles page.");
+              macro("XPUI_PAGE_INSTCONFIRM", "", "Inserts the installation confirmation page into your installer.  The install confirm page asks the user to confirm the installation or maintenance operation.");
+              macro("XPUI_PAGE_INSTFILES", "", "Inserts the file copy page into your installer.  The files page is where the program's files are copied to the user's hard disk and a log is displayed in a list box.");
+              macro("XPUI_PAGE_INSTSUCCESS", "", "Inserts the installation success page into your installer.  The install success page alerts the user that the program was successfully copied to his/her computer's hard disk.");
+              macro("XPUI_PAGE_FINISH", "", "Inserts the finish page into your installer.  The finish page alerts the user that the program was successfully copied to his/her computer's hard disk, and asks the user if he/she wants to run the program, view the documentation, or reboot the computer.");
+              macro("XPUI_PAGE_ABORT", "", "Inserts the Abort page into your installer.  The Abort page is shown the after installer has been cancelled.  <b>This has to be the last page inserted<\/b> and it requires XPUI_ABORTWARNING to be defined or it won't work.  If you do use an Abort page, define XPUI_ABORTWARNING, insert language files, insert all other installer (as in not uninstaller) pages, and then insert XPUI_PAGE_ABORT.  More information about the Abort page can be found in the <a href='visual_settings.htm#abort'>visual settings<\/a> section.");
+              macro("XPUI_PAGE_UNINSTCONFIRM_NSIS", "", "Inserts the classic NSIS-style uninstall confirmation page into your installer.  The NSIS-style uninstall confirmation page asks the user to confirm that he/she wants to uninstall the program, and shows the folder that the program is installed in.");
+              //macro("", "", "");
+            </script>
+            <font face=Verdana style="font-size:8pt">
+	           <b>A note on page defines:</b> When you define a custom string, it is usually applied to the installer only.  To make a custom string that applies to the uninstaller, define the string as normal, but add UN after the XPUI_ part of the define.  An example would be XPUI_COMPONENTSPAGE_TITLE becomes XPUI_<b>UN</b>COMPONENTSPAGE_TITLE.  Note that this does not apply to macros; to insert, for example, the welcome page into your uninstaller, insert XPUI_PAGEMODE_UNINST and then XPUI_PAGE_WELCOME, or just ${UnPage} Welcome.<br>
+            </font>
+	    <br>
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/page_settings.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,282 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type=text/javascript src=cmd.js></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+	    <font face=Verdana style=font-size:8pt>
+	    
+	      <!-- READ ME FIRST -->
+	      <a name=read1st id=read1st></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Uninstaller Strings</h1>
+	      </p>
+	      <p style=margin-left:0.20in>
+	      When you define a custom string, it is usually applied to the installer (i. e. not the uninstaller) only.  To make a custom string that applies to the uninstaller, define the string as normal, but add UN after the XPUI_ part of the define.  An example would be XPUI_COMPONENTSPAGE_TITLE becomes XPUI_<b>UN</b>COMPONENTSPAGE_TITLE.  Note that this does not apply to macros; to insert, for example, the welcome page into your uninstaller, insert XPUI_PAGEMODE_UNINST and then XPUI_PAGE_WELCOME.<br>
+              <br>
+              Starting with ExperienceUI 1.1, you can define a string before inserting a language to change the default text for every page.  Defining a string and then inserting the associated page will change the text only for that page.  In other words, if you define "XPUI_DIRECTORYPAGE_TITLE" and then insert the English language, every directory page in the installer will use that define.  But, if you define "XPUI_DIRECTORYPAGE_TITLE" and the insert the directory page, only that instance of the directory page will have the custom title.  The UN prefix still applies to per-page settings.<br>
+              <br>
+              Some settings are per-page-only.  These settings are only reflected in one instance of a page, and the default settings are either static or can only be changed with a different command.  Example: XPUI_COMPONENTSPAGE_TEXT_INSTTYPE, when defined, only changes the text next to the install type combo box on the first instance of the components page that is inserted after the define.  On subsequent components pages, this new setting will be ignored (in fact, after the first components page that is inserted, this setting will be !undef'ed).  Of course, you can define the setting for as many components pages as you want.
+	      <br>
+	      </p>
+	      </div>
+	    
+	      <!-- WELCOME PAGE -->
+	      <a name=welcome id=welcome></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Welcome Page Settings</h1>
+	      </p>
+              <script type=text/javascript>
+                define('XPUI_WELCOMEPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Welcome"');
+                define('XPUI_WELCOMEPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Welcome top &lt;NAME&gt; Setup."');
+                define('XPUI_WELCOMEPAGE_CAPTION', ': Text', 'The text added to the window caption.', '" " [blank string]');
+                define('XPUI_WELCOMEPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page, shown in large text.', '"Welcome to the &lt;NAME&gt; Setup wizard"');
+                define('XPUI_WELCOMEPAGE_TEXT', '"Page Main"', 'The text on the body of the page.', '<div style=margin-left:0.6in;>This wizard will guide you through the installation of &lt;NAME&gt;$\\n<br>$\\n<br>It is recommended that you close all other applications before starting Setup.  This will make it possible to update relevant system files without having to reboot your computer.")</div>');
+              </script>
+	      </div>
+	      
+	      <!-- WELCOME PAGE 2 -->
+	      <a name=welcome2 id=welcome2></a>
+	      <p style=margin-left:0.00in>
+	      <h1>InstallShield®-style Welcome Page Settings</h1>
+	      </p>
+          <p style=margin-left:0.20in><b>Note:</b> The XPUI_WELCOMEPAGESTYLE2_* defines are deprecated.  Use the ones below, instead.</p>               
+              <script type=text/javascript>
+                define('XPUI_WELCOMEPAGE2_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Welcome"');
+                define('XPUI_WELCOMEPAGE2_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Welcome top &lt;NAME&gt; Setup."');
+                define('XPUI_WELCOMEPAGE2_CAPTION', ': Text', 'The text added to the window caption.', '" " [blank string]');
+                define('XPUI_WELCOMEPAGE2_TEXT_TOP', '"Page Top"', 'The text at the top of the page, shown in bold face.', '"Welcome to the NSIS Setup Wizard for &lt;NAME&gt;."');
+                define('XPUI_WELCOMEPAGE2_TEXT', '"Page Main"', 'The text on the body of the page.', '"Welcome to &lt;NAME&gt; Setup.  This will install &lt;NAME&gt; on your computer."');
+              </script>
+	      </div>
+	      
+	      <!-- LICENSE PAGE -->
+	      <a name=license id=license></a>
+	      <p style=margin-left:0.00in>
+	      <h1>License Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_LICENSEPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"License Agreement"');
+                define('XPUI_LICENSEPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Please review the license agreement before installing &lt;NAME&gt;."');
+                define('XPUI_LICENSEPAGE_CAPTION', ': Text', 'The text added to the window caption.', '": License Agreement');
+                define('XPUI_LICENSEPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"Press Page Down to see the rest of the agreement."');
+                define('XPUI_LICENSEPAGE_TEXT_BOTTOM', '"Page Main"', 'The text at the bottom of the page.', '"If you accept all the terms of the agreement, click on I Agree to continue.  You must accept the agreement to install &lt;NAME&gt;."');
+              </script>
+              
+	      <a name=licensefs id=licensefs></a>
+		<h2 style=margin-left:0.2in>Force Selection options</h2>
+	        <script type=text/javascript>
+                  define('XPUI_LICENSEPAGE_CHECKBOX', 'No parameters (true/false define)', 'Define this to require the user to select a check box to indicate that he/she accepts the license agreement.', 'true/<b>false</b>');
+                </script>
+		<div style=margin-left:0.60in>
+                <script type=text/javascript>
+                  define('XPUI_LICENSEPAGE_CHECKBOX_TEXT', '"Checkbox Text"', 'The text for the "I Agree" check box.', '"I accept the terms in the license agreement"');
+                </script>
+		</div>
+                <script type=text/javascript>
+                  define('XPUI_LICENSEPAGE_RADIOBUTTONS', 'No parameters (true/false define)', 'Define this to require the user to select a radio button to indicate that he/she accepts the license agreement.', 'true/<b>false</b>');
+                </script>  
+		<div style=margin-left:0.60in>
+                  <script type=text/javascript>
+                    define('XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_AGREE', '"Agree Button Text"', 'The text for the "I Agree" radio button.', '"I accept the terms in the License agreement"');
+                    define('XPUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE', '"Decline Button Text"', 'The text for the "I do not agree" radio button.', '"I do not accept the terms in the license agreement."');
+                  </script>
+		</div>
+                <script type=text/javascript>
+                  define('XPUI_LICENSEPAGE_RESET', 'No parameters (true/false define)', 'Define this to reset the checkbox or radio buttons every time the license page is run (for example, when the user clicks Back.)', 'true/<b>false</b>');
+                </script>
+	      
+	      <!-- COMPONENTS PAGE -->
+	      <a name=components id=components></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Components Page Settings</h1>
+	      </p>
+              <script type=text/javascript>
+                define('XPUI_COMPONENTSPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Choose Components"');
+                define('XPUI_COMPONENTSPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Choose which components of &lt;NAME&gt; should be installed."');
+                define('XPUI_COMPONENTSPAGE_CAPTION', ': Text', 'The text added to the window caption.', '": Select Components');
+                define('XPUI_COMPONENTSPAGE_NODESC', 'No parameters (true/false define)', 'Don\'t show the description area on the Components page.  The ExperienceUI doesn\'t require a separate UI for this, it just uses ShowWindow to hide controls 1042 and 1043.', 'not definesd');
+                define('XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', '"GroupBox Text"', 'The text on the group box around the description area', '"Description"');
+                define('XPUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO', '"Description Idle Text"', 'The text that shows when the user\'s cursor is not over a component.', '"Hover your mouse over a component to see its description."');
+                define('XPUI_COMPONENTSPAGE_TEXT_TOP', '"Text"', 'The text at the top of the Components Page.  <b>This is a per-page-only define.</b>', '$(^ComponentsText)');
+                define('XPUI_COMPONENTSPAGE_TEXT_INSTTYPE', '"Text"', 'The text next to the "install type" combo box.  <b>This is a per-page-only define.</b>', '$(^ComponentsSubText1)');
+                define('XPUI_COMPONENTSPAGE_TEXT_SECLIST', '', 'The text next to the list of sections.  <b>This is a per-page-only define.</b>', '$(^ComponentsSubText2)');
+                define('XPUI_COMPONENTSPAGE_TEXT_SECLIST_NOINSTTYPE', '', 'The text next to the list of sections.  This string is used only when there are no InstTypes.  <b>This is a per-page-only define.</b>', '$(^ComponentsSubText2)');
+              </script>
+              <p style=margin-left:0.2in>
+	        <b>NOTE:</b> Use the ComponentText command to set the <b>default</b> main text on every components page.<br>
+              </p>
+	      <br>
+              
+	      <!-- DIRECTORY PAGE -->
+	      <a name=directory id=directory></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Directory Page Settings</h1>
+	      </p>
+              <script type=text/javascript>
+                define('XPUI_DIRECTORYPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Choose installation location"');
+                define('XPUI_DIRECTORYPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Choose the folder in which to install &lt;NAME&gt;"');
+                define('XPUI_DIRECTORYPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Select Installation Folder"');
+                define('XPUI_DIRECTORYPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '<div style=margin-left:0.6in>Setup will install &lt;NAME&gt; in the following folder.  To install in this folder, leave the text below as-is.  To install in a different folder, enter one below, or click Browse.  $_CLICK<sup>1</sup></div>');
+                define('XPUI_DIRECTORYPAGE_TEXT_DESTINATION', '"Group Box Text"', 'The text on the group box around the folder text box and the Browse button.', '"Installation Directory"');
+                define('XPUI_DIRECTORYPAGE_TEXT_BROWSE', '"Browse Btn Text"', 'The text on the Browse button.', '"Browse"');
+                define('XPUI_DIRECTORYPAGE_TEXT_BROWSEDIALOG', '"Browse Dialog Text"', 'The text on the graphical folder selection dialog.', '"Please select a folder:"');
+              </script>
+	      <p style=margin-left:0.20in>
+                <font size=1><sup>1</sup>$_CLICK is an internal NSIS variable that changes to say, "Click Next to continue" or "Click Install to start the installation" depending on whether the InstFiles page is next or not.</font>
+	      </p>
+	      
+	      <!-- START MENU PAGE -->
+	      <a name=startmenu id=startmenu></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Start Menu Page Settings</h1>
+	      </p>
+              
+              <p style=margin-left:0.2in>
+              
+                For information on the Start Menu page, please see the <a href=startmenu.htm>Start Menu Page documentation</a>.
+              
+              </p>
+              
+	      <!-- INSTCONFIRM PAGE -->
+	      <a name=instconfirm id=instconfirm></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Install Confirm Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_INSTCONFIRMPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Confirm Installation"');
+                define('XPUI_INSTCONFIRMPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Setup has finished gathering information and is ready to install &lt;NAME&gt;."');
+                define('XPUI_INSTCONFIRMPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Confirm Installation"');
+                define('XPUI_INSTCONFIRMPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"Setup is ready to install &lt;NAME&gt; on your computer."');
+                define('XPUI_INSTCONFIRMPAGE_TEXT_BOTTOM', '"Page Main"', 'The text on the body of the page.', '$_CLICK');
+              </script>
+	      
+	      <!-- INSTFILES PAGE -->
+	      <a name=instfiles id=instfiles></a>
+	      <p style=margin-left:0.00in>
+	      <h1>InstFiles Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_INSTFILESPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Installing"');
+                define('XPUI_INSTFILESPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Please wait while &lt;NAME&gt; is being installed."');
+                define('XPUI_INSTFILESPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Copying Files"');
+              </script>
+
+	      <!-- INSTSUCCESS PAGE -->
+	      <a name=instsuccess id=instsuccess></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Install Success Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_INSTSUCCESSPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Installation Complete"');
+                define('XPUI_INSTSUCCESSPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Setup has successfully installed &lt;NAME&gt; on your computer."');
+                define('XPUI_INSTSUCCESSPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Installation Successful"');
+                define('XPUI_INSTSUCCESSPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"Setup has successfully installed &lt;NAME&gt; on your computer."');
+                define('XPUI_INSTSUCCESSPAGE_TEXT_BOTTOM', '"Page Main"', 'The text on the body of the page.', '"Click Close to exit."');
+              </script>
+              	      
+	      <!-- FINISH PAGE -->
+	      <a name=finish id=finish></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Finish Page Settings</h1>
+	      </p>
+	      <script type=text/javascript>
+	      define('XPUI_FINISHPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Installation Complete"');
+	      define('XPUI_FINISHPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header. (Default:"Setup has successfully installed &lt;NAME&gt; on your computer."');
+	      define('XPUI_FINISHPAGE_CAPTION', '": Your Text Here"', 'The text added to the window caption.', '": Installation Successful"');
+	      define('XPUI_FINISHPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"Completing the &lt;NAME&gt; Setup Wizard"');
+	      define('XPUI_FINISHPAGE_TEXT', '"Page Main"', 'The text on the body of the page.', '<br><br><div style=margin-left:0.6in>Setup has successfully installed &lt;NAME&gt; on your computer.$\\n<br>$n<br>Please click &lt;XPUI_BUTTONTEXT_CLOSE&gt; to exit.</div>');
+	      define('XPUI_FINISHPAGE_TEXT_USE_TOP_ALT', 'No parameters (true/false define)', 'Define this to use the alternative text style at the top of the page.', 'true/<b>false</b>');
+	      define('XPUI_FINISHPAGE_TEXT_TOP_ALT', '"Text"', 'The text used at the top of the page for the alternative style.', '"NSIS Setup Wizard Complete"');
+	      
+	      define('XPUI_FINISHPAGE_RUN', 'No parameters (true/false define)', 'Define this setting to have the installer run a program after the user closes the finish page.', 'true/<b>false</b>');
+	      document.write('<div style=margin-left:0.3in>');
+	        define('XPUI_FINISHPAGE_TEXT_RUN', '"Text"', 'The text used on the main page when both run support <i>and</i> documentation support options are turned on.', '"Setup has successfully installed &lt;NAME&gt; on your computer.$\\n<br>$\\n<br>Which actions do you want to perform?"');
+	        define('XPUI_FINISHPAGE_CHECKBOX_RUN', '"Text"', 'The text used for the "Run Program Now" checkbox.', '"Run &lt;NAME&gt; now"');
+		define('XPUI_FINISHPAGE_RUN_FILE', '$INSTDIR\\Path_to_your_program.exe', 'The file that is run.', '&lt;no default setting&gt;');
+		define('XPUI_FINISHPAGE_RUN_FUNCTION', 'Function_name', 'The function that is called after the finish page.  You do not need to define an on/off value for this; it is done automatically.', '&lt;no default value&gt;');
+		define('XPUI_FINISHPAGE_RUN_NOTCHECKED', 'No parameters (true/false define)', 'Define this to not check the Run Program checkbox by default.', 'true/<b>false</b>');
+	      document.write('</div>');
+	      define('XPUI_FINISHPAGE_DOCS', '"Text"', 'Define this setting to have the installer show a documentation file after the user closes the finish page.', 'true/<b>false</b>');
+	      document.write('<div style=margin-left:0.3in>');
+	        define('XPUI_FINISHPAGE_CHECKBOX_DOCS', '"Text"', 'The text used for the "Show Readme Now" checkbox.', '"View the documentation for &lt;NAME&gt; now"');
+	        define('XPUI_FINISHPAGE_DOCS_FILE', '$INSTDIR\\Path_to_your_docs.htm', 'The file that is opened.', '&lt;no default value&gt;');
+		define('XPUI_FINISHPAGE_DOCS_FUNCTION', 'Function_name', 'The function that is called after the finish page.  You do not need to define an on/off value for this; it is done automatically.', '&lt;no default value&gt;');
+		define('XPUI_FINISHPAGE_DOCS_NOTCHECKED', 'No parameters (true/false define)', 'Define this to not check the Show Documentation checkbox by default.', 'true/<b>false</b>');
+	      document.write('</div>');
+	      document.write('<p style=margin-left:0.20in><b>Reboot Support</b></p>');
+	      document.write('<div style=margin-left:0.3in>');
+	      define('XPUI_FINISHPAGE_REBOOT_FORCE', 'No parameters (true/false define)', 'Define this to force the finish page to prompt the user for a reboot.', 'true/<b>false</b>');
+	      define('XPUI_FINISHPAGE_NOREBOOT', 'No parameters (true/false define)', 'Define this to keep the installer from asking for a reboot even if the reboot flag is set.  Otherwise, the installer will ask for a reboot if the flag is set, and continue normally if it is not.', 'true/<b>false</b>');
+	      define('XPUI_FINISHPAGE_TEXT_REBOOT', '"Text"', 'The text shown on the page when a reboot is required.', '<div style=margin-left:0.4in>"Setup has finished copying files to your computer.$\\n<br>$\\n<br>To finish the installation, you must restart your computer.  Do you want to restart your computer now?"</div>');
+	      define('XPUI_FINISHPAGE_REBOOT_MESSAGEBOX', '"Text"', 'The text shown on the message box that asks for reboot confirmation.', '<div style=margin-left:0.4in>"Setup is about to reboot your computer.$\\n<br>$\\n<br>Please save and close all open files and documents, and click OK to reboot your computer."</div>');
+	      document.write('</div><p style=margin-left:0.20in><b>Link Support</b></p>');
+	      document.write('<div style=margin-left:0.3in>');
+	      define('XPUI_FINISHPAGE_LINK', 'No parameters (true/false define)', 'Shows a link at the bottom of the Finish page.', 'true/<b>false</b>');
+	      define('XPUI_FINISHPAGE_LINK_TEXT', '"Text"', 'The text shown for the link at the bottom of the page.', '&lt;no default value&gt;');
+	      define('XPUI_FINISHPAGE_LINK_FUNCTION', 'Function_name', 'The function called when the link is clicked.  Use this to open your install directory, go to a web site, etc.', '""');
+	      document.write('</div>');
+	      </script>
+	      
+	      <!-- ABORT PAGE -->
+	      <a name=abort id=abort></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Abort Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_ABORTPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Installation Aborted"');
+                define('XPUI_ABORTPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"&lt;NAME&gt; Setup was not completed successfully."');
+                define('XPUI_ABORTPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Installation Cancelled"');
+                define('XPUI_ABORTPAGE_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"NSIS Setup Wizard Complete"');
+                define('XPUI_ABORTPAGE_TEXT', '"Page Main"', 'The text on the body of the page.', '<div style=margin-left:0.6in;>"The wizard was interrupted before $(^Name) could be completely installed.$\\n<br>$\\n<br>Your system has not been modified.  To install this program at a later time, please run this wizard again.$\n<br>$\\n<br>$\\n<br>$\\n<br>$\\n<br>Please click Close to exit the Setup Wizard."</div>');
+              </script>
+              
+	      <!-- NSIS UNINSTCONFIRM PAGE -->
+	      <a name=nsisunc id=nsisunc></a>
+	      <p style=margin-left:0.00in>
+	      <h1>Uninstall Confirm Page Settings</h1>
+	      </p>
+              
+              <script type=text/javascript>
+                define('XPUI_UNINSTCONFIRMPAGE_NSIS_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Uninstall &lt;NAME&gt;"');
+                define('XPUI_UNINSTCONFIRMPAGE_NSIS_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Remove &lt;NAME&gt; from your computer"');
+                define('XPUI_UNINSTCONFIRMPAGE_NSIS_CAPTION', '": Text"', 'The text added to the window caption.', '": Confirm Uninstall"');
+                define('XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_TOP', '"Page Top"', 'The text at the top of the page.', '"&lt;NAME&gt; will be uninstalled from the following folder.  Click Uninstall to start the uninstallation."');
+                define('XPUI_UNINSTCONFIRMPAGE_NSIS_TEXT_FOLDER', '"Group Box Text"', 'The text next to the folder indicator text box.', '"Uninstalling from:"');
+              </script>
+	      
+	    </font>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/pagemode.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,75 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+	
+	  <h1>Page Mode Support</h1>
+	  
+	  <p style=margin-left:0.2in>
+    
+          <font face=Verdana style=font-size:8pt color=#000000>
+            Since version 1.04, the ExperienceUI supports page modes.  This term may be new to you, but it's XPUI-jargon for using identical
+            pages in both the installer and the uninstaller.  The Modern UI also supports this, but it is very difficult to use.  The
+            ExperienceUI allows you to insert any page you want into just the installer, just the uninstaller, or both.  How does it work?
+            When you insert an XPUI_PAGEMODE macro, three defines are assigned values: XPUI_UN, XPUI_UNFUNC, and XPUI_UNINST.  In the
+            Install page mode, these three are blank values.  In the Uninstall page mode, however, they are assigned the values "UN", "un.",
+            and "UNINST", respectively.  Then, to add a page to the uninstaller, all I have to do is:<br>
+            <br>
+            <code>PageEx ${XPUI_UNFUNC}components<br>
+            &nbsp;...<br>
+            PageExEnd</code><br>
+            <br>
+            Of course, there is also the little detail about strings.  You don't want the uninstaller to confuse you by saying something
+            about installing the program, so I also used this technique with the strings.  The language files have string tables
+            for all 21 pages (10 installer, 11 uninstaller, including the NSIS uninstConfirm page) and the language strings have the
+            ${XPUI_UN} symbol in them.  This allows for completely different install/uninstall strings.  The code is basically like this:<br>
+            <code>
+            !insertmacro XPUI_HEADER_TEXT "$(XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE)" "$(XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE)"
+            </code>
+            </font>
+	    
+	    </p>
+          
+	    <a name=using id=using></a>
+	    <h1>Using Page Modes</h1>
+	    
+	    <p style=margin-left:0.2in>
+	    
+	      <font face=Verdana style=font-size:8pt color=#000000>
+              Using the page mode system is very simple.  Simply insert the page-mode macro and then your pages.  An example of this can be
+              found in the Setup.NSI file in the XPUI installation directory.  For more information, please see the <a href=page_macros.htm>Page Macros</a> section of
+              this document.<br>
+              <br>
+              If you created your scripts for XPUI versions 1.03 or earlier, you may have to change them for versions &gt;1.04.
+              </font>
+	    
+	    </p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/patch.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,108 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+        
+          <h1>The ExperienceUI's Patching System</h1>
+    
+            <p style=margin-left:0.2in><font face=Verdana style=font-size:8pt color=#000000>
+              Like all computer programs, the ExperienceUI has its bugs.  Since version 1.02, however, the ExperienceUI has included a patching
+              system that can update any file that is related to the ExperienceUI or any NSIS component.  The patch files are simply ZIP archives
+              with a special file, CONTENT.DAT, that tells where everything goes.  This method of distributing updates allows for very small files;
+              files that do not require a setup program, just a shell extension in the Registry.  The patching system also allows installation of
+              new components, such as extra features or skins.  There is even a separate format made just for skins!<br>
+              <br>
+              Installing a patch or skin is very easy.  All you have to do is click on the file in Windows Explorer, and the installer handles the rest.
+              You can also write your own patches or skins.  See the next section for more information.
+            </font></p>
+            
+          <a name=write id=write></a>
+          <h1>Writing patch files</h1>
+          
+            <p style=margin-left:0.2in><font face=Verdana style=font-size:8pt color=#000000>
+              Writing an ExperienceUI patch or skin is very simple.  If you have WinZip® or even Windows 98/ME/XP's integrated ZIP features and a
+              basic text editor, you have the tools required to build a patch or skin for the ExperienceUI. Here's how:<br>
+              <br>
+              <ol type=1>
+                <li><b>Gather up your files.</b><br>
+                    <br>
+                    Make a new ZIP file, and put all of the files you want to install into the archive's root directory.<br><br></li>
+                <li><b>Create a CONTENT.DAT information file.</b><br>
+                    <br>
+                    Create a new text file, call it CONTENT.DAT, and open it in Notepad, WordPad, emacs, or any other text editor.<br><br></li>
+                <li><b>List your patch's files.</b><br>
+                    <br>
+                    Type [EUI-Patch] or [EUI-Skin] (including the brackets) at the top of your file.  Hit enter.<br><br>
+                    Now type <b>NumFiles=#</b> and replace # with the number of files in your patch, <b>not</b> including CONTENT.DAT.<br><br>
+                    Make a few more new lines, and then type <b>File1=&lt;filename&gt;</b> and replace &lt;filename&gt; with the first file
+                    in your patch/skin.  Hit Enter.<br><br>
+                    Type in <b>File1 Path=MyPath</b> for the folder to extract the file to.  If you are extracting the file to the ExperienceUI's
+                    installation root directory, create this field, but leave it blank.  Hit Enter one more time.<br>
+                    If you're writing a patch, type <b>File1 Desc=My Description String</b> and replace My Description String with a description
+                    of the file.  This key does not apply to skins.<br><br>
+                    Now, add one more <b>File1</b>/<b>File1 Path</b>/<b>File1 Desc</b> section to the install script file (aka CONTENT.DAT) for
+                    each file in your patch/skin, each time replacing the 1 with a number one higher than the previous file entry.<br>
+                    <br>
+                    When you're done, the file should look somewhat like this:<br>
+                    <br>
+                    <code>
+                    [EUI-Patch]<br>
+                    NumFiles=3<br>
+                    <br>
+                    File1=XPUI.NSH<br>
+                    File1 Path=<br>
+                    File1 Desc=ExperienceUI main script<br>
+                    <br>
+                    File2=English.NSH<br>
+                    File2 Path=Language Files<br>
+                    File2 Desc=English Language string table<br>
+                    <br>
+                    File3=Plus.bmp<br>
+                    File3 Path=Readme\Images<br>
+                    File3 Desc=Documentation section expand button, mouse out<br><br>
+                    </code></li>
+                    
+                    <li><b>Add the CONTENT.DAT file to your ZIP archive.</b><br>
+                        <br>
+                        This next step should be a little easier.  Fire up your zip utility, and
+                        add the CONTENT.DAT file you just created to the ZIP file.<br><br></li>
+                        
+                    <li><b>Rename the file.</b><br>
+                        <br>
+                        Open up Command Prompt, usually done by going to Start &gt; Run, typing CMD, and pressing Enter, and change to the
+                        directory where your ZIP file is.  Type in the command <b>REN &lt;file&gt;.zip
+                        &lt;file&gt;.eup</b> for a patch or <b>REN &lt;file&gt;.zip &lt;file&gt;.eus</b> for a skin.<br>
+                        <br>
+                        <b>That's it! To test your skin/patch, just double-click it.  After testing it, you'll be ready to distribute it over
+                        the Web.
+              </ol>
+            </font></p>
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/secdesc.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,102 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+	<h1>Section Descriptions</h1>
+	
+          <font face=Verdana color=#000000 size=2>
+	    <p style=margin-left:0.20in>
+	    Just like the Modern UI, the ExperienceUI allows descriptions for the various sections in your installer.
+	    Here is how to create the cool description-on-mouse-over effect:<br>
+	    <p style=margin-left:0.50in>
+	    <ol type=1>
+	      <li><b>Add index IDs to your sections.</b><br>
+	      <br>
+	      If you haven't done this already, add a unique code to the end of the line with the Section command. Example:<br>
+	      <br>
+	      <code>Section "My Section" <b>SecMySection</b><br>
+	      &lt;your code...&gt;<br>
+	      SectionEnd</code><br>
+	      <br>
+	      Sections must have a name or a "" as the first parameter in order for this to work.<br><br></li>
+	      <li><b>Insert the Section Description header macro.</b><br>
+	      <br>
+	      Insert the macro <b>XPUI_FUNCTION_DESCRIPTION_BEGIN</b> into your script after all of your sections, although you can put the
+	      uninstaller section(s) after this if you wish.<br><br></li>
+	      <li><b>Insert your description text.</b><br>
+	      <br>
+	      <b>XPUI_DESCRIPTION_TEXT</b> <font color=#294F75>Section_index_define "Section Description Text"</font> - Inserts description
+	      text into your installer.  Use only between the <b>XPUI_FUNCTION_DESCRIPTION_BEGIN</b> and <b>XPUI_FUNCTION_DESCRIPTION_END</b>
+	      macros.<br>
+	      <br>
+	      Insert the <b>XPUI_DESCRIPTION_TEXT</b> macro into your installer once for each section you want a description for, using the
+	      syntax given above. Example:<br>
+	      <br>
+	      <code>!insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN<br>
+	      !insertmacro XPUI_DESCRIPTION_TEXT ${SecMySection} "Description of the section 'My Section'"<br>
+	      &nbsp;...
+	      </code><br>
+	      <br></li>
+	      <li><b>Insert the closing macro.</b><br>
+	      <br>
+	      Insert the macro XPUI_FUNCTION_DESCRIPTION_END macro into your script after all of your description text.  Please note that
+	      if you have custom code for your .onMouseOverSection function, you will need to insert it before this macro.
+	    </ol>
+	    If you are using multiple languages in your installer, use language strings to write descriptions for each language, and
+	    then use the $(LANG_STRING) as the section description text.  Example:<br>
+	    <br>
+	    <font face="Courier New" style=font-size:8pt>
+	    <font color=#0000FF><b>Section</b> <font color=#008080>"Section One" <font color=#000000>Sec1<br>
+	    &nbsp;<font color=#000000>...<br>
+	    <font color=#0000FF><b>SectionEnd</b><br>
+	    <br>
+	    <font color=#0000FF><b>Section</b> <font color=#008080>"Section Two" <font color=#000000>Sec2<br>
+	    &nbsp;<font color=#000000>...<br>
+	    <font color=#0000FF><b>SectionEnd</b><br>
+	    <br>
+	    <font color=#0000FF><b>LangString</b><font color=#000000> DESC_SEC1 1033 <font color=#008080>"One"<br>
+	    <font color=#0000FF><b>LangString</b><font color=#000000> DESC_SEC1 1032 <font color=#008080>"Uno"<br>
+	    <font color=#0000FF><b>LangString</b><font color=#000000> DESC_SEC2 1033 <font color=#008080>"Two"<br>
+	    <font color=#0000FF><b>LangString</b><font color=#000000> DESC_SEC2 1032 <font color=#008080>"Dos"<br>
+	    <br>
+	    <font color=#008000>!insertmacro <font color=#000000>XPUI_FUNCTION_DESCRIPTION_BEGIN<br>
+	    &nbsp;&nbsp;<font color=#008000>!insertmacro<font color=#000000> XPUI_DESCRIPTION_TEXT <font color=#800000>${Sec1} <font color=#008080>"<font color=#800000>$<font color=#008080>(DESC_SEC1)"<br>
+	    &nbsp;&nbsp;<font color=#008000>!insertmacro<font color=#000000> XPUI_DESCRIPTION_TEXT <font color=#800000>${Sec2} <font color=#008080>"<font color=#800000>$<font color=#008080>(DESC_SEC2)"<br>
+	    <font color=#008000>!insertmacro <font color=#000000>XPUI_FUNCTION_DESCRIPTION_END
+	    </font>
+	    <font face=Verdana size=2 color=#000000>
+	    <br><br>
+	    The section description code for the ExperienceUI was based on the code from the Modern UI, written by <b>Joost Verburg</b>.
+	    Two thumbs up to him for writing this awesome code.
+	    </p>
+	    </font>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/skin.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,137 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>ExperienceUI Skin Support</h1>
+            <p style="margin-left: 0.20in">
+              <font face=Verdana style=font-size:8pt color=#000000>
+              Of course, the main feature of the ExperienceUI is that is changes your normal, boring-looking setup wizard into a
+              user-friendly, themed environment for installing a program - a functional, fast, and pretty alternative to InstallShield®
+              and WISE® Installer.  But, if the ExperienceUI had only one look that gets boring after awhile, who would want to use it,
+              when InstallShield® has tons of free downloadable skins?  That's where the skinning support comes in.  The ExperienceUI
+              allows you to use several preset skins, or even create your own, even if you have little or no scripting knowledge.<br>
+              <br>
+              &nbsp;&nbsp;&nbsp;If you have read the <a href=visual_settings.htm>Global Defines &gt; Basic Settings</a> section, you already know
+              how to use a skin; it only needs <b>one line of code</b>.  But, you can write your own skins, too.  You can integrate
+              the skin file into your script, or create a redistributable skin file that can be downloaded off of the Web and installed
+              just by being clicked on.  See the next section for more information.
+            </p>
+	  
+	  <a name=write id=write></a>
+          
+	  <h1>Writing Skins</h1>
+	  
+              <p style="margin-left: 0.20in">
+                   <font face=Verdana style=font-size:8pt color=#000000><b>How to write your own custom skins</b></font>
+                   <font face=verdana color=#000000 style="font-family: "Verdana; font-size: 10pt; color: #000000; font-weight: medium> step-by-step</font><br>
+          
+                   <p style="margin-left: 0.25in">
+                   <font face=verdana color=#000000 style="font-family: "Verdana; font-size: 10pt; color: #000000; font-weight: medium>
+          
+                   <b>Tip: </b>To make your skin easily customizable, use <code>!insertmacro XPUI_DEFAULT</code> instead of <code>!define</code>.<br>
+                   <b>Another Tip: </b>If you still need help, look at the example skins.
+                   </font>
+          
+                   <p style="margin-left: 0.30in">
+          
+                     <font face=verdana color=#000000 style="font-family: "Verdana; font-size: 10pt; color: #000000; font-weight: medium>
+          
+                       <b>1. Define XPUI_CUSTOMSKIN</b>
+          
+                         <p style="margin-left: 0.50in">
+                         The first thing you need to do is define XPUI_CUSTOMSKIN. This notifies the XPUI header file that you are using a non-default skin for your installer.<br><br>
+          
+                       <p style="margin-left: 0.30in">
+                       <b>2. Define Colors and BGGradient Options</b>
+                         <p style="margin-left: 0.50in">
+                         Next, you need to <a href="visual_settings.htm#colors">define the custom colors</a> for your skin.<br><br>
+          
+                       <p style="margin-left: 0.30in">
+                       <b>3. Create header/footer images and the Left Logo</b>
+                         <p style="margin-left: 0.50in">
+                         Fire up your favorite image editor and whip up a header image, a Left Logo (the picture on the left of the installer), and a footer image if you want one.  Then, put the images in (NSIS Directory)\Contrib\ExperienceUI\Skins\(Skin name).<br>
+			 <br>
+			 <a style="color: #294F75;" href=javascript:void(0) onmouseover="this.style.color='#DA6500'" onmouseout="this.style.color='#294F75'" onclick="alert('ExperienceUI recommended picture dimensions:\n\nLeft Logo: 240x349\nHeader Image: 693x57\nBottom Image: 693x70');">Click here</a> for the recommended dimensions.
+          
+                     <p style="margin-left: 0.30in">
+                     <b>4. Define the Image locations</b>
+          
+                       <p style="margin-left: 0.50in">
+                       Next, you need to tell the ExperienceUI script where to find the pictures you created.  It is recommended that you put the bitmap files in &lt;ExperienceUI Install Dir&gt;\Skins\&lt;skin name&gt;.
+          
+                     <p style="margin-left: 0.30in">
+                     <b>5. Create an XPUI_SET_BG macro</b>
+                       <p style="margin-left: 0.50in">
+		       <b>NOTE:</b> This step is now optional.<br>
+		       <br>
+		       You no longer need to create this macro, but if you want to, you can.  Any code that is used here should be compatible with the NSIS .onGUIInit function.  Use the following code example for your background:</font><br>
+                         <p style="margin-left: 0.50in">
+                         <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">!macro </font><font face="Courier New" style="color: #000000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">XPUI_SET_BG</font><br><br>
+          
+                         <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">  !ifndef </font><font face="Courier New" style="color: #000000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">XPUI_SET_BG_INSERTED</font><br>
+                         <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">    !define </font><font face="Courier New" style="color: #000000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">XPUI_SET_BG_INSERTED</font><br>
+                         <font face="Courier New" style="color: #0000FF; font-family: 'Courier New'; font-decoration: none; font-size=8pt; font-weight: bold">      [your code here...]</font><br>
+                         <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">  !endif<br><br>!macroend</font>
+          
+                     <font face=verdana color=#000000 style="font-family: "Verdana; font-size: 10pt; color: #000000; font-weight: medium>
+                     <p style="margin-left: 0.30in">
+                     <b>6. Create an XPUI_BGFILES_DELETE macro</b>
+                       <p style="margin-left: 0.50in">
+                       You will need to create a macro that deletes any files in the user's TEMP folder and call any finishing plugin calls here.
+                       Use the following code example:</p>
+                       <p style="margin-left: 0.50in">
+                       <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">!macro </font><font face="Courier New" style="color: #000000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">XPUI_BGFILES_DELETE</font><br>
+          
+                       <font face="Courier New" style="color: #0000FF; font-family: 'Courier New'; font-decoration: none; font-size=8pt; font-weight: bold">  [your code here...]</font><br>
+                       <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">!macroend</font>
+                       </p>
+          
+                     <p style="margin-left: 0.30in">
+                     <b>7. Save the File</b>
+                       <p style="margin-left: 0.50in">
+          
+                       Save the file as "${NSISDIR}\Contrib\ExperienceUI\Skins\skin_name.XPUIskin".<br>
+                       Then, to use the skin in your script, simply use the following line:<br>
+                         <p style="margin-left: 0.50in">
+                         <font face="Courier New" style="color: #008000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">!define </font><font face="Courier New" style="color: #000000; font-family: 'Courier New'; font-decoration: none; font-size=8pt">XPUI_SKIN </font><font face="Courier New" style="color: #4A9595; font-family: 'Courier New'; font-decoration: none; font-size=8pt">"skin_name"</font><br>
+                       <font face=Verdana style=font-size:8pt color=#000000>
+                       <p style="margin-left: 0.50in">
+          
+                       Remember <b>not</b> to add the .XPUIskin at the end of the define.  This is done automatically for you.<br>
+          
+                     </font>
+                     <p style="margin-left: 0.30in">
+                     <b>
+                     Congratulations!  You just wrote your own skin for the ExperienceUI!
+                     </b><br>
+          
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/startmenu.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,226 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type=text/javascript src=cmd.js></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Start Menu Page</h1>
+          
+          <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+            
+              The Start Menu page was redesigned in ExperienceUI 1.1 to work like the Modern UI system.  The new Start Menu page was largely
+              based on the Modern UI, so it works the same way.
+            
+            </font>
+          
+          </p>
+          
+          <font face=Verdana style=font-size:8pt>
+          
+            <script type=text/javascript>
+            
+              define('XPUI_STARTMENUPAGE_TITLE', '"Header Top"', 'The top layer of text on the header.', '"Select Start Menu Folder"');
+              define('XPUI_STARTMENUPAGE_SUBTITLE', '"Header Bottom"', 'The bottom layer of text on the header.', '"Select the folder in which to create shortcuts to &lt;NAME&gt;"');
+              define('XPUI_STARTMENUPAGE_CAPTION', '": Text"', 'The text added to the window caption.', '": Start Menu Folder"');
+              define('XPUI_STARTMENUPAGE_TEXT', '"Page Top"', 'The text at the top  of the page.', '"Select the Start Menu folder in which to create shortcuts to &lt;NAME&gt;:"');
+              define('XPUI_STARTMENUPAGE_CHECKBOX', '"Check Box"', 'The text at on the check box that indicates not to create a Start Menu folder.', '"Don\'t create a Start Menu folder"');
+              define('XPUI_STARTMENUPAGE_FOLDER', '"Folder Name"', 'The default name of the folder to create Start Menu shortcuts in.', '"&lt;NAME&gt;"');
+              // define('', '', '', '');
+              
+              var parentparams=new Object();
+              var aParams=parent.window.location.search.substr(1).split('&');
+              for (i=0;i<aParams.length;i++) {
+                var aParam=aParams[i].split('=');
+                var sParamName=aParam[0];
+                var sParamValue=aParam[1];
+                parentparams[sParamName]=sParamValue;
+              }
+            
+            </script>
+          
+          </font>
+          
+          <h1>Get the return</h1>
+          
+          <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+            
+              Of course, you need to have a way to read which folder the user selected, or if the user decided not to create shortcuts.  Reading the
+              return from the Start Menu page is now automated.
+            
+            </font>
+          
+          </p>
+          
+          <h2>Macros</h2>
+          
+          <font face=Verdana style=font-size:8pt>
+            
+            <script type=text/javascript>
+            
+              macro('XPUI_STARTMENU_WRITE_BEGIN', 'page_id', 'Insert this macro to have the ExperienceUI read the user\'s Start Menu folder selection.  After you insert this macro, you should create any shortcuts (or do any other related operations) and then insert XPUI_STARTMENU_WRITE_END.  page_id should be the text you specified when you inserted XPUI_PAGE_STARTMENU.  After you insert this macro, the variable you specified when you inserted XPUI_PAGE_STARTMENU will contain the user\'s folder selection (if any).');
+              macro('XPUI_STARTMENU_WRITE_END', '', 'Finishes a block started with XPUI_STARTMENU_WRITE_BEGIN.  If you fail to include this in the same section or function where you started the block, MakeNSIS will halt.');
+            
+            </script>
+          
+          </font>
+          
+          <h1>Component Manager Compatibility</h1>
+          
+            <p style="margin-left:0.2in">
+              <font face=Verdana style=font-size:8pt>
+                If you use <a href="javascript:if(parentparams['banner']){parent.window.location='browser.htm?url=http://xpui.sourceforge.net/compmgr/&return=startmenu.htm&banner=no'}else{parent.window.location='browser.htm?url=http://xpui.sourceforge.net/compmgr/&return=startmenu.htm'};">Component Manager</a> in your installer, and you use the Start Menu shortcut feature, the Start Menu page can be a little tricky.
+                For Component Manager versions 0.2 and earlier, this is rather complex.  CM versions 0.3 and later are more automated.
+              </font>
+            </p>
+            
+            <h2>Versions 0.3 and later</h2>
+            <ol>
+              <li><b>Include the ExperienceUI and Component Manager.</b><br />
+                  <br />
+                  This one should be pretty self-explanatory.  Include XPUI.nsh and CM.nsh.  See the appropriate documentation for more
+                  information on including the header files.<br /><br /></li>
+              <li><b>Component Manager Languages</b><br />
+                  <br />
+                  Insert Component Manager language files now.<br />
+                  <br />
+                  <pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> CM_LANGUAGE </span><span class="nsis1-string">&quot;English&quot;</span></span></code></pre>
+                  </li>
+              <li><b>Maintenance Pages</b><br />
+                  <br />
+                  Now, add in Component Manager's page suite.<br />
+                  <br />
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> CM_PAGES</span></span></code></pre>
+                  </li>
+              <li><b>ExperienceUI Pages</b><br />
+                  <br />
+                  Here you should insert any other pages, including the Start Menu page, as normal.<br />
+                  <br />
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> Welcome
+</span><span class="nsis1-variable">${LicensePage}</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;License_pro.rtf&quot;
+</span><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> </span><span class="nsis1-parameter">Components
+</span><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> </span><span class="nsis1-parameter">Directory
+</span><span class="nsis1-variable">${StartMenuPage}</span><span class="nsis1-space"> App </span><span class="nsis1-variable">$R9
+${Page}</span><span class="nsis1-space"> InstConfirm
+</span><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> </span><span class="nsis1-parameter">InstFiles
+</span><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> Finish
+</span><span class="nsis1-variable">${Page}</span><span class="nsis1-space"> Abort</span></span></code></pre>
+                  </li>
+              <li><b>Sections</b><br />
+                  <br />
+                  Insert Component Manager-enhanced sections into the script.<br />
+                  <br />
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-variable">${Section}</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;My Program&quot;</span><span class="nsis1-space"> SecProgram </span><span class="nsis1-string">&quot;Description&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-variable">${SetOutPath}</span><span class="nsis1-space"> </span><span class="nsis1-variable">$INSTDIR
+</span><span class="nsis1-space">  </span><span class="nsis1-variable">${File}</span><span class="nsis1-space"> reg.dat </span><span class="nsis1-string">&quot;regversion\reg.dat&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-variable">${Directory}</span><span class="nsis1-space"> </span><span class="nsis1-string">`</span><span class="nsis1-variable">$</span><span class="nsis1-string">%PROGRAMFILES%\My Program`
+</span><span class="nsis1-variable">${Section}</span></span></code></pre>
+                  </li>
+                  <li><b>CM File Functions</b><br />
+                      <br />
+                      Finally, insert Component Manager's CM_FILES macro.  This defines all the functions used in CM_PAGES.<br />
+                      <br />
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> CM_FILES</span></span></code></pre>
+                      </li>
+                  <li><b>ExperienceUI Language Files</b><br />
+                      <br />
+                      Last, list all the languages you want your installer to support here.  Note that both the ExperienceUI and Component
+                      Manager must support the languages you are using.<br />
+                      <br />
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;English&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;Spanish&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;German&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;French&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;PortugueseBR&quot;</span></span></code></pre>
+
+                      </li>
+                </ol>
+                
+                <h2>Versions 0.2 and earlier</h2>
+                
+                <p style="margin-left: 0.2in"><b>Note:</b> these directions are based on an old version of Component Manager.  They have not
+                been tested, but they should still work.<br />
+                <br />
+                In a related note, Component Manager 0.3 has not been tested with ExperienceUI 1.1.051202 (the final version of the ExperienceUI SDK version 1.1).<br />
+                <br />
+                With Component Manager 0.2, the Start Menu shortcut
+                feature needs to know the appropriate page ID and variable, and it needs to call the ExperienceUI start menu creation macro.
+                The problem is, the Start Menu page has to be inserted <i>before</i> Component Manager calls XPUI_STARTMENU_WRITE_BEGIN.
+                Inserting XPUI_PAGE_STARTMENU and then CM_SYSTEM would work, but the Component Manager maintenance pages would be after the
+                Start Menu page.  These macros allow you to define any necessary settings for the Start Menu page, but delay calling it
+                until where it would normally appear. 
+                </p>
+                
+            <script type=text/javascript>
+            
+              macro('XPUI_PAGE_STARTMENU_INIT', 'page_id var', 'Inserts a new start menu page into the installer and creates any related functions, but does not actually call the page.  This macro has to be used before inserting ${StartMenu} commands in Component Manager and before inserting CM_SYSTEM.  Inserting XPUI_PAGE_STARTMENU and then CM_SYSTEM would work, but the maintenance page system would be after the Start Menu page.');
+              macro('XPUI_PAGE_STARTMENU_SHOW', 'page_id', 'Shows a Start Menu page created with XPUI_PAGE_STARTMENU_INIT.  Use this where you would normally insert XPUI_PAGE_STARTMENU.');
+              
+            </script>
+
+<div style="margin-left: 0.2in">
+<font face=Verdana style=font-size:8pt>
+<b>Example:</b>
+</font>
+</div>
+<div style="margin-left: 0.4in">
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!include</span><span class="nsis1-space"> CM.nsh
+</span><span class="nsis1-directive">!include</span><span class="nsis1-space"> XPUI.nsh
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_STARTMENU_INIT MyApp </span><span class="nsis1-variable">$R0
+
+</span><span class="nsis1-space"> </span><span class="nsis1-comment"># ...
+
+</span><span class="nsis1-variable">${Section}</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Start Menu Shortcuts&quot;</span><span class="nsis1-space"> SecSM </span><span class="nsis1-string">&quot;Creates Start Menu Shortcuts&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-variable">${StartMenu}</span><span class="nsis1-space"> MyApp </span><span class="nsis1-variable">$R0
+</span><span class="nsis1-space">    </span><span class="nsis1-variable">${CreateShortcut}</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Start the Program&quot;</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;</span><span class="nsis1-variable">$INSTDIR</span><span class="nsis1-string">\MyApp.exe&quot;
+</span><span class="nsis1-space">  </span><span class="nsis1-variable">${StartMenuEnd}
+${SectionEnd}
+
+</span><span class="nsis1-space"> </span><span class="nsis1-comment"># ...
+
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> CM_PAGES
+ </span><span class="nsis1-comment"># ...
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_STARTMENU_SHOW MyApp
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE </span><span class="nsis1-string">&quot;English&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> CM_FILES
+</span></span>
+</code></pre>
+</div>
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/style.css	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,218 @@
+body
+        {
+        padding: 10px;
+        background-color: #000000;
+        font-size: 13px;
+        font-family: Verdana, Tahoma, Segoe UI, Arial, Helvetica, sans-serif;
+        font-weight: normal;
+        text-align: left;
+        scrollbar-face-color:#EA7500;
+        scrollbar-highlight-color:#FF9520;
+        scrollbar-3dlight-color:#FFFFFF;
+        scrollbar-darkshadow-color:#000000;
+        scrollbar-shadow-color:#0A2254;
+        scrollbar-arrow-color:#FFFFFF;
+        scrollbar-track-color:#1C3977;
+        }
+        
+p, li
+        {
+        font-size: 8pt;
+        }
+
+h1
+        {
+	font-family: Verdana;
+        font-size: 14pt;
+        color: #7A7272;
+        font-weight: normal;
+        }
+
+h2
+        {
+	font-family: Verdana;
+        font-size: 12pt;
+        font-weight: normal;
+        color: #7A7272;
+        }
+
+h3
+        {
+	font-family: Verdana;
+        font-size: 10pt;
+        font-weight: normal;
+        color: #3E6097;
+        }
+	
+m1
+        {
+	font-family: Verdana;
+        font-size: 14pt;
+        color: #7A7272;
+        font-weight: normal;
+        }
+
+m2
+        {
+	font-family: Verdana;
+        font-size: 10pt;
+        font-weight: normal;
+        color: #000000;
+        }
+
+m3
+        {
+	font-family: Verdana;
+        font-size: 10pt;
+        font-weight: normal;
+        color: #294F75;
+        }	
+
+tahead
+        {
+        font-family: "Verdana";
+        font-size: 12pt;
+        color: #000000;
+        font-weight: bold;
+        }
+
+tabold
+        {
+        font-family: "Verdana";
+        font-size: 10pt;
+        color: #000000;
+        font-weight: bold;
+        }
+
+tanorm
+        {
+        font-family: "Verdana";
+        font-size: 10pt;
+        color: #000000;
+        font-weight: medium;
+        }
+
+.nsis1-reservedword
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #0000FF;
+         font-weight: bold;
+         }
+	 
+.nsis1-function
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #0000FF;
+         font-weight: bold;
+         }	 
+
+.nsis1-parameter
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #FF8040;
+         font-weight: normal;
+         }
+
+.nsis1-directive
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #008000;
+         font-weight: normal;
+         }
+
+.nsis1-space
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #000000;
+         font-weight: normal;
+         }
+
+.nsis1-string
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #4A9595;
+         font-weight: normal;
+         }
+.nsis1-comment
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #000080;
+         font-weight: bold;
+         }
+.nsis1-variable
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #800000;
+         font-weight: normal;
+         }
+.ini1-directive {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #008000;
+         font-weight: normal;  
+}
+.ini1-reservedword
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #0000FF;
+         font-weight: bold;
+         }
+.ini1-parameter
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #FF8040;
+         font-weight: normal;
+         }
+.footer
+        {
+        font-size: 10px;
+        text-align: right;
+        color: #909090;
+        margin: 5px;
+	font-family: verdana, sans-serif;
+        }
+.ini1-string
+         {
+         font-size: 8pt;
+         font-family: "Courier New";
+         color: #4A9595;
+         font-weight: normal;
+         }        
+a:link, a:visited, a:active
+        {
+        color: #294F75;
+        text-decoration: none;
+        padding-right: 14px;
+        display: inline;
+        background: url('../Images/link.gif') center right no-repeat;
+        }
+
+a:hover
+        {
+        color: #E76400;
+        text-decoration: none;
+        }
+
+toptext  {
+        font-size : 28pt;
+        font-family : Verdana;
+        font-weight : bold;
+        color : #004687;
+        line-height : 100%;
+        filter: shadow(color=#808080, direction=115, strength=4); height: 40px; width: 100%; color: FFFFFF;
+        }
+acronym {
+  border-bottom: 1px dotted #000;
+  cursor: help;
+}
+          
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/syntax.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,87 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type="text/javascript" src=cmd.js></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+                  <h1>Syntax: What it all means</h1>
+                    <p style="margin-left: 0.20in">
+                    <font style="color: #000000">
+                      Commands in this documentation are presented as follows:<br>
+                      <br>
+                      <script type="text/javascript">
+                        define("XPUI_DEFINE", "Parameters</i> or <i>\"The Params\"", "Description of the symbol", "Default value here");
+                        macro("XPUI_MACRO", "Param1 \"Parameter #2\"", "Description of macro");
+                      </script>
+                      <p style=margin-left:0.2in>
+                      <font face=Verdana style=font-size:8pt>
+                      Some defines are true/false values.  These are considered true if the value is defined, and false otherwise.
+                      
+                      <script type="text/javascript">
+                        define("XPUI_BOOLEAN", "No parameters (true/false value)", "Description of the symbol", "true/<b>false</b>");
+                      </script>
+                      
+                      <p style=margin-left:0.2in>
+                      <b>NSIS Syntax Highlighting</b><br>
+                      <br>
+                      The ExperienceUI SDK Documentation also uses syntax highlighting for various NSIS commands and parameters.  Here's how it works:<br>
+                      <br>
+                      <font face="Courier New" style=font-size:8pt>
+                        <font color=#0000FF><b>NSISCommand</b></font> <font color=#FF8040>/NSIS /Parameter</font> NSIS_String_Not_Quoted <font color=#008080>"NSIS String in quotes <font color=#800000><i>$WITH_VAR</i></font>"</font><br>
+                        <font color=#008040>!directive </font>XPUI_DEFINE_SYMBOL <font color=#008080>"XPUI Define Value"</font>
+                      </font><br>
+		      <br>
+                      
+                    </font>
+                  </p>
+		  
+		  <h1>Inserting Commands</h1>
+		  
+		    <p style=margin-left:0.2in>
+		    
+		      <font face=Verdana style=font-size:8pt>
+		      
+		        In the ExperienceUI, all has a set order and organization.  The method for inserting commands and setting settings has been fine-tuned for the best
+			possible performance and the easiest possible setting of settings.<br>
+			<br>
+			To insert ExperienceUI-related macros, you must include the XPUI.nsh file before the point in the script where the macro is inserted.  If you fail to do
+			this, the NSIS compiler will halt.<br>
+			<br>
+			If you want custom GUI settings, you must define them before inserting the first language into your script.<br>
+			<br>
+			To change strings for any given language, you will need to define the string in the language you want it in, and then insert the associated 
+			XPUI_LANGUAGE macro.<br>
+			<br>
+                        To change the UI that is used, you must define XPUI_UI, XPUI_UI_IDDINST, XPUI_UI_BOTTOMIMAGE, or XPUI_WANSIS_UI <b>before</b> including XPUI.nsh.  This is because some of the branding image controls are referenced in every page, and MakeNSIS requires that these controls be present in the current UI file.
+		      </font>
+		    
+		    </p>
+		    
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/useful_macros.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,61 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+	  <h1>Useful macros</h1>
+	  <p style="margin-left: 0.20in">
+	  <font face=Verdana style=font-size:8pt color=#000000>
+	  Of course, there are macros that the ExperienceUI uses for its system that are great in your script.  Here are a few:<br>
+	  <br>
+	  <b>XPUI_SET</b> <font color=#294F75>Symbol Value</font> - Defines a symbol, and sets it to the value specified.  If the symbol is
+	  already defined, its value will be overwritten.<br>
+	  <br>
+	  <b>XPUI_UNSET</b> <font color=#294F75>Symbol</font> - !undefs a symbol if it is defined.  This is a safer way to undefine a symbol,
+	  because if you try to undefine a symbol using !undef, and it isn't defined, MakeNSIS will stop compiling your script.<br>
+	  <br>
+	  <b>XPUI_DEFAULT</b> <font color=#294F75>Symbol Value</font> - Defines a symbol.  If the symbol is already defined, its value will
+	  <b>not</b> be overwritten.<br>
+	  <br>
+	  <b>XPUI_INNERDIALOG_TEXT</b> <font color=#294F75>Text Control_ID</font> - Sets control Control_ID to Text on the inner dialog (RECT
+	  1018).<br>
+	  <br>
+	  <b>XPUI_PAGECOLOR_INIT</b> <font color=#294F75>Control_ID</font> - Sets Control_ID on the <b>inner child window</b> to the XPUI
+	  dialog colors.<br>
+	  <br>
+	  <b>XPUI_PAGEBG_INIT</b> <font color=#294F75></font> - Sets control 1005 on the inner dialog to the background color.<br>
+	  <br>
+	  <b>XPUI_SET_BG</b> <font color=#294F75></font> - Initializes the background image.  Use this if you have a) a custom skin, and b)
+	  if you have custom pages that occur before the first ExperienceUI-native page.<br>
+	  <br>
+	  </font>
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/using.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,149 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type="text/javascript" src="cmd.js"></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+<h1>Using the ExperienceUI</h1>
+
+<font face=Verdana style=font-size:8pt>
+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.<br>
+<br>
+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.<br>
+<br>
+If you haven't done so, I recommend that you read the <a href=syntax.htm><b>syntax</b> page</a> before diving into this.
+<br>
+  <p style=margin-left:0.20in>
+  <b>If you are creating a new script</b> or upgrading a script from the standard UI<br>
+  <br>
+  <ul type=1 style=margin-left:0.40in>
+    <li><b>Include the header file.</b><br>
+        <br>
+	Include the header file with:<br><br>
+	<font face="Courier New"><font color=#008000>!include </font>XPUI.nsh</font>.<br><br>
+	This notifies NSIS that you want to use the ExperienceUI.  The XPUI.nsh file is in &lt;NSIS Folder&gt;\Include, so you don't need
+	to specify a path.<br>
+	<br></li>
+    <li><b>GUI Settings</b><br>
+        <br>
+	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.<br>
+        <br></li>
+    <li><b>Installer Pages</b><br>
+    	<br>
+	Insert <a href=page_macros.htm>pages</a> into the script.  
+	<a href=page_settings.htm>Read about page settings...</a><br>
+    <br></li>
+    
+    <li><b>Your own sections and functions</b><br>
+        <br>
+	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.<br>
+        <br></li>
+    <li><b>Custom code for ExperienceUI pages</b><br>
+        <br>
+	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.  <a href=custfunc.htm>More about custom functions...</a><br>
+	<br></li>
+    <li><b>Your own pages</b><br>
+        <br>
+	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 <b>InstallOptions</b> to create custom pages.<br>
+	<br>
+	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 <a href=io.htm>InstallOptions Macros</a> to display the page.<br>
+        <br>
+	Here is an example custom page:<br>
+	<br>
+	<font face="Courier New">
+	<font color=#008000>!insertmacro </font>XPUI_PAGE_WELCOME<br>
+	<font color=#008000>!insertmacro </font>XPUI_PAGE_COMPONENTS<br>
+	<font color=#000080><b>; this page will be in between the Components and Install Confirm pages</b></font><br>
+	<font color=#0000FF><b>Page </b></font><font color=#FF8040>custom </font>CstmPage <font color=#008080>"" " - Custom Page!" </font><br>
+	<font color=#008000>!insertmacro </font>XPUI_PAGE_INSTCONFIRM<br>
+	<br>
+	<font color=#0000FF><b>Function </b></font>CstmPage<br>
+	&nbsp;&nbsp;<font color=#008000>!insertmacro </font>XPUI_INSTALLOPTIONS_EXTRACT MyPage.ini<br>
+	&nbsp;&nbsp;<font color=#008000>!insertmacro </font>XPUI_INSTALLOPTIONS_SHOW <font color=#008080>"MyPage.ini"</font><br>
+	<font color=#0000FF><b>FunctionEnd</b></font>
+	</font>
+	
+	<br>
+	<br></li>
+    <li><b>Section Descriptions</b><br>
+        <br>
+	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.  <a href=secdesc.htm>Read more...</a><br>
+        <br></li>
+        
+    <li><b>Language Files</b><br>
+        <br>
+        Insert languages into your installer.  
+        The languages included with the ExperienceUI are English, French, German, PortugueseBR (Brazilian Portuguese), and Spanish.<br>
+        <br>
+        You must insert at least one language into your installer in order for the ExperienceUI to work properly.<br>
+        <br>
+        <font face="Courier New"><font color=#008000>!insertmacro </font>XPUI_LANGUAGE <font color=#008080>"English"</font><br>
+        <font face="Courier New"><font color=#008000>!insertmacro </font>XPUI_LANGUAGE <font color=#008080>"PortugueseBR"</font></font></font><br>
+        <br>
+        You don't need to insert XPUI_FUNCTION_GUIINIT anymore, because it is now inserted the first time you insert a language.<br>
+        <br></li>
+  </ul>
+  </p>
+  <p style=margin-left:0.20in><b>Converting a Modern UI, UltraModern UI, or InstallSpider UI script</b></p>
+  <p style=margin-left:0.40in>
+    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.<br>
+    <br>
+    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)<br>
+    <br>
+    To use the ExperienceUI in a Modern UI, UltraModern UI, or InstallSpider UI script, just change the include.  Example:<br>
+    <br>
+    Old:<br>
+    <font face="Courier New"><font color=#008000>!include </font><font color=#008080>"MUI.nsh"</font> <font color=#000080><b>; or UMUI.nsh or ISUI.nsh...</b></font>
+    </font><br>
+    <br>
+    New:<br>
+    <font face="Courier New"><font color=#008000>!include </font><font color=#008080>"XPUI.nsh"</font>
+    </font><br>
+    <br>
+  </p>
+</font>
+
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/visual_settings.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,255 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+    <script type=text/javascript src=cmd.js></script>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+	     <a name=basic id=basic></a>
+       
+       <h1>How skins work</h1>
+       
+         <p style="margin-left: 0.2in">
+           In the ExperienceUI world, there are two ways of doing the actual skinning.  The first - and most common - is the conventional
+           NSIS-based method of skinning.  The second is skinning using an external plugin, such as <a href=wansis.htm>WAnsis</a>.  The
+           define XPUI_SKIN applies only to conventional skins; XPUI_WANSIS_SKIN applies to installers using WAnsis.
+         </p>
+         <p style="margin-left: 0.2in">
+           Blah
+         </p>
+	     
+	     <h1>Basic Settings</h1>
+	  
+		       <font face=Verdana style=font-size:8pt>
+                
+                <script type="text/javascript">
+                  define("XPUI_SKIN", "skinfilename_nodir_noext", "Sets the skin used for your installer.  The skins included with the ExperienceUI are Windows XP, Orange, and Modern-blue.  Behind the scenes, the ExperienceUI includes a skin file with:<br><code>!include ${NSISDIR}\\Contrib\\ExperienceUI\\Skins\\${XPUI_SKIN}.xpuiskin</code><br><br><b>Note:</b> to use one of the new WAnsis skins (Bliss, LCD, or Forum) please see the <a href=wansis.htm>WAnsis Page</a>.<br>", "undefined<br>Example: <code>!define XPUI_SKIN \"Windows XP\"</code>");
+                  define("XPUI_BRANDINGTEXT", "\"Text\"", "Sets the text at the bottom of the installer.","\" \" [blank string]");
+                  document.write("<div style='margin-left:0.2in'>");
+                    define("XPUI_BRANDINGTEXT_COLOR_FG", "hex_color", "The foreground color of the branding text.", "606060");
+                    define("XPUI_BRANDINGTEXT_COLOR_BG", "hex_color", "The drop shadow color of the branding text.", "808080");
+                  document.write("<\/div>");
+                  define("XPUI_UI", "Path_to_uifile", "Sets the NSIS dialog file used for all of the installer dialogs except IDD_INST (not IDD_INSTFILES).  To create custom UI files, use Resource Hacker or another resource editor.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\UIs\\UI.exe</code>");
+                  define("XPUI_UI_IDDINST", "Path_to_uifile", "The UI file used for dialog 105 (the wrapper dialog for all of the other \"child\" windows.) It is recommended that you leave this at the default setting.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\UIs\\HeaderUI.exe</code>");
+                  define("XPUI_DISABLEBG", "<i>No parameters</i> (true/false value)", "Define this to disable all of the background effects.  Use this if you want to save a little space if you are distributing your program over the web.  This define also disables any custom backgrounds that skins may have.", "true/<b>false</b>");
+                  define("XPUI_LEFTLOGO", "Image_file", "The Left Logo is the image on the left of the installer, usually an XP-style \"computer\" graphic.  Recommended size: <b>240</b>x<b>349</b> pixels.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\Skins\\Default\\LeftBranding.bmp</code>");
+                </script>
+                <a name=reserve id=reserve></a>
+                <script type="text/javascript">
+                  define("XPUI_RESERVEFILES", "<i>No parameters</i> (true/false value)", "Define this before inserting language files to have all ExperienceUI files added to the beginning of the installer's data block.  This can make the installer loading process a bit faster in large installers.", "true/<b>false</b>");
+                </script>
+  
+	  <a name=abort id=abort></a>                                                                                                                                                                           
+	  <h1>Abort Warning</h1>
+	  <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+              An abort warning is a message that shows when you click Cancel.  If you don't use an abort warning, the installer will close
+              as soon as you click Cancel.
+            </font>
+          
+                <script type="text/javascript">
+                  define("XPUI_ABORTWARNING", "No parameters (true/false value)", "Define this to make the installer show a confirmation screen when the user clicks Cancel.", "true/<b>false<\/b>");
+                  define("XPUI_ABORTWARNING_TEXT", "String", "The text used on the confirmation message box.", "<div style=margin-left:0.6in;>You are about to quit &lt;NAME&gt; Setup.$\\n<br>$\\n<br>If you quit now, &lt;NAME&gt; will not be installed.$\\n<br>$\\n<br>Do you want to continue?</div>"); 
+                </script>
+                
+                <div style="border: 1px solid #709080; background-color: #C0F0D0; padding: 10px; margin-left: 0.2in">
+                  <b>If you don't use an Abort Warning</b><br>
+                  <br>
+                  If you have an Abort Page in your installer, you may want to use an automatic abort warning in order to make the Abort page
+                  trigger properly.  If you aren't using the ExperienceUI's built-in abort warning system, you can insert the following
+                  function to properly invoke the Abort page.<br>
+                  <br>
+                  <script type="text/javascript">
+                    var noset;
+                    function expandFunction(name) {
+                      if(document.getElementById(name+"Function").style.display=="block") {
+                        document.getElementById(name+"Function").style.display="none";
+                        document.getElementById(name+"Toggle").src="../Images/plus.gif";
+                        if(!noset) {
+                        document.getElementById(name+"Trigger").innerText=unescape("Expand "+name+" function");
+                        }
+                      } else {
+                        document.getElementById(name+"Function").style.display="block";
+                        document.getElementById(name+"Toggle").src="../Images/minus.gif";
+                        if(!noset) {
+                        document.getElementById(name+"Trigger").innerText=unescape("Collapse "+name+" function");
+                        }
+                      }
+                      noset=false;
+                    }
+                  </script>
+                  <a href="javascript:expandFunction('abort');"><img id=abortToggle border="0" hspace=3 src="../Images/plus.gif"></a><a href="javascript:expandFunction('abort');" id=abortTrigger>Expand Abort function</a><br>
+                  <div style="margin-left:0.2in;display:none" id=abortFunction><br>
+                    <font face="Courier New" style="font-size: 8pt">
+                  <font color=#0000FF><b>Function&nbsp;</b></font><font color=#000000>.onUserAbort</font><br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>StrCmp</b>&nbsp;</font><font color=#800000><i>$NOABORTWARNING</i></font>&nbsp;<font color=#008080>1</font>&nbsp;<font color=#000000>CloseMe</font><br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>MessageBox&nbsp;</b><font color=#FF8040>MB_YESNO</font><font color=#000000>|</font><font color=#FF8040>MB_ICONQUESTION</font>&nbsp;<font color=#008080>"Are&nbsp;you&nbsp;sure&nbsp;you&nbsp;want&nbsp;to&nbsp;cancel&nbsp;Setup?"</font>&nbsp;<font color=#FF8040>IDNO</font>&nbsp;<font color=#000000>NoAbort</font><br>
+                  &nbsp;&nbsp;<font color=#000080><b># any custom code you want before the Abort page is called here...</b></font><br>
+                  &nbsp;&nbsp;<font color=#008000>!insertmacro&nbsp;</font><font color=#000000>XPUI_USERABORT</font><br>
+                  &nbsp;&nbsp;<font color=#000000>NoAbort:<br>
+                  &nbsp;&nbsp;<font color=#0000FF><b>Abort</b></font><br>
+                  &nbsp;&nbsp;<font color=#000000>CloseMe:</font><br>
+                  &nbsp;&nbsp;<font color=#000080><b># any custom code you want before the installer exits here...</b></font><br>
+                  <font color=#0000FF><b>FunctionEnd</b></font>
+                </font>
+                </font>
+                </font>
+                  </div>
+                  
+                </div>
+                <br />
+                <div style="border: 1px solid #709080; background-color: #C0F0D0; padding: 10px; margin-left: 0.2in">
+                  <b>$NOABORTWARNING: The mystery revealed</b><br />
+                  <br />
+                  I just realized that though this "mystery" variable has been used with the ExperienceUI forever past, it never got a
+                  mention in the documentation.  Here's why it's here:<br />
+                  <br />
+		  <b>Note:</b> In ExperienceUI versions <=1.1, the variable was $NOABORTWARNING.  It was renamed to $NOABORTWARNING in versions 1.11.<br />
+		  <br />
+                  The Abort and InstSuccess pages, as you may have noticed, take advantage of an NSIS hack to make the Cancel button close
+                  the installer window without a prompt.  The $XPUI_NOABORTWARNING variable is always declared, even if it isn't used, because
+                  of the way the ExperienceUI references variables.  When the Abort page or the InstSuccess page is triggered, it uses
+                  <code>StrCpy $NOABORTWARNING 1</code> to make the .onUserAbort function quit the installer immediately after the Cancel
+                  button (which has become the close button) is clicked.<br />
+                  <br />
+                  The thing is, when I created the first tests of the ExperienceUI code, I was also working on a few installers for some
+                  people.  The installers used the Modern UI, but with many custom pages (such as the Install Success page) that later
+                  found their way into the ExperienceUI.  I used the $NOABORTWARNING variable to keep track of whether the Cancel button
+                  <i>cancelled</i> the installer or <i>closed the installer window</i>.  The variable was renamed to $XPUI_NOABORTWARNING in ExperienceUI version 1.11.<br />
+                  <br />
+                  You can use this variable too - all the ExperienceUI pages and functions understand it.  If you know basic window
+                  manipulation (very C++), you can do this quite easily: Disable the "Next" button, and set $XPUI_NOABORTWARNING to 1.  When you
+                  click Cancel on the affected page, the installer will quit instantly.  Optionally, you can set the text on the Cancel
+                  button to Close or whatever.
+                </div>
+                
+	    	</p>
+                
+          <a name=colors id=colors></a>                                                                                                                                                                           
+	  <h1>Dialog Colors</h1>
+	  <p style=margin-left:0.2in>
+          
+                <script type="text/javascript">
+                  define("XPUI_TEXT_COLOR", "HEX_COLOR", "The color used for all of the text in the installer.", "0xB4D3EA");
+                  define("XPUI_TEXT_BGCOLOR", "HEX_COLOR", "The color used for the background of the installer.", "0x566978");
+                  define("XPUI_TEXT_LIGHTCOLOR", "HEX_COLOR", "The color used on accented text.", "0xFFFFFF");
+                </script>
+                
+	    	</p>
+		
+		<a name=buttons id=buttons></a>
+		
+		<h1>Navigation Buttons</h1>
+	  
+		<script type="text/javascript">
+                  define("XPUI_BUTTONTEXT_NEXT", "Text", "The text used on the Next button.", "Next");
+                  define("XPUI_BUTTONTEXT_BACK", "Text", "The text used on the Back button.", "Back");
+                  define("XPUI_BUTTONTEXT_CANCEL", "Text", "The text used on the Cancel button.", "Cancel");
+                  define("XPUI_BUTTONTEXT_CLOSE", "Text", "The text used on the Finish button.  Usually \"Done,\" \"Finish,\" or \"Close.\"", "Close");
+                </script>
+                
+                <p style=margin-left:0.2in>
+	    	  After defining custom text for buttons, that text will be used in the next language inserted.  Defining any custom button
+                  text after inserting the last language will have no effect in the final installer.
+		</p>
+                
+                <a name=pagebg id=pagebg></a>
+                
+                <h1>Page Background Image</h1>
+                
+                <p style="margin-left: 0.2in">
+                  You can show a bitmap in the background of your installer's pages.  Support for thie feature is still experimental, but it should work
+                  for most pages.  Note that Stardock WindowBlinds 5.0 can cause problems with this, and 4.x versions are known to cause radio buttons and
+                  check boxes to not work at all.  Also, avoid using icon controls that show an icon with a 32x32 image that contains an alpha channel, as this causes the background
+                  of the icon controls to show up as black.
+                </p>
+                
+                <script type="text/javascript">
+                  define("XPUI_BGIMAGE", "No parameters (true/false value)", "Define this to enable the use of a bitmap in the background of the main page area.  Support for this feature is experimantal but works for most installers.", "true/<b>false</b>");
+                  define("XPUI_BGIMAGE_BMP", "C:\\Path\\To\\Bitmap.bmp", "The bitmap file used for the background image.  I recommend that you start with a blank canvas filled with the value used for XPUI_PAGE_BGCOLOR.", "&lt;NSIS&gt;\\Contrib\\ExperienceUI\\Skins\\Default\\Page.bmp<br />Recommended size: <b>693</b>x<b>512</b>");
+                </script>
+
+                <p style="margin-left: 0.2in">
+                  <b>A note on skins:</b><br />
+                  <br />
+                  When you use a page background image, you may need to change the Left Logo image.  If you want to allow the user of your skin to turn the
+                  page background image on or off, you may want to use the following code to be sure that the Left Logo is changed properly.<br />
+                  <br />
+                  <a href="javascript:var noset=true;expandFunction('BGFunction');"><img id=BGFunctionToggle border="0" hspace=3 src="../Images/plus.gif"></a><a href="javascript:var noset=true;expandFunction('BGFunction');" id=BGFunctionTrigger>Expand code</a><br>
+                  </p>
+
+<div style="margin-left:0.3in;display:none" id=BGFunctionFunction><br>                  
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!ifdef</span><span class="nsis1-space"> XPUI_PAGE_BGIMAGE
+  </span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_DEFAULT XPUI_LEFTLOGO </span><span class="nsis1-string">&quot;</span><span class="nsis1-variable">${NSISDIR}</span><span class="nsis1-string">\Contrib\ExperienceUI\Skins\MySkin\LeftLogo_PageBG.bmp&quot;
+</span><span class="nsis1-directive">!else
+</span><span class="nsis1-space">  </span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_DEFAULT XPUI_LEFTLOGO </span><span class="nsis1-string">&quot;</span><span class="nsis1-variable">${NSISDIR}</span><span class="nsis1-string">\Contrib\ExperienceUI\Skins\MySkin\LeftLogo.bmp&quot;
+</span><span class="nsis1-directive">!endif
+</span></span>
+</code></pre>
+</div>
+
+		<a name=header id=header></a>
+		
+		<h1>Header Image</h1>
+                
+                <script type="text/javascript">
+                  define("XPUI_HEADERIMAGE_BMP", "Bitmap_file", "The bitmap used for the header background at the top of the installer.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\Header.bmp</code><br>Recommended size: <b>693</b>x<b>57</b> pixels");
+                  define("XPUI_HEADERIMAGE_NORESIZETOFIT", "No Parameters (true/false value)", "Don't resize the header image to fit the bitmap control.  Avoid using this option if your bitmap fits exactly.", "true/<b>false</b>");
+                  define("XPUI_UNHEADERIMAGE_BMP", "Bitmap_file", "The bitmap used for the header background at the top of the <b>uninstaller</b>.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\Header.bmp</code><br>Recommended size: <b>693</b>x<b>57</b> pixels");
+                </script>
+	  
+		<a name=bottom id=bottom></a>
+		
+		<h1>Bottom Image</h1>
+                
+                <script type="text/javascript">
+                  define("XPUI_NOBOTTOMIMAGE", "No parameters (true/false value)", "By default, the ExperienceUI uses a bitmap at the bottom of the installer window behind the Back, Next, and Cancel buttons.  Define this to turn this off and save ~2kb.", "true/<b>false</b>");
+                  define("XPUI_BOTTOMIMAGE_BMP", "Bitmap_file", "The bitmap used for the button background at the bottom of the installer.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\Bottom.bmp</code><br>Recommended size: <b>693</b>x<b>70</b> pixels");
+                  define("XPUI_UI_BOTTOMIMAGE", "Path_to_uifile.exe", "The IDD_INST dialog file for installers that use bottom images.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\HeaderUI_BtmImg.exe</code>");
+                  define("XPUI_BOTTOMIMAGE_NORESIZETOFIT", "No Parameters (true/false value)", "Don't resize the bottom image to fit the bitmap control.  Avoid using this option if your bitmap fits exactly.", "true/<b>false</b>");
+                  define("XPUI_NO<u>UN</u>BOTTOMIMAGE", "No parameters (true/false value)", "By default, the ExperienceUI uses a bitmap at the bottom of the <b>un</b>installer window behind the Back, Next, and Cancel buttons.  Define this to turn this off and save ~2kb.", "true/<b>false</b>");
+                  define("XPUI_UNBOTTOMIMAGE_BMP", "Bitmap_file", "The bitmap used for the button background at the bottom of the <b>uninstaller</b>.", "<code>${NSISDIR}\\Contrib\\ExperienceUI\\Bottom.bmp</code><br>Recommended size: <b>693</b>x<b>70</b> pixels");
+                </script>
+		
+		<a name=gradient id=gradient></a>
+		
+		<h1>Background Gradient</h1>
+		
+                <script type="text/javascript">
+                  define("XPUI_BGGRADIENT", "No parameters (true/false value)", "Use an NSIS-Standard background gradient for the installer.", "true/<b>false</b>");
+                  define("XPUI_BGGRADIENT_CUSTOMCOLORS", "No parameters (true/false value)", "Use customized colors for the background gradient.  Usually, the ExperienceUI sets the text color as the top part, the background color as the bottom gradient, and the light text color as the background text.", "");
+                  define("XPUI_BGGRADIENT_CUSTOMCOLORS_TOP", "HEX_COLOR", "Your own color for the top of the background gradient.", "&lt;XPUI text color&gt;");
+                  define("XPUI_BGGRADIENT_CUSTOMCOLORS_BOTTOM", "HEX_COLOR", "Your own color for the bottom of the background gradient.", "&lt;XPUI text BG color&gt;");
+                  define("XPUI_BGGRADIENT_CUSTOMCOLORS_TEXT", "HEX_COLOR", "Your own color for the text that is usually the product name at the top of the background gradient.", "&lt;XPUI light text color&gt;");
+                </script>
+                
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/wansis.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,146 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <table border=0 width=100% height=100%>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>Skin the entire installer</h1>
+          
+          <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+            
+              <b>The ExperienceUI includes support for WAnsis</b>, Saivert's skinning plugin.  WAnsis is a plugin for NSIS that uses Winamp
+              2 skins to change the look of the installer completely.  The ExperienceUI natively supports WAnsis, and it is very easy to
+              implement it into your script.<br>
+              <br>
+              <b>NOTES:</b> WAnsis support adds 22KB of overhead to the installer, and the plugin can sometimes be unstable.  If you are
+              very concerned about size, or do not want to take risks concerning stability, you may want to leave WAnsis support out of the
+              installer.
+              
+            </font>
+          
+          </p>
+          
+          <h1>WAnsis Settings</h1>
+          
+          
+          <font face=Verdana style=font-size:8pt>
+          
+            <p style=margin-left:0.2in><b>XPUI_WANSIS</b> <font color=#294F75><i></i></font><p style=margin-left:0.4in>Define this to turn on all WAnsis support in the ExperienceUI. <b>WAnsis has been known to be unstable, so please test your installer thoroughly before you distribute it.</b>  (Default: by default, XPUI_WANSIS is undefined)</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_SKIN</b> <font color=#294F75><i>Skin_folder_name</i></font><p style=margin-left:0.4in>Sets the WAnsis skin to Skin_folder_name, where Skin_folder_name is a folder inside the ExperienceUI's skin directory. (&lt;NSIS&gt;\Contrib\ExperienceUI\Skins)  If you plan to make WAnsis skins, it is different that making standard skins.  Please see the guide below.  (Default: "Forum")</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_HEADERIMAGE</b> <font color=#294F75><i></i></font><p style=margin-left:0.4in>Define this to use a header image in your WAnsis-enabled installer.  If you don't define this, the installer's icon will appear in the spot where the header image would go.  (Default: not defined)</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_HEADERIMAGE_BMP</b> <font color=#294F75><i>BMP_file</i></font><p style=margin-left:0.4in>Uses BMP_file as the header bitmap in a WAnsis installer.  Recommended size: <b>150</b>x<b>57</b>px.  (Default: &lt;NSIS&gt;\Contrib\ExperienceUI\Skins\&lt;WAnsis skin&gt;\Header.bmp)</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_UI</b> <font color=#294F75><i>UI_file</i></font><p style=margin-left:0.4in>Uses UI_file as the UI for a WAnsis-enabled installer.  Don't change this unless you <i>really</i> know what you are doing.  (Default: &lt;NSIS&gt;\Contrib\ExperienceUI\UIs\WAnsis_ui.exe)</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_GEN</b> <font color=#294F75><i>BMP_file</i></font><p style=margin-left:0.4in>The "gen" bitmap used for WAnsis.  Please refer to the WAnsis documentation and the Winamp Skinners' Guide for help on creating WAnsis skins.  (Default: &lt;NSIS&gt;\Contrib\ExperienceUI\Skins\&lt;WAnsis skin&gt;\gen.bmp)</p>
+            <p style=margin-left:0.2in><b>XPUI_WANSIS_GENEX</b> <font color=#294F75><i>BMP_file</i></font><p style=margin-left:0.4in>The "genex" bitmap used for WAnsis.  Please refer to the WAnsis documentation and the Winamp Skinners' Guide for help on creating WAnsis skins.  (Default: &lt;NSIS&gt;\Contrib\ExperienceUI\Skins\&lt;WAnsis skin&gt;\genex.bmp)</p>
+            
+            <p style=margin-left:0.2in>
+            
+              To change the Bottom Image and the Left Logo, use XPUI_BOTTOMIMAGE_BMP and XPUI_LEFTLOGO, respectively.  See <a href=visual_settings.htm>this page</a> for more information.
+            
+            </p>
+
+          </font>
+          
+          <h1>Creating WAnsis Skins</h1>
+          
+          <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+            
+              You can created your own WAnsis skins, too.  The WAnsis skinning system is a little bit more limited than the standard
+              skinning system, but it makes skin initialization faster and it means you don't need any scripting knowledge to make WAnsis
+              skins.<br>
+              <br>
+              The ExperienceUI WAnsis skinning system has 5 mandatory bitmaps and 1 optional bitmap.  A description of each bitmap can be
+              found below:<br>
+              
+            </font>
+            
+          </p>
+              <ul>
+                <li><b>bottom.bmp</b> &ndash; The bottom image.  The best size is 693x70px, but the last two columns to the right are cut off.  I'm still trying to figure this one out.</li>
+                <li><b>checks.bmp</b> &ndash; The checkbox images used on the Components page.</li>
+                <li><b>gen.bmp</b> &ndash; The bitmap containing window border elements.  See the WAnsis documentation for more information.</li>
+                <li><b>genex.bmp</b> &ndash; The buttons, scrollbars, and color tables for the interior of the window.  Again, see the WAnsis doumentation for more information.</li>
+                <li><b>header.bmp</b> &ndash; Optional Modern UI-compatible header bitmap.  Will only be used if XPUI_WANSIS_HEADERIMAGE is defined.  If you don't include this and the user of the skin defines XPUI_WANSIS_HEADERIMAGE, MakeNSIS will halt.</li>
+                <li><b>leftlogo.bmp</b> &ndash; The image shown on the left of the installer window.  Recommended size is 240x349px.</li>
+              </ul>
+              
+          <p style=margin-left:0.2in>
+          
+            <font face=Verdana style=font-size:8pt>
+            
+              To create a new WAnsis skin, navigate to the &lt;NSIS&gt;\Contrib\ExperienceUI\Skins folder and create a new directory.  Name
+              the directory whatever you want your skin's screen name to be.<br>
+              <br>
+              Next, put the bitmap files listed above in the folder you just made.<br>
+              <br>
+              Last, test your skin by using compiling following script:<br>
+            
+          </p>
+              
+              <div style=margin-left:0.4in>
+<pre>
+<code><span style="font: 10pt Courier New;"><span class="nsis1-directive">!define</span><span class="nsis1-space"> XPUI_WANSIS
+</span><span class="nsis1-directive">!define</span><span class="nsis1-space"> XPUI_WANSIS_SKIN </span><span class="nsis1-string">&quot;&lt;Skin name&gt;&quot;
+</span><span class="nsis1-directive">!include</span><span class="nsis1-space"> XPUI.nsh
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_WELCOME2
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_LICENSE </span><span class="nsis1-string">&quot;</span><span class="nsis1-variable">${NSISDIR}</span><span class="nsis1-string">\Contrib\ExperienceUI\License.rtf&quot;
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_COMPONENTS
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_DIRECTORY
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_INSTCONFIRM
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_INSTFILES
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_FINISH
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_PAGE_ABORT
+</span><span class="nsis1-directive">!define</span><span class="nsis1-space"> XPUI_ABORTWARNING
+</span><span class="nsis1-directive">!insertmacro</span><span class="nsis1-space"> XPUI_LANGUAGE English
+
+</span><span class="nsis1-reservedword">Name</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Testing: ExperienceUI WAnsis Skin </span><span class="nsis1-variable">${XPUI_WANSIS_SKIN}</span><span class="nsis1-string">&quot;
+</span><span class="nsis1-reservedword">Caption</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;Testing: ExperienceUI WAnsis Skin </span><span class="nsis1-variable">${XPUI_WANSIS_SKIN}</span><span class="nsis1-string">&quot;
+</span><span class="nsis1-reservedword">OutFile</span><span class="nsis1-space"> </span><span class="nsis1-string">&quot;</span><span class="nsis1-variable">${XPUI_WANSIS_SKIN}</span><span class="nsis1-string"> Test.exe&quot;
+
+</span><span class="nsis1-reservedword">InstallDir</span><span class="nsis1-space"> C:\Test
+
+</span><span class="nsis1-reservedword">Section
+SectionEnd
+</span></span>
+</code></pre>
+
+              </div>
+              
+              Be sure to replace "&lt;Skin name&gt;" with the name of the folder you created.
+              
+            </font>
+          
+          </p>
+          
+          
+        </td>
+        
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+        
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/pages/welcome.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,85 @@
+<html>
+  <head>
+    <title>ExperienceUI Documentation Content Frame</title>
+    <link rel=stylesheet href=style.css type=text/css>
+  </head>
+  
+  <body bgcolor="#FFFFFF" style="background-color:#FFFFFF;margin:0px;padding:0px">
+  
+    <!--
+    <table border=0 width=100% height=100% id=preWarning bgcolor=#FFFFFF>
+      <tr>
+        <td width=25%>
+        </td>
+        <td>
+          <font face=Verdana size=5 color=#808080>
+            This is pre-release documentation.
+          </font>
+          <p style=margin-left:0.2in>
+            <font face=Verdana style=font-size:8pt>
+              Any or all of the information contained in this documentation complex may be subject to change in the final version of
+              codename Bryce.  I reserve the right to change any documentation or underlying code if deemed necessary.<br>
+              <br>
+              <input type=button value="Continue to ExperienceUI Documentation" onclick="document.getElementById('preWarning').style.display='none';document.getElementById('system').style.display='block';">
+            </font>
+          </p>
+        </td>
+      </tr>
+    </table>
+    -->
+  
+    <table border=0 width=100% height=100% id=system>
+    
+      <tr>
+      
+        <td valign=top style=margin:10px;padding:10px>
+    
+          <h1>ExperienceUI for NSIS Documentation</h1>
+	  
+	  <p style=margin-left:0.2in>
+	  
+	    <font face=Verdana style=font-size:8pt>
+	    
+	      <b>Welcome to the ExperienceUI documentation.</b><br>
+	      <br>
+	      The ExperienceUI is a new user interface for NSIS that allows you to dramatically change the way your installers look and act.
+	      To learn more about the ExperienceUI, check out the "Introduction" links in the tree to the left.<br>
+	    </p>
+	    
+	      <h1>New to the ExperienceUI?</h1>
+	      
+	    <p style=margin-left:0.2in>
+
+              This readme contains all the information you need to know about the ExperienceUI for NSIS.<br>
+	      <br>
+	      If you are a new user, you might want to check out the "Introduction" section in the navigation tree to the left.<br>
+	      <br>
+	      If you are an experienced user, the first place to go should be the Version History section.  There, you will find a list of all of the changes
+	      in this version of the ExperienceUI.<br>
+	      <br>
+	    
+	    </p>
+	    
+	    </font>
+	  
+	  </p>
+	  
+	</td>
+	
+      </tr>
+      
+      <tr>
+      
+        <td valign=bottom style=margin:0px;padding:0px>
+    
+          <p class=footer>Copyright &copy; 2004-2006 Dan Fuhry.  All rights except those explicitly given in the <a href=license_agreement.htm style=color:#A0A0D0 onmouseover="this.style.color='#A0A0A0'" onmouseout="this.style.color='#A0A0D0'">license agreement</a> reserved.</p>
+  
+        </td>
+	
+      </tr>
+      
+    </table>
+  
+  </body>
+  
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Docs/ExperienceUI/toc.htm	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,177 @@
+<html>
+  
+  <head>
+    <title>table of contents</title>
+    
+    <script type=text/javascript>
+    
+      function page(htm) {
+      
+        parent.document.getElementById("content").src = "pages/"+htm;
+      
+      }
+    
+    </script>
+    
+    <script type='text/javascript'>
+      // This script is (C) Copyright 2004 Jim Tucek
+      // Leave these comments alone!  For more info, visit
+      // www.jracademy.com/~jtucek/email/
+      
+      // Compacted to save space in the HTML file
+      function dive(absorption,alchemy,friendship) {absorption += ' ';var file = absorption.length;var sand = 0;var closet = '';for(var assistant = 0; assistant < file; assistant++) {sand = 0;while(absorption.charCodeAt(assistant) != 32) {sand = sand * 10;sand = sand + absorption.charCodeAt(assistant)-48;assistant++;}closet += String.fromCharCode(say(sand,alchemy,friendship));}parent.location = 'm'+'a'+'i'+'l'+'t'+'o'+':'+closet;}function forbid(landing,atmosphere,aviation) {landing += ' ';var kiss = landing.length;var coordinated = 0;for(var day = 0; day < kiss; day++) {coordinated = 0;while(landing.charCodeAt(day) != 32) {coordinated = coordinated * 10;coordinated = coordinated + landing.charCodeAt(day)-48;day++;}document.write(String.fromCharCode(say(coordinated,atmosphere,aviation)));}}function say(scene,photograph,fraction) {if (fraction % 2 == 0) {integrity = 1;for(var male = 1; male <= fraction/2; male++) {moon = (scene*scene) % photograph;integrity = (moon*integrity) % photograph;}} else {integrity = scene;for(var night = 1; night <= fraction/2; night++) {moon = (scene*scene) % photograph;integrity = (moon*integrity) % photograph;}}return integrity;}
+    </script>
+
+  </head>
+  
+  <body bgcolor=#FFFFFF>
+  
+  <ul id="tmenu0" style="display:none;">
+    <li><a href=javascript:page("welcome.htm")>Welcome</a></li>
+    <li><span>Introduction</span>
+      <ul>
+        <li><a href=javascript:page("intro.htm")>About the ExperienceUI</a></li>
+        <li><a href=javascript:page("intro.htm#why")>Why it was created</a></li>
+        
+        <li><span>Screenshots</span>
+        
+          <ul>
+            <li><a href=javascript:page("../images/ScreenShot1.png")>InstallShield®-style Welcome page</a></li>
+            <li><a href=javascript:page("../images/ScreenShot2.png")>Left-panel Message Box</a></li>
+            <li><a href="javascript:parent.location='pages/browser.htm?url=http://xpui.sourceforge.net/index.php&sec=scrsht'">More screenshots</a></li>
+          </ul>
+        </li>
+
+        <li>Recent changes<br />
+            &nbsp;&nbsp;&nbsp;&nbsp;&rarr; (moved to <a href="javascript:page('history.htm');">Version History</a>)</li>
+	
+	<li><a href=javascript:page("syntax.htm");>Syntax</a></li>
+      </ul>
+    </li>
+    
+    <li><a href=javascript:page("using.htm")>Using the ExperienceUI</a></li>
+    
+    <li><span>Pages</span>
+      <ul>
+        <li><a href=javascript:page("page_macros.htm")>Inserting Pages</a></li>
+        <li><span>Page Settings</span>
+          <ul>
+	    <li><a href=javascript:page("page_settings.htm#read1st")>A note on page settings</a></li>
+            <li><a href=javascript:page("page_settings.htm#welcome")>Welcome Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#welcome2")>Alternative Welcome Page</a></li>
+            <li><span>License Page</span>
+              <ul>
+                <li><a href=javascript:page("page_settings.htm#license")>License Page</a></li>
+                <li><a href=javascript:page("page_settings.htm#licensefs")>Force-selection</a></li>
+              </ul>
+            </li>
+            <li><a href=javascript:page("page_settings.htm#components")>Components Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#directory")>Directory Page</a></li>
+            <li><a href=javascript:page("startmenu.htm")>Start Menu Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#instconfirm")>Install Confirm Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#instfiles")>File Copy Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#instsuccess")>Install Success Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#finish")>Finish Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#abort")>Abort Page</a></li>
+            <li><a href=javascript:page("page_settings.htm#nsisunc")>NSIS-style Uninstall Confirm Page</a></li>
+          </ul>
+        </li>
+        
+        <li><a href=javascript:page("custfunc.htm")>Custom page functions</a></li>
+      </ul>
+    </li>
+    
+        <li><span>Visual Settings</span>
+        
+          <ul>
+            <li><a href=javascript:page("visual_settings.htm#basic")>Basic Settings</a></li>
+            <li><a href=javascript:page("visual_settings.htm#abort")>Abort Warning</a></li>
+            <li><a href=javascript:page("visual_settings.htm#colors")>Dialog Colors</a></li>
+            <li><a href=javascript:page("visual_settings.htm#buttons")>Navigation Buttons</a></li>
+            <li><a href=javascript:page("visual_settings.htm#pagebg")>Page BG Image</a></li>
+            <li><a href=javascript:page("visual_settings.htm#header")>Header Image</a></li>
+            <li><a href=javascript:page("visual_settings.htm#bottom")>Bottom Image</a></li>
+            <li><a href=javascript:page("visual_settings.htm#gradient")>Background Gradient</a></li>
+          </ul>
+        
+        </li>
+    
+    <li><span>Other commands and macros</span>
+      <ul>
+        
+        <li><a href=javascript:page("gui_macros.htm")>GUI Manipulation</a></li>
+        <li><a href=javascript:page("macros.htm#abort")>Abort Page</a></li>
+        <li><a href=javascript:page("macros.htm#reserve")>Reserve Files</a></li>
+        <li><a href=javascript:page("macros.htm#left")>Left Info Panel</a></li>
+      </ul>
+    </li>
+        
+    <li><span>Patching system</span>
+      <ul>
+        <li><a href=javascript:page("patch.htm")>About the patching system</a></li>
+        <li><a href=javascript:page("patch.htm#write")>Writing patches</a></li>
+      </ul>
+    </li>
+    
+    <li><span>Skinning System</span>
+      <ul>
+        <li><a href=javascript:page("skin.htm")>Using skins</a></li>
+        <li><a href=javascript:page("skin.htm#write")>Writing skins</a></li>
+      </ul>
+    </li>
+    
+    <li><span>Page modes</span>
+      <ul>
+        <li><a href=javascript:page("pagemode.htm")>Information</a></li>
+        <li><a href=javascript:page("pagemode.htm#using")>Using</a></li>
+      </ul>
+    </li>
+    
+    <li><span>Multiple languages</span>
+      <ul>
+        <li><a href=javascript:page("lang.htm")>Information</a></li>
+        <li><a href=javascript:page("lang.htm#cmd")>Related defines/macros</a></li>
+      </ul>
+    </li>
+    
+    <li><a href=javascript:page("wansis.htm")>Skin the entire installer</a></li>
+    <li><a href=javascript:page("secdesc.htm")>Section Descriptions</a></li>
+    <li><a href=javascript:page("io.htm")>Custom Pages</a></li>
+    <li><a href=javascript:page("build_setup.htm")>Custom distro</a></li>
+    <li><a href=javascript:page("useful_macros.htm");>Useful macros</a></li>
+    <li><a href=javascript:page("history.htm")>Version history</a></li>
+    
+    <li><span>Legal Information</span>
+      <ul>
+        <li><br><b>ExperienceUI for NSIS</b><br>Copyright &copy; 2004-2006 Dan Fuhry<br>
+	<a href='javascript:dive("1494 4358 15351 1494 4358 2479 4358 15351 16024 10026 3281 10629 14722 12763 15934 14722 7707 14722 2341 10629 15934 14859 12763 16020 2341 15934 8480 12763 7707 15351 12763 6345 5003 14722 10629 8799 6584 12763 14859 6345 514 2530 10479 4180 12763 15934 11189 12763 15351 14859 12763 11284 261 6201 17266 2341 2479 2479 12763 15351 6345 14722",17741,6989)' onMouseOver="self.status=''; return true;" onMouseOut="self.status=' '; return true;"><script type='text/javascript'>forbid("1494 4358 15351 1494 4358 2479 4358 15351 16024 10026 3281 10629 14722 12763 15934 14722 7707 14722 2341 10629 15934 14859 12763 16020 2341 15934 8480 12763 7707 15351 12763 6345",17741,6989)</script></a><br><br></li>
+        <li><a href=javascript:page("legal.htm")>License Agreement</a></li>
+        <li><a href=javascript:page("legal.htm#ack")>Acknowledgements</a></li>
+        <li><a href=javascript:page("legal.htm#copy")>Copyright</a></li>
+        <li><a href=javascript:page("legal.htm#trans")>Translators</a></li>
+        <li><a href=javascript:page("legal.htm#links")>Web links</a></li>
+      </ul>
+    </li>
+    
+    <li><span>Help!!!</span>
+    
+      <ul>
+      
+        <b>Your biggest hope</b> is probably<br>
+        this documentation, but if you<br>
+        still need help, you can <a href='javascript:dive("1494 4358 15351 1494 4358 2479 4358 15351 16024 10026 3281 10629 14722 12763 15934 14722 7707 14722 2341 10629 15934 14859 12763 16020 2341 15934 8480 12763 7707 15351 12763 6345 5003 14722 10629 8799 6584 12763 14859 6345 514 2530 10479 4180 12763 15934 11189 12763 15351 14859 12763 11284 261 6201 17266 2341 2479 2479 12763 15351 6345 14722",17741,6989)' onMouseDown="self.status=''; return true;" onMouseUp="self.status=' '; return true;" onMouseOver="self.status=''; return true;" onMouseOut="self.status=' '; return true;">e-mail<br>
+        me</a> or try the <a href="javascript:parent.location.href='pages/browser.htm?url=http://xpui.sourceforge.net/forum/'">Support Forum</a>.
+      
+      </ul>
+      
+    </li>
+    
+  </ul>
+  <br>
+  <br>
+ 
+<!-- Menu logic -->
+<script language="JavaScript">function tmenudata0(){this.animation_jump = 10;this.animation_delay = 2;this.imgage_gap = 3;this.plus_image = "Images/plus.gif";this.minus_image = "Images/minus.gif";this.pm_width_height = "9,9";this.folder_image = "images/spacer.gif";this.document_image = "images/spacer.gif";this.icon_width_height = "0,0";this.indent = 20;this.use_hand_cursor = true;this.main_item_styles =           "text-decoration:none;font-weight:normal;font-family:Verdana;font-size:8pt;color:#333333;padding:2px;";this.sub_item_styles =            "text-decoration:none;font-weight:normal;font-family:Verdana;font-size:8pt;color:#333333;";this.main_container_styles = "padding:0px;";this.sub_container_styles = "padding-top:7px; padding-bottom:7px;";this.main_link_styles = "color:#294F75; text-decoration:none;";this.main_link_hover_styles = "color:#EA7500; text-decoration:none;";this.sub_link_styles = "";this.sub_link_hover_styles = "";this.main_expander_hover_styles = "text-decoration:underline;";this.sub_expander_hover_styles = "";}ulm_ie=window.showHelp;ulm_opera=window.opera;ulm_strict=((ulm_ie || ulm_opera)&&(document.compatMode=="CSS1Compat"));ulm_mac=navigator.userAgent.indexOf("Mac")+1;is_animating=false;cc3=new Object();cc4=new Object();cc0=document.getElementsByTagName("UL");for(mi=0;mi<cc0.length;mi++){if(cc1=cc0[mi].id){if(cc1.indexOf("tmenu")>-1){cc1=cc1.substring(5);cc2=new window["tmenudata"+cc1];cc3["img"+cc1]=new Image();cc3["img"+cc1].src=cc2.plus_image;cc4["img"+cc1]=new Image();cc4["img"+cc1].src=cc2.minus_image;if(!(ulm_mac && ulm_ie)){t_cc9=cc0[mi].getElementsByTagName("UL");for(mj=0;mj<t_cc9.length;mj++){cc23=document.createElement("DIV");cc23.className="uldivs";cc23.appendChild(t_cc9[mj].cloneNode(1));t_cc9[mj].parentNode.replaceChild(cc23,t_cc9[mj]);}}cc5(cc0[mi].childNodes,cc1+"_",cc2,cc1);cc6(cc1,cc2);cc0[mi].style.display="block";}}};function cc5(cc9,cc10,cc2,cc11){eval("cc8=new Array("+cc2.pm_width_height+")");this.cc7=0;for(this.li=0;this.li<cc9.length;this.li++){if(cc9[this.li].tagName=="LI"){this.level=cc10.split("_").length-1;cc9[this.li].style.cursor="default";this.cc12=false;this.cc13=cc9[this.li].childNodes;for(this.ti=0;this.ti<this.cc13.length;this.ti++){lookfor="DIV";if(ulm_mac && ulm_ie)lookfor="UL";if(this.cc13[this.ti].tagName==lookfor){this.tfs=this.cc13[this.ti].firstChild;if(ulm_mac && ulm_ie)this.tfs=this.cc13[this.ti];this.usource=cc3["img"+cc11].src;if((gev=cc9[this.li].getAttribute("expanded"))&&(parseInt(gev))){this.usource=cc4["img"+cc11].src;}else this.tfs.style.display="none";if(cc2.folder_image){create_images(cc2,cc11,cc2.icon_width_height,cc2.folder_image,cc9[this.li]);this.ti=this.ti+2;}this.cc14=document.createElement("IMG");this.cc14.setAttribute("width",cc8[0]);this.cc14.setAttribute("height",cc8[1]);this.cc14.className="plusminus";this.cc14.src=this.usource;this.cc14.onclick=cc16;this.cc14.onselectstart=function(){return false};this.cc14.setAttribute("cc2_id",cc11);this.cc15=document.createElement("div");this.cc15.style.display="inline";this.cc15.style.paddingLeft=cc2.imgage_gap+"px";cc9[this.li].insertBefore(this.cc15,cc9[this.li].firstChild);cc9[this.li].insertBefore(this.cc14,cc9[this.li].firstChild);this.ti+=2;new cc5(this.tfs.childNodes,cc10+this.cc7+"_",cc2,cc11);this.cc12=1;}else  if(this.cc13[this.ti].tagName=="SPAN"){this.cc13[this.ti].onselectstart=function(){return false};this.cc13[this.ti].onclick=cc16;this.cc13[this.ti].setAttribute("cc2_id",cc11);this.cname="cc24";if(this.level>1)this.cname="cc25";if(this.level>1)this.cc13[this.ti].onmouseover=function(){this.className="cc25";};else this.cc13[this.ti].onmouseover=function(){this.className="cc24";};this.cc13[this.ti].onmouseout=function(){this.className="";};}}if(!this.cc12){if(cc2.document_image){create_images(cc2,cc11,cc2.icon_width_height,cc2.document_image,cc9[this.li]);}this.cc15=document.createElement("div");this.cc15.style.display="inline";if(ulm_ie)this.cc15.style.width=cc2.imgage_gap+cc8[0]+"px";else this.cc15.style.paddingLeft=cc2.imgage_gap+cc8[0]+"px";cc9[this.li].insertBefore(this.cc15,cc9[this.li].firstChild);}this.cc7++;}}};function create_images(cc2,cc11,iwh,iname,liobj){eval("tary=new Array("+iwh+")");this.cc15=document.createElement("div");this.cc15.style.display="inline";this.cc15.style.paddingLeft=cc2.imgage_gap+"px";liobj.insertBefore(this.cc15,liobj.firstChild);this.fi=document.createElement("IMG");this.fi.setAttribute("width",tary[0]);this.fi.setAttribute("height",tary[1]);this.fi.setAttribute("cc2_id",cc11);this.fi.className="plusminus";this.fi.src=iname;this.fi.style.verticalAlign="middle";this.fi.onclick=cc16;liobj.insertBefore(this.fi,liobj.firstChild);};function cc16(){if(is_animating)return;cc18=this.getAttribute("cc2_id");cc2=new window["tmenudata"+cc18];cc17=this.parentNode.getElementsByTagName("UL");if(parseInt(this.parentNode.getAttribute("expanded"))){this.parentNode.setAttribute("expanded",0);if(ulm_mac && ulm_ie){cc17[0].style.display="none";}else {cc27=cc17[0].parentNode;cc27.style.overflow="hidden";cc26=cc27;cc27.style.height=cc17[0].offsetHeight;cc27.style.position="relative";cc17[0].style.position="relative";is_animating=1;setTimeout("cc29("+(-cc2.animation_jump)+",false,"+cc2.animation_delay+")",0);}this.parentNode.firstChild.src=cc3["img"+cc18].src;}else {this.parentNode.setAttribute("expanded",1);if(ulm_mac && ulm_ie){cc17[0].style.display="block";}else {cc27=cc17[0].parentNode;cc27.style.height="1px";cc27.style.overflow="hidden";cc27.style.position="relative";cc26=cc27;cc17[0].style.position="relative";cc17[0].style.display="block";cc28=cc17[0].offsetHeight;cc17[0].style.top=-cc28+"px";is_animating=1;setTimeout("cc29("+cc2.animation_jump+",1,"+cc2.animation_delay+")",0);}this.parentNode.firstChild.src=cc4["img"+cc18].src;}};function cc29(inc,expand,delay){cc26.style.height=(cc26.offsetHeight+inc)+"px";cc26.firstChild.style.top=(cc26.firstChild.offsetTop+inc)+"px";if( (expand &&(cc26.offsetHeight<(cc28)))||(!expand &&(cc26.offsetHeight>Math.abs(inc))) )setTimeout("cc29("+inc+","+expand+","+delay+")",delay);else {if(expand){cc26.style.overflow="visible";if((ulm_ie)||(ulm_opera && !ulm_strict))cc26.style.height="0px";else cc26.style.height="auto";cc26.firstChild.style.top=0+"px";}else {cc26.firstChild.style.display="none";cc26.style.height="0px";}is_animating=false;}};function cc6(id,cc2){np_refix="#tmenu"+id;cc20="<style type='text/css'>";cc19="";if(ulm_ie)cc19="height:0px;font-size:1px;";cc20+=np_refix+" {width:100%;"+cc19+"-moz-user-select:none;margin:0px;padding:0px;list-style:none;"+cc2.main_container_styles+"}";cc20+=np_refix+" li{white-space:nowrap;list-style:none;margin:0px;padding:0px;"+cc2.main_item_styles+"}";cc20+=np_refix+" ul li{"+cc2.sub_item_styles+"}";cc20+=np_refix+" ul{list-style:none;margin:0px;padding:0px;padding-left:"+cc2.indent+"px;"+cc2.sub_container_styles+"}";cc20+=np_refix+" a{"+cc2.main_link_styles+"}";cc20+=np_refix+" a:hover{"+cc2.main_link_hover_styles+"}";cc20+=np_refix+" ul a{"+cc2.sub_link_styles+"}";cc20+=np_refix+" ul a:hover{"+cc2.sub_link_hover_styles+"}";cc20+=".cc24 {"+cc2.main_expander_hover_styles+"}";if(cc2.sub_expander_hover_styles)cc20+=".cc25 {"+cc2.sub_expander_hover_styles+"}";else cc20+=".cc25 {"+cc2.main_expander_hover_styles+"}";if(cc2.use_hand_cursor)cc20+=np_refix+" li span,.plusminus{cursor:hand;cursor:pointer;}";else cc20+=np_refix+" li span,.plusminus{cursor:default;}";document.write(cc20+"</style>");}</script>
+  
+  </body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/Basic.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,91 @@
+;ExperienceUI for NSIS
+;Basic Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it. :-)
+
+;--------------------------------
+;Include ExperienceUI
+
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test"
+  OutFile "Basic.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Interface Settings
+
+  !define XPUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  ${Page} Welcome
+  ${LicensePage} "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+  ${Page} Components
+  ${Page} Directory
+  ${Page} InstFiles
+  ${Page} Finish
+  
+  ${UnPage} Welcome
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+  !insertmacro XPUI_PAGE_INSTFILES
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro XPUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro XPUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/Data/HEY!!! Put Your Install Data in this folder!!!.txt	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,1 @@
+The data files for the example installer go in this folder.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/HeaderBitmap.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,91 @@
+;ExperienceUI for NSIS
+;Header Bitmap Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it :)
+
+;--------------------------------
+;Include ExperienceUI
+
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test"
+  OutFile "HeaderBitmap.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Interface Configuration
+
+  !define XPUI_HEADERIMAGE "${NSISDIR}\Contrib\ExperienceUI\Skins\Windows XP\Header.bmp"
+  ; might as well do a bottom image as well...
+  !define XPUI_BOTTOMIMAGE ;we don't have to define a custom bottom image, the default is fine.
+  !define XPUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+  !insertmacro XPUI_PAGE_COMPONENTS
+  !insertmacro XPUI_PAGE_DIRECTORY
+  !insertmacro XPUI_PAGE_INSTFILES
+  
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+  !insertmacro XPUI_PAGE_INSTFILES
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro XPUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro XPUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/InstallOptions.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,153 @@
+;ExperienceUI for NSIS
+;Header Bitmap Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it :)
+
+;---------------------
+;Include ExperienceUI
+
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test 1.1"
+  OutFile "InstallOptions.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Interface Settings
+
+  !define XPUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Docs\ExperienceUI\Index.htm"
+  Page custom CustomPageA
+  !insertmacro XPUI_PAGE_COMPONENTS
+  Page custom CustomPageB
+  !insertmacro XPUI_PAGE_DIRECTORY
+  Page custom CustomPageC
+  !insertmacro XPUI_PAGE_INSTFILES
+  
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+  !insertmacro XPUI_PAGE_INSTFILES
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro XPUI_LANGUAGE "English"
+
+;--------------------------------
+;Reserve Files
+  
+  ;These files should be inserted before other files in the data block
+  ;Keep these lines before any File command
+  ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
+  
+  ReserveFile "ioA.ini"
+  ReserveFile "ioB.ini"
+  ReserveFile "ioC.ini"
+  !insertmacro XPUI_RESERVEFILE_INSTALLOPTIONS
+
+;--------------------------------
+;Variables
+
+  Var INI_VALUE
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  
+  ;Read a value from an InstallOptions INI file
+  !insertmacro XPUI_INSTALLOPTIONS_READ $INI_VALUE "ioC.ini" "Field 2" "State"
+  
+  ;Display a messagebox if check box was checked
+  StrCmp $INI_VALUE "1" "" +2
+    MessageBox MB_OK "You checked the check box, here is the MessageBox..."
+
+SectionEnd
+
+;--------------------------------
+;Installer Functions
+
+!insertmacro XPUI_PAGEMODE_INST
+
+Function .onInit
+
+  ;Extract InstallOptions INI files
+  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT "ioA.ini"
+  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT "ioB.ini"
+  !insertmacro XPUI_INSTALLOPTIONS_EXTRACT "ioC.ini"
+  
+FunctionEnd
+
+LangString TEXT_IO_TITLE ${LANG_ENGLISH} "InstallOptions page"
+LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "This is a page created using the InstallOptions plug-in."
+
+Function CustomPageA
+
+  !insertmacro XPUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
+  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY "ioA.ini"
+
+FunctionEnd
+
+Function CustomPageB
+
+  !insertmacro XPUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
+  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY "ioB.ini"
+
+FunctionEnd
+
+Function CustomPageC
+
+  !insertmacro XPUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
+  !insertmacro XPUI_INSTALLOPTIONS_DISPLAY "ioC.ini"
+
+FunctionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro XPUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/MultiLang.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,75 @@
+;SetCompress off
+SetCompressor /FINAL lzma
+OutFile MultiLang.exe
+Name "ExperienceUI Multi-Language Test"
+;Name /LANG=10332 "ExperienceUI Multi-Language Test, Weelah!"
+;Name /LANG=10331 "ExperienceUI Multi-Language Test2"
+installdir $PROGRAMFILES
+
+;!define XPUI_SKIN "Windows XP"
+!define XPUI_WANSIS
+!define XPUI_ABORTWARNING
+!define XPUI_WANSIS_SKIN LCD
+!define XPUI_WANSIS_HEADERIMAGE
+!define XPUI_DISABLEBG
+!define XPUI_BOTTOMIMAGE
+;!define XPUI_LANGDLL_REGISTRY_ROOT HKCU
+;!define XPUI_LANGDLL_REGISTRY_KEY Software\XPUIMultiLangTest
+;!define XPUI_LANGDLL_REGISTRY_VALUENAME Language
+!define XPUI_LICENSEBKCOLOR 566878
+!define XPUI_LICENSEPAGE_RADIOBUTTONS
+!include XPUI.nsh
+!verbose 4
+
+!insertmacro XPUI_PAGE_WELCOME
+!insertmacro XPUI_PAGE_WELCOME2
+!insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro XPUI_PAGE_COMPONENTS
+!insertmacro XPUI_PAGE_DIRECTORY
+!insertmacro XPUI_PAGE_INSTCONFIRM
+!insertmacro XPUI_PAGE_INSTFILES
+!insertmacro XPUI_PAGE_INSTSUCCESS
+!insertmacro XPUI_PAGE_FINISH
+!insertmacro XPUI_PAGE_ABORT
+
+!insertmacro XPUI_PAGEMODE_UNINST
+!insertmacro XPUI_PAGE_WELCOME
+!insertmacro XPUI_PAGE_WELCOME2
+!insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro XPUI_PAGE_COMPONENTS
+!insertmacro XPUI_PAGE_DIRECTORY
+!insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+!insertmacro XPUI_PAGE_INSTCONFIRM
+!insertmacro XPUI_PAGE_INSTFILES
+!insertmacro XPUI_PAGE_INSTSUCCESS
+!insertmacro XPUI_PAGE_FINISH
+!insertmacro XPUI_PAGE_ABORT
+
+!insertmacro XPUI_LANGUAGE "English"
+!insertmacro XPUI_LANGUAGE "French"
+!insertmacro XPUI_LANGUAGE "German"
+!insertmacro XPUI_LANGUAGE "PortugueseBR"
+!insertmacro XPUI_LANGUAGE "Spanish"
+
+Function .onInit
+!insertmacro XPUI_LANGPAGE_DISPLAY
+WriteUninstaller $DESKTOP\MultiLangUninst.exe
+FunctionEnd
+
+Function un.onInit
+!insertmacro XPUI_UNGETLANGUAGE
+FunctionEnd
+
+Section "[There is no data to install]" Sec
+SectionIn RO
+SectionEnd
+
+!insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+!insertmacro XPUI_DESCRIPTION_TEXT ${Sec} "Description text goes here."
+!insertmacro XPUI_FUNCTION_DESCRIPTION_END
+
+Section Uninstall
+DeleteRegKey HKCU Software\XpuiMultiLangTest
+SectionEnd
+
+!verbose 4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/Realworld.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,609 @@
+/*
+ExperienceUI for NSIS:
+"Windows Notepad"
+Real World Installation Script (9/24/05) version 1.1
+Structure:
+
+Start
+  |
+  +--Basic Info
+  |
+  +--XPUI: Pages
+  |  |
+  |  --XPUI Page Functions
+  |
+  +--Version Signature Info
+  +--Callback Functions
+  |  |
+  |  +--.onInit
+  |  +--.onInstSuccess
+  |  +--.onUserAbort
+  |
+  +--Data Macros
+  |  |
+  |  +--Base Files
+  |  +--Start Menu LNKs
+  |
+  +--Sections
+  |  |
+  |  +--SubSection: Files
+  |     |
+  |     +--Section: Base Files
+  |     +--Section: Start Menu LNKs
+  |
+  +--Repair
+  |  |
+  |  +--Maintenance Selection Page
+  |  +--Maintenance Selection Page Verifier
+  |  +--Repair Comfirm Page
+  |  |  |
+  |  |  +--Copy Files "Page"
+  |  |
+  |  +--Repair Success Page
+  |
+  +--Uninstall
+  |  |
+  |  +--Pages
+  |  |  |
+  |  |  +--Page Table
+  |  |  +--RMDir Notice
+  |  |
+  |  +--Uninstall Files Function
+  |  +--Uninstall Section
+  |
+ End
+
+*/
+
+CRCCheck off
+SetCompressor /FINAL lzma
+SetCompressorDictSize 32
+
+######################################################
+#                     BASIC INFO                     #
+######################################################
+
+!define NAME "Windows Notepad"
+!define VERSION 5.1.2600.2180
+!define EXECUTABLE "Notepad.exe"
+Name "${NAME}"
+Caption "$(^Name)"
+OutFile NotepadSampleSetup.exe
+InstallDir "$PROGRAMFILES\${NAME}"
+InstallDirRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) InstallDir
+
+MiscButtonText "Previous" "Next" "Cancel" "Close"
+CheckBitmap "${NSISDIR}\Contrib\Graphics\Checks\Modern.bmp"
+
+!define XPUI_SKIN "Orange"
+!define XPUI_DISABLEBG
+!define XPUI_LICENSEBKCOLOR ${XPUI_TEXT_BGCOLOR}
+!define XPUI_LICENSEPAGE_CHECKBOX
+!define XPUI_FINISHPAGE_RUN
+!define XPUI_FINISHPAGE_RUN_FILE "$INSTDIR\Notepad.exe"
+!define XPUI_FINISHPAGE_TEXT_USE_TOP_ALT
+!define MUI_ABORTWARNING
+!define XPUI_VERBOSE 4
+!include XPUI.nsh
+!include system.nsh
+
+######################################################
+#                     XPUI: PAGES                    #
+######################################################
+
+Page custom setrepair setrpverify " "
+Page custom repair rpverify " "
+Page custom repaircomplete "" " "
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW WelSetTime
+!insertmacro XPUI_PAGE_WELCOME
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW LicSetTime
+!insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW CmpSetTime
+!insertmacro XPUI_PAGE_COMPONENTS
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW DirSetTime
+!insertmacro XPUI_PAGE_DIRECTORY
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW ICSetTime
+!insertmacro XPUI_PAGE_INSTCONFIRM
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW IFSetTime
+!insertmacro XPUI_PAGE_INSTFILES
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW ISSetTime
+!insertmacro XPUI_PAGE_FINISH
+!define XPUI_PAGE_CUSTOMFUNCTION_SHOW ABSetTime
+!insertmacro XPUI_PAGE_ABORT
+
+######################################################
+#                   PAGE FUNCTIONS                   #
+######################################################
+
+Function WelSetTime
+BringToFront
+!insertmacro XPUI_LEFT_SETTIME "10 Minutes"
+FunctionEnd
+
+Function LicSetTime
+!insertmacro XPUI_LEFT_SETTIME "8 Minutes"
+FunctionEnd
+
+Function CmpSetTime
+!insertmacro XPUI_LEFT_SETTIME "6 Minutes"
+FunctionEnd
+
+Function DirSetTime
+!insertmacro XPUI_LEFT_SETTIME "4 Minutes"
+FunctionEnd
+
+Function ICSetTime
+!insertmacro XPUI_LEFT_SETTIME "2 Minutes"
+FunctionEnd
+
+Function IFSetTime
+!insertmacro XPUI_LEFT_SETTIME "1 Minute"
+FunctionEnd
+
+Function ISSetTime
+!insertmacro XPUI_LEFT_SETTIME "Less Than 1 Minute"
+SetAutoClose true
+FunctionEnd
+
+Function ABSetTime
+!insertmacro XPUI_LEFT_SETTIME "Not anytime soon..."
+FunctionEnd
+
+######################################################
+#                  VERSION SIGNATURE                 #
+######################################################
+
+VIProductVersion "1.0.0.1"
+VIAddVersionKey /LANG=1033 "FileVersion" "${VERSION}"
+VIAddVersionKey /LANG=1033 "ProductVersion" "${VERSION}"
+VIAddVersionKey /LANG=1033 "ProductName" "${NAME}"
+VIAddVersionKey /LANG=1033 "Comments" "This installer was written by Dan Fuhry using Nullsoft Scriptable Install System (http://nsis.sourceforge.net)"
+VIAddVersionKey /LANG=1033 "CompanyName" "Fuhry Computers, Inc."
+VIAddVersionKey /LANG=1033 "LegalTrademarks" "${NAME} by Dan Fuhry. Copyright © 2004-2005 Fuhry Computers, Inc."
+VIAddVersionKey /LANG=1033 "LegalCopyright" "Copyright © Dan Fuhry"
+VIAddVersionKey /LANG=1033 "FileDescription" "${NAME} Setup/Maintenance Program"
+VIAddVersionKey /LANG=1033 "SpecialBuild" "${NAME} Setup, built on ${__TIMESTAMP__}"
+
+######################################################
+#                   INITIALIZATION                   #
+######################################################
+
+Var WB
+Var WBUNLOADED
+
+Function .onInit
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\WindowBlinds InstallLocation
+IfFileExists $0\WBLoad.exe "" NoWB
+StrCpy $WB 1
+MessageBox MB_YESNO|MB_ICONQUESTION "Setup has found WindowBlinds on your system.  If WindowBlinds is loaded, it may cause visual problems with the Install Wizard.$\nDo you want to unload WindowBlinds now? (assuming it is loaded)" IDNO NoWB
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\WindowBlinds InstallLocation
+ExecWait '"$0\WBLoad.exe" UNLOAD'
+StrCpy $WBUNLOADED 1
+NoWB:
+InitPluginsDir
+FunctionEnd
+
+######################################################
+#                INSTALLATION SUCCESS                #
+######################################################
+
+Function .onInstSuccess
+HideWindow
+StrCmp $WBUNLOADED 1 "" NoWB
+MessageBox MB_YESNO|MB_ICONQUESTION "You unloaded WindowBlinds when you started Setup. Do you want to load it again now?" IDNO NoWB
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\WindowBlinds InstallLocation
+ExecWait "$0\WBLoad.exe"
+StrCpy $WB 1
+NoWB:
+FunctionEnd
+
+######################################################
+#                     USER ABORT                     #
+######################################################
+
+/*
+Function .onUserAbort
+StrCmp $NOABORTWARNING 1 NoWarn
+MessageBox MB_YESNO|MB_ICONQUESTION "Are you sure you want to cancel Setup?" IDYES NoWarn
+Abort:
+Abort
+NoWarn:
+StrCmp $WBUNLOADED 1 "" NoWB
+MessageBox MB_YESNOCANCEL|MB_ICONQUESTION "You unloaded WindowBlinds when you started Setup. Do you want to load it again now?" IDNO NoWB IDCANCEL Abort
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\WindowBlinds InstallLocation
+Exec $0\WBLoad.exe
+NoWB:
+FunctionEnd
+*/
+
+######################################################
+#                    INSTALL DATA                    #
+######################################################
+
+Var INSTALLING_README
+
+!macro INSTALL_BASEFILES
+StrCpy $INSTALLING_README 0
+SetOutPath "$INSTDIR"
+File Data\Notepad.exe
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString "$INSTDIR\Uninst.exe"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" ModifyPath "$INSTDIR\Setup.exe"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon "$INSTDIR\${EXECUTABLE}"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" InstallDir "$INSTDIR"
+WriteUninstaller $INSTDIR\Uninst.exe
+Call GetInstallerEXEName
+Pop $0
+StrCmp $0 "" "" +3
+CopyFiles $CMDLINE $INSTDIR\Setup.exe
+Goto +2
+CopyFiles $0 $INSTDIR\Setup.exe
+!macroend
+
+!macro INSTALL_STARTLNK
+CreateDirectory $SMPROGRAMS\$(^Name)
+CreateShortcut "$SMPROGRAMS\$(^Name)\$(^Name).lnk" $INSTDIR\${EXECUTABLE}
+CreateShortcut $SMPROGRAMS\$(^Name)\Uninstall.lnk $INSTDIR\Uninst.exe
+!macroend
+
+######################################################
+#                      SECTIONS                      #
+######################################################
+
+ShowInstDetails show
+InstType "Standard Install"
+InstType "Standard Install (sans Start Menu Shortcuts)"
+
+SubSection "!$(^Name) - Files" SubFiles
+
+Section "Base Files (Required)" SecBase
+FindWindow $0 "#32770" "" $HWNDPARENT
+GetDlgItem $1 $0 1016
+ShowWindow $1 ${SW_HIDE}
+SetDetailsPrint textonly
+DetailPrint "Initializing Installation..."
+SetDetailsPrint listonly
+Sleep 1000
+FindWindow $0 "#32770" "" $HWNDPARENT
+GetDlgItem $1 $0 1016
+ShowWindow $1 ${SW_SHOW}
+SectionIn RO
+SectionIn 1 2
+SetDetailsPrint textonly
+DetailPrint "Installing Base Files..."
+SetDetailsPrint listonly
+!insertmacro INSTALL_BASEFILES
+SetAutoClose true
+SectionEnd
+
+Section "Start Menu Shortcuts" SecLNK
+SectionIn 1
+SetDetailsPrint textonly
+DetailPrint "Installing Start Menu Shortcuts..."
+SetDetailsPrint listonly
+!insertmacro INSTALL_STARTLNK
+SectionEnd
+
+SubSectionEnd
+
+Section "Review Installation Details After Setup" SecReview
+SectionIn 1 2
+SetAutoClose false
+SetDetailsPrint textonly
+DetailPrint "Installation Complete"
+SetDetailsPrint both
+SectionEnd
+
+Section -post
+!insertmacro XPUI_HEADER_TEXT "Installation Complete" "Setup has successfully installed $(^Name) on your computer."
+DetailPrint `SetBrandingImage /IMGID=1302 "$$PLUGINSDIR\Header.bmp"`
+DetailPrint "GetDlgItem $$0 $$HWNDPARENT 1037"
+DetailPrint `SendMessage $$0 0xC 0 "STR:Installation Complete"`
+DetailPrint "GetDlgItem $$0 $$HWNDPARENT 1038"
+DetailPrint `SendMessage $$0 0xC 0 "STR:Setup has successfully installed $(^Name) on your computer."`
+GetDlgItem $0 $HWNDPARENT 1
+SendMessage $0 0xC 0 "STR:Finish"
+SectionEnd
+
+!insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+!insertmacro XPUI_DESCRIPTION_TEXT ${SubFiles} "$(^Name) - Files to Install"
+!insertmacro XPUI_DESCRIPTION_TEXT ${SecBase} "$(^Name)'s Base Files"
+!insertmacro XPUI_DESCRIPTION_TEXT ${SecLNK} "Start Menu Shortcuts for easy access"
+!insertmacro XPUI_DESCRIPTION_TEXT ${SecReview} "Rewiew the installation log window after Setup completes"
+!insertmacro XPUI_FUNCTION_DESCRIPTION_END
+
+######################################################
+#                       REPAIR                       #
+######################################################
+
+Function setrepair
+
+FindWindow $0 "#32770" "$(^Name)"
+SendMessage $0 ${WM_SETFOCUS} 1 1
+ShowWindow $0 1
+BringToFront
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) DisplayName
+StrCmp $0 "" "" +2
+Abort
+!insertmacro XPUI_INSTALLOPTIONS_EXTRACT_AS "${NSISDIR}\Contrib\ExperienceUI\INI\Repair.ini" "Repair.ini"
+!insertmacro XPUI_HEADER_TEXT `Welcome to the $(^Name) Setup Wizard` `Select which maintenance action you wish to perform.`
+!insertmacro XPUI_INSTALLOPTIONS_INITDIALOG "Repair.ini"
+Pop $1
+GetDlgItem $0 $1 1200
+SendMessage $0 ${WM_SETTEXT} 0 "STR:Repair $(^Name)"
+GetDlgItem $0 $1 1201
+SendMessage $0 ${WM_SETTEXT} 0 "STR:Remove $(^Name)"
+GetDlgItem $0 $1 1204
+SendMessage $0 ${WM_SETTEXT} 0 "STR:Select whether you want to repair or remove $(^Name),$\nor if you want to continue Setup normally."
+GetDlgItem $0 $1 1205
+GetDlgItem $0 $HWNDPARENT 1
+SendMessage $0 ${WM_SETTEXT} "" "STR:Repair"
+GetDlgItem $0 $HWNDPARENT 2
+SendMessage $0 ${WM_SETTEXT} "" "STR:Cancel"
+!insertmacro XPUI_INSTALLOPTIONS_SHOW
+FunctionEnd
+
+######################################################
+#                  REPAIR: VERIFIER                  #
+######################################################
+
+Function setrpverify
+ReadINIStr $0 $PLUGINSDIR\Repair.ini Settings State
+StrCmp $0 1 SetRepair
+StrCmp $0 2 SetRemove
+StrCmp $0 3 SetContinueSetup
+Return
+SetRepair:
+GetDlgItem $0 $HWNDPARENT 1
+SendMessage $0 ${WM_SETTEXT} "" "STR:Repair"
+Abort
+SetRemove:
+GetDlgItem $0 $HWNDPARENT 1
+SendMessage $0 ${WM_SETTEXT} "" "STR:Remove"
+Abort
+SetContinueSetup:
+GetDlgItem $0 $HWNDPARENT 1
+SendMessage $0 ${WM_SETTEXT} "" "STR:Next"
+Abort
+Functionend
+
+Function CopyFiles
+!insertmacro INSTALL_BASEFILES
+!insertmacro INSTALL_STARTLNK
+FunctionEnd
+
+######################################################
+#              REPAIR: LOAD UNINSTALLER              #
+######################################################
+
+Function Repair
+StrCmp $XPUI_ABORTED 1 "" +2
+Abort
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) DisplayName
+StrCmp $0 "" "" +3
+Delete $PLUGINSDIR\repair.ini
+Abort
+ReadINIStr $0 $PLUGINSDIR\Repair.ini "Field 1" State
+StrCmp $0 0 "" Repair
+ReadINIStr $0 $PLUGINSDIR\Repair.ini "Field 3" State
+StrCmp $0 1 ContinueNormally1
+HideWindow
+ReadRegStr $4 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) InstallDir
+Banner::show /NOUNLOAD "Please wait while setup loads the Uninstall wizard..."
+Banner::getWindow /NOUNLOAD
+Pop $1
+!insertmacro XPUI_CONTROL_SKIN $1
+SendMessage $1 0xC 0 STR:
+GetDlgItem $0 $1 1032
+!insertmacro XPUI_CONTROL_SKIN $0
+GetDlgItem $0 $1 1030
+!insertmacro XPUI_CONTROL_SKIN $0
+Sleep 500
+ExecWait $4\Uninst.exe
+Banner::destroy
+Quit
+Repair:
+!insertmacro XPUI_INSTALLOPTIONS_EXTRACT_AS "${NSISDIR}\Contrib\ExperienceUI\INI\confirm_rep.ini" "confirm_rep.ini"
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_rep.ini "Settings" NextButtonText "Next"
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_Rep.ini "Settings" BackEnabled 1
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_Rep.ini "Field 2" Text "Setup is ready to repair $(^Name)."
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_Rep.ini "Field 3" Text "Click 'Repair' to contunue."
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_Rep.ini "Field 4" Top "-17"
+!insertmacro XPUI_INSTALLOPTIONS_WRITE Confirm_Rep.ini "Field 4" Bottom "-1"
+!insertmacro XPUI_INSTALLOPTIONS_INITDIALOG confirm_rep.ini
+GetDlgItem $0 $HWNDPARENT 1
+EnableWindow $0 0
+!insertmacro XPUI_HEADER_TEXT "Confirm Repair" "Please confirm that you want to repair $(^Name)."
+!insertmacro XPUI_INSTALLOPTIONS_SHOW
+ContinueNormally1:
+FunctionEnd
+
+Function rpverify
+StrCmp $XPUI_ABORTED 1 "" +2
+Return
+ReadINIStr $0 $PLUGINSDIR\Repair.ini "Field 3" State
+StrCmp $0 1 ContinueNormally2
+Call CopyFiles
+GetDlgItem $0 $HWNDPARENT 2
+EnableWindow $0 0
+GetDlgItem $0 $HWNDPARENT 3
+EnableWindow $0 0
+
+######################################################
+#                 REPAIR: COPY FILES                 #
+######################################################
+
+!insertmacro XPUI_HEADER_TEXT `Repairing Installation` `Please wait while Setup repairs your installation of $(^Name).`
+GetDlgItem $0 $1 1201
+SendMessage $0 ${WM_SETTEXT} "" "STR:Setup is repairing your installation of $(^Name)"
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\n"
+Sleep 500
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\nCopying Files..."
+Sleep 5000
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\nWriting registry data..."
+Sleep 1000
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\nWriting Uninstaller..."
+Sleep 1000
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\nCopying Maintenance Program..."
+Sleep 1000
+GetDlgItem $0 $1 1202
+SendMessage $0 ${WM_SETTEXT} "" "STR:This may take a few minutes. Please wait...$\nRemoving Backup Files..."
+Sleep 500
+Call CopyFiles
+Sleep 1000
+StrCpy $7 1
+GetDlgItem $0 $HWNDPARENT 2
+EnableWindow $0 1
+BringToFront
+Return
+ContinueNormally2:
+BringToFront
+FunctionEnd
+
+######################################################
+#                  REPAIR: FINISH UP                 #
+######################################################
+
+Function RepairComplete
+StrCmp $XPUI_ABORTED 1 "" +2
+Abort
+StrCmp $7 1 RepairIt!
+HideWindow
+BringToFront
+Return
+Repairit!:
+ShowWindow $HWNDPARENT 5
+!ifmacrodef  XPUI_SET_BG
+!insertmacro XPUI_SET_BG
+!endif
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\INI\Confirm.ini"
+!insertmacro XPUI_HEADER_TEXT `Repair Complete` `Setup has successfully repaired your installation of $(^Name).`
+WriteINIStr $PLUGINSDIR\Confirm.ini "Settings" NextButtonText "Finish"
+WriteINIStr $PLUGINSDIR\Confirm.ini "Settings" BackEnabled 0
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 1" Text "$(^Name) has been successfully repaired."
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 2" Text "Click $\"Finish$\" to exit."
+!insertmacro XPUI_INSTALLOPTIONS_INITDIALOG Confirm.ini
+GetDlgItem $0 $HWNDPARENT 1
+EnableWindow $0 0
+SendMessage $0 ${WM_SETTEXT} "" "STR:Next"
+GetDlgItem $0 $HWNDPARENT 2
+SendMessage $0 ${WM_SETTEXT} "" "STR:Finish"
+StrCpy $XPUI_NOABORTWARNING 1
+InstallOptions::show
+Delete $PLUGINSDIR\Confirm.ini
+Delete $PLUGINSDIR\repair.ini
+Quit
+FunctionEnd
+
+######################################################
+#                   UNINSTALL:PAGES                  #
+######################################################
+
+!insertmacro XPUI_PAGEMODE_UNINST
+!insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+UninstPage custom un.DelConfirm un.DelConfirm.GetReturn
+!insertmacro XPUI_PAGE_INSTFILES
+UninstPage custom un.unsuccess
+
+SetPluginUnload alwaysoff
+Function un.unsuccess
+StrCmp $6 1 "" UninstGood
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\INI\confirm.ini"
+!insertmacro XPUI_HEADER_TEXT `Uninstall Incomplete` `Setup encountered a problem while uninstalling $(^Name).`
+WriteINIStr $PLUGINSDIR\Confirm.ini "Settings" NextButtonText "Close"
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 2" Text "An error occured while uninstalling $(^Name)."
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 3" Text "Click $\"Close$\" to exit.\r\nError: The folder $0 is a nonexistent, system, or invalid directory, or Setup could not locate the file ${EXECUTABLE} in $0."
+WriteINIStr $PLUGINSDIR\Confirm.ini Settings BackEnabled No
+!insertmacro XPUI_INSTALLOPTIONS_INITDIALOG Confirm.ini
+GetDlgItem $0 $HWNDPARENT 1
+EnableWindow $0 0
+SendMessage $0 ${WM_SETTEXT} 0 STR:Next
+GetDlgItem $0 $HWNDPARENT 2
+EnableWindow $0 1
+SendMessage $0 ${WM_SETTEXT} 0 STR:Close
+StrCpy $XPUI_NOABORTWARNING 1
+InstallOptions::show
+Delete $PLUGINSDIR\Confirm.ini
+Return
+UninstGood:
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\INI\confirm.ini"
+!insertmacro XPUI_HEADER_TEXT `Uninstall Complete` `Setup has successfully uninstalled $(^Name) from your computer.`
+WriteINIStr $PLUGINSDIR\Confirm.ini "Settings" NextButtonText "Close"
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 1" Text "$(^Name) has been successfully uninstalled."
+WriteINIStr $PLUGINSDIR\Confirm.ini "Field 2" Text "Click $\"Close$\" to exit."
+WriteINIStr $PLUGINSDIR\Confirm.ini Settings BackEnabled No
+!insertmacro XPUI_INSTALLOPTIONS_INITDIALOG Confirm.ini
+GetDlgItem $0 $HWNDPARENT 1
+EnableWindow $0 0
+SendMessage $0 ${WM_SETTEXT} 0 STR:Next
+GetDlgItem $0 $HWNDPARENT 2
+EnableWindow $0 1
+SendMessage $0 ${WM_SETTEXT} 0 STR:Close
+StrCpy $XPUI_NOABORTWARNING 1
+InstallOptions::show
+Delete $PLUGINSDIR\Confirm.ini
+FunctionEnd
+
+######################################################
+#               UNINSTALL: RMDIR NOTICE              #
+######################################################
+
+Function un.DelConfirm
+!insertmacro XPUI_HEADER_TEXT "Uninstall Warning" "If you continue, any of your changes to $(^Name) will be lost!"
+!insertmacro XPUI_LEFT_MESSAGE "WARNING:" "This uninstaller deletes all of the files in the installation directory. If you have made any changes to $(^Name), they will be lost.  Continue?" 3
+FunctionEnd
+
+Function un.DelConfirm.GetReturn
+ReadINIStr "$R0" "$PLUGINSDIR\MBSide.ini" "Settings" "State"
+StrCmp $R0 2 Yes
+Quit
+Yes:
+FunctionEnd
+
+######################################################
+#                     UNINSTFILES                    #
+######################################################
+
+Function un.unin
+ReadRegStr $0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name) InstallDir
+StrCmp $0 $WINDIR UnError
+StrCmp $0 $SYSDIR UnError
+StrCmp $0 $TEMP UnError
+StrCmp $0 $PROGRAMFILES UnError
+IfFileExists $0\${EXECUTABLE} "" UnError
+Delete $INSTDIR\Notepad.exe
+Delete $INSTDIR\Uninst.exe
+RMDir $INSTDIR
+DeleteRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)
+Delete $SMPROGRAMS\$(^Name).lnk
+Delete $SMPROGRAMS\$(^Name)\$(^Name).lnk
+Delete $SMPROGRAMS\$(^Name)\Uninstall.lnk
+RMDir $INSTDIR
+RMDir $SMPROGRAMS\$(^Name)
+Return
+UnError:
+MessageBox MB_OK|MB_ICONEXCLAMATION|MB_TOPMOST "Setup was either unable to find a valid installation of $(^Name), or $(^Name) was installed in a system folder.  Uninstall incomplete."
+StrCpy $6 1
+FunctionEnd
+
+######################################################
+#                  UNINSTALL SECTION                 #
+######################################################
+
+Section Uninstall
+!insertmacro XPUI_HEADER_TEXT "Uninstalling" "Please wait while $(^Name) is being uninstalled."
+SetAutoClose true
+Call un.unin
+SectionEnd
+
+!insertmacro XPUI_LANGUAGE English
+
+; EOF
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/StartMenu.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,131 @@
+;ExperienceUI for NSIS
+;Header Bitmap Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it :)
+
+!define XPUI_WANSIS
+
+;--------------------------------
+;Include ExperienceUI
+
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test"
+  OutFile "StartMenu.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Variables
+
+  Var XPUI_TEMP
+  Var STARTMENU_FOLDER
+
+;--------------------------------
+;Interface Settings
+
+  !define XPUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+  !insertmacro XPUI_PAGE_COMPONENTS
+  !insertmacro XPUI_PAGE_DIRECTORY
+  
+  ;Start Menu Folder Page Configuration
+  !define XPUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
+  !define XPUI_STARTMENUPAGE_REGISTRY_KEY "Software\ExperienceUI Test"
+  !define XPUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+  
+  !insertmacro XPUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+  
+  !insertmacro XPUI_PAGE_INSTFILES
+  !insertmacro XPUI_PAGE_FINISH
+  !insertmacro XPUI_PAGE_ABORT
+  
+  !insertmacro XPUI_PAGEMODE_UNINST
+  !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+  !insertmacro XPUI_PAGE_INSTFILES
+
+;--------------------------------
+;Languages
+ 
+  !insertmacro XPUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  
+  !insertmacro XPUI_STARTMENU_WRITE_BEGIN Application
+    
+    ;Create shortcuts
+    CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+  
+  !insertmacro XPUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro XPUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro XPUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+  
+  !insertmacro XPUI_STARTMENU_GETFOLDER Application $XPUI_TEMP
+    
+  Delete "$SMPROGRAMS\$XPUI_TEMP\Uninstall.lnk"
+  
+  ;Delete empty start menu parent diretories
+  StrCpy $XPUI_TEMP "$SMPROGRAMS\$XPUI_TEMP"
+ 
+  startMenuDeleteLoop:
+	ClearErrors
+    RMDir $XPUI_TEMP
+    GetFullPathName $XPUI_TEMP "$XPUI_TEMP\.."
+    
+    IfErrors startMenuDeleteLoopDone
+  
+    StrCmp $XPUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
+  startMenuDeleteLoopDone:
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/UmuiImport.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,115 @@
+;ExperienceUI for NSIS
+;Welcome/Finish Page Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it :)
+
+SetCompressor /FINAL /SOLID lzma
+
+;--------------------------------
+;Include ExperienceUI
+
+  !define XPUI_SKIN Modern-blue
+  !define XPUI_VERBOSE 4
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test - UltraModernUI Skin Import"
+  OutFile "UmuiImport.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+  !insertmacro MUI_PAGE_WELCOME
+  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+  !insertmacro MUI_PAGE_COMPONENTS
+  !insertmacro MUI_PAGE_DIRECTORY
+  !insertmacro MUI_PAGE_INSTFILES
+  !insertmacro MUI_PAGE_FINISH
+  
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGE_ABORT
+  !else
+    !insertmacro UMUI_PAGE_ABORT
+  !endif
+
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGEMODE_UNINST
+    !insertmacro XPUI_PAGE_WELCOME
+    !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+    !insertmacro XPUI_PAGE_INSTFILES
+    !insertmacro XPUI_PAGE_FINISH
+    !insertmacro XPUI_PAGE_ABORT
+  !else
+    !insertmacro MUI_UNPAGE_WELCOME
+    !insertmacro MUI_UNPAGE_CONFIRM
+    !insertmacro MUI_UNPAGE_INSTFILES
+    !insertmacro MUI_UNPAGE_FINISH
+    !insertmacro UMUI_UNPAGE_ABORT
+  !endif
+  
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGE_ABORT
+  !endif
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd  
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/WAnsis.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,151 @@
+SetCompressor /SOLID /FINAL lzma
+
+!define       XPUI_WANSIS
+!define       XPUI_TEXT_COLOR 30343D
+!define       XPUI_TEXT_BGCOLOR 8DB174
+!define       XPUI_TEXT_LIGHTCOLOR FFFFFF
+!define       XPUI_WANSIS_SKIN Bliss
+!define       XPUI_WANSIS_HEADERIMAGE
+!define       XPUI_BUTTONTEXT_CLOSE "Finish"
+!define       XPUI_FINISHPAGE_TEXT "Setup has successfully installed $(^Name) on your computer.\r\n\r\nBut we're NOT DONE YET!\r\n\r\n\r\n\r\n\r\nPlease click Finish to find out what's just around the corner..."
+!define       XPUI_LICENSEPAGE_RADIOBUTTONS
+;!define       XPUI_SKIN "Windows XP"
+!define       XPUI_DISABLEBG
+!define       XPUI_BOTTOMIMAGE
+
+!include      XPUI.nsh
+
+!define       XPUI_ABORTWARNING
+!define       XPUI_UNABORTWARNING
+
+!define       XPUI_FINISHPAGE_TEXT_USE_TOP_ALT
+!define       XPUI_UNFINISHPAGE_TEXT_USE_TOP_ALT
+
+!define       XPUI_PAGE_CUSTOMFUNCTION_PRE SetTime
+!insertmacro  XPUI_PAGE_WELCOME
+!insertmacro  XPUI_PAGE_WELCOME2
+!insertmacro  XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro  XPUI_PAGE_COMPONENTS
+!insertmacro  XPUI_PAGE_DIRECTORY
+!insertmacro  XPUI_PAGE_STARTMENU App $0
+!insertmacro  XPUI_PAGE_INSTCONFIRM
+!insertmacro  XPUI_PAGE_INSTFILES
+!insertmacro  XPUI_PAGE_FINISH
+!insertmacro  XPUI_PAGE_ABORT
+
+!insertmacro  XPUI_PAGEMODE_UNINST
+!insertmacro  XPUI_PAGE_WELCOME
+!insertmacro  XPUI_PAGE_WELCOME2
+!insertmacro  XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro  XPUI_PAGE_COMPONENTS
+!insertmacro  XPUI_PAGE_DIRECTORY
+!insertmacro  XPUI_PAGE_STARTMENU UninstApp $0
+!insertmacro  XPUI_PAGE_INSTCONFIRM
+!insertmacro  XPUI_PAGE_INSTFILES
+!insertmacro  XPUI_PAGE_FINISH
+!insertmacro  XPUI_PAGE_ABORT
+
+Icon D:\Nullsoft\NSIS2\Contrib\Graphics\Icons\modern-install-colorful.ico
+UninstallIcon D:\Nullsoft\NSIS2\Contrib\Graphics\Icons\modern-uninstall-colorful.ico
+
+Name "ExperienceUI $\"Bryce$\" Milestone One WAnsis Test"
+OutFile WAnsis.exe
+InstallDir $PROGRAMFILES\$(^Name)
+
+Section "Program"
+  DetailPrint "Installing program (nah!)..."
+  WriteUninstaller $EXEDIR\WAnsis-Uninst.exe
+SectionEnd
+
+SectionGroup /e "Documentation"
+  Section "Help"
+    DetailPrint "Installing docs (nah!)..."
+  SectionEnd
+
+  Section "Reference"
+    DetailPrint "Installing docs (nah!)..."
+  SectionEnd
+SectionGroupEnd
+
+Section "Source code"
+  DetailPrint "Installing souce code (nah!)..."
+SectionEnd
+
+!insertmacro XPUI_PAGEMODE_INST
+!undef        XPUI_FINISHPAGE_TEXT_USE_TOP_ALT
+!define       XPUI_FINISHPAGE_LINK
+!define       XPUI_FINISHPAGE_LINK_TEXT "Here is a link. (No function set here, but functionality is obvious)"
+!define       XPUI_PAGE_CUSTOMFUNCTION_PRE ChangeSkin
+!insertmacro  XPUI_PAGE_WELCOME
+!insertmacro  XPUI_PAGE_WELCOME2
+!insertmacro  XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro  XPUI_PAGE_COMPONENTS
+!insertmacro  XPUI_PAGE_DIRECTORY
+!insertmacro  XPUI_PAGE_INSTCONFIRM
+!insertmacro  XPUI_PAGE_INSTFILES
+!define       XPUI_PAGE_CUSTOMFUNCTION_SHOW SetTextOnFinish
+!insertmacro  XPUI_PAGE_FINISH
+!insertmacro  XPUI_PAGE_ABORT
+
+!insertmacro XPUI_PAGEMODE_UNINST
+!undef        XPUI_UNFINISHPAGE_TEXT_USE_TOP_ALT
+!define       XPUI_UNFINISHPAGE_LINK
+!define       XPUI_UNFINISHPAGE_LINK_TEXT "Here is a link. (No function set here, but functionality is obvious)"
+!define       XPUI_UNPAGE_CUSTOMFUNCTION_PRE un.ChangeSkin
+!insertmacro  XPUI_PAGE_WELCOME
+!insertmacro  XPUI_PAGE_WELCOME2
+!insertmacro  XPUI_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+!insertmacro  XPUI_PAGE_COMPONENTS
+!insertmacro  XPUI_PAGE_DIRECTORY
+!insertmacro  XPUI_PAGE_INSTCONFIRM
+!insertmacro  XPUI_PAGE_INSTFILES
+!define       XPUI_PAGE_CUSTOMFUNCTION_SHOW un.SetTextOnFinish
+!insertmacro  XPUI_PAGE_FINISH
+!insertmacro  XPUI_PAGE_ABORT
+
+Function SetTime
+!insertmacro XPUI_LEFT_SETTIME "This is a test"
+FunctionEnd
+
+; /*
+Function ChangeSkin
+LockWindow on
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\Skins\LCD\*.bmp"
+SetBrandingImage /IMGID=1302 /RESIZETOFIT $PLUGINSDIR\LeftLogo.bmp
+SetBrandingImage /IMGID=1039 /RESIZETOFIT $PLUGINSDIR\bottom.bmp
+SetBrandingImage /IMGID=1046 /RESIZETOFIT $PLUGINSDIR\Header.bmp
+wansis::setskin /NOUNLOAD "$PLUGINSDIR\gen.bmp" "$PLUGINSDIR\genex.bmp"
+FunctionEnd
+; */
+
+; /*
+Function un.ChangeSkin
+LockWindow on
+SetOutPath $PLUGINSDIR
+File "${NSISDIR}\Contrib\ExperienceUI\Skins\LCD\*.bmp"
+SetBrandingImage /IMGID=1302 /RESIZETOFIT $PLUGINSDIR\LeftLogo.bmp
+SetBrandingImage /IMGID=1039 /RESIZETOFIT $PLUGINSDIR\bottom.bmp
+SetBrandingImage /IMGID=1046 /RESIZETOFIT $PLUGINSDIR\Header.bmp
+wansis::setskin /NOUNLOAD "$PLUGINSDIR\gen.bmp" "$PLUGINSDIR\genex.bmp"
+FunctionEnd
+; */
+
+Function SetTextOnFinish
+GetDlgItem $0 $XPUI_TEMP2 1204
+SendMessage $0 0xC 0 "STR:Setup has successfully installed $(^Name) on your computer.$\r$\n$\r$\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+FunctionEnd
+
+Function un.SetTextOnFinish
+GetDlgItem $0 $XPUI_TEMP2 1204
+SendMessage $0 0xC 0 "STR:Setup has successfully uninstalled $(^Name) from your computer.$\r$\n$\r$\nPlease click $(XPUI_BUTTONTEXT_CLOSE) to exit Setup."
+FunctionEnd
+
+Function .onInit
+  InitPluginsDir
+  SetOutPath $PLUGINSDIR
+  File /oname=splash.gif "${NSISDIR}\Contrib\ExperienceUI\LargeLogo.gif"
+  newAdvSplash::show 5000 1000 1000 -1 "$PLUGINSDIR\splash.gif"
+FunctionEnd
+
+!insertmacro  XPUI_LANGUAGE English
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/WelcomeFinish.nsi	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,155 @@
+;ExperienceUI for NSIS
+;Welcome/Finish Page Example Script
+;Written by Dan Fuhry
+
+;OK, I cheated, Joost wrote it :)
+
+;This script has been tested to compile with the Modern UI, ExperienceUI,
+;UltraModernUI, and InstallSpider UI.  All compiled w/o warnings.
+
+;!define XPUI_VERBOSE 4
+
+;--------------------------------
+;Include ExperienceUI
+
+  !define XPUI_SKIN "Windows XP"
+  !define XPUI_DISABLEBG
+  !define UI "XPUI"
+  !include "XPUI.nsh"
+
+;--------------------------------
+;General
+
+  ;Name and file
+  Name "ExperienceUI Test"
+  OutFile "WelcomeFinish.exe"
+
+  ;Default installation folder
+  InstallDir "$PROGRAMFILES\ExperienceUI Test"
+  
+  ;Get installation folder from registry if available
+  InstallDirRegKey HKCU "Software\ExperienceUI Test" ""
+
+;--------------------------------
+;Interface Settings
+
+  !define MUI_ABORTWARNING
+  
+;--------------------------------
+;Pages
+
+  !insertmacro ${UI}_PAGE_WELCOME
+  !insertmacro ${UI}_PAGE_LICENSE "${NSISDIR}\Contrib\ExperienceUI\License.rtf"
+  !ifdef XPUI_INCLUDED
+  !define ${UI}_FINISHPAGE_RUN        "$SYSDIR\Write.exe"
+  !define ${UI}_FINISHPAGE_RUN_FILE   "$SYSDIR\Write.exe"
+  !define ${UI}_FINISHPAGE_DOCS       "$SYSDIR\Write.exe"
+  !define ${UI}_FINISHPAGE_DOCS_FILE  "$SYSDIR\Write.exe"
+  !endif
+  !insertmacro ${UI}_PAGE_FINISH
+  !ifdef XPUI_INCLUDED
+  !insertmacro ${UI}_PAGE_WELCOME2
+  !endif
+  !insertmacro ${UI}_PAGE_COMPONENTS
+  !insertmacro ${UI}_PAGE_DIRECTORY
+  !insertmacro ${UI}_PAGE_INSTFILES
+  !ifdef XPUI_INCLUDED
+  !define ${UI}_FINISHPAGE_RUN        "$WINDIR\Notepad.exe"
+  !define ${UI}_FINISHPAGE_RUN_FILE   "$WINDIR\Notepad.exe"
+  !define ${UI}_FINISHPAGE_DOCS       "$WINDIR\Notepad.exe"
+  !define ${UI}_FINISHPAGE_DOCS_FILE  "$WINDIR\Notepad.exe"
+  !endif
+  !define MUI_PAGE_ABORT
+  !insertmacro ${UI}_PAGE_FINISH
+  
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGE_ABORT
+  !endif
+
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGEMODE_UNINST
+    !insertmacro XPUI_PAGE_WELCOME
+    !insertmacro XPUI_PAGE_UNINSTCONFIRM_NSIS
+    !insertmacro XPUI_PAGE_INSTFILES
+    !define ${UI}_UNFINISHPAGE_RUN        "$WINDIR\Notepad.exe"
+    !define ${UI}_UNFINISHPAGE_RUN_FILE   "$WINDIR\Notepad.exe"
+    !define ${UI}_UNFINISHPAGE_DOCS       "$WINDIR\Notepad.exe"
+    !define ${UI}_UNFINISHPAGE_DOCS_FILE  "$WINDIR\Notepad.exe"
+    !insertmacro XPUI_PAGE_FINISH
+    !insertmacro XPUI_PAGE_ABORT
+  !else
+    !insertmacro MUI_UNPAGE_WELCOME
+    !insertmacro MUI_UNPAGE_CONFIRM
+    !insertmacro MUI_UNPAGE_INSTFILES
+    !insertmacro MUI_UNPAGE_FINISH
+  !endif
+  
+  !ifdef XPUI_VERSION
+    !insertmacro XPUI_PAGE_ABORT
+  !endif
+  
+;--------------------------------
+;Languages
+ 
+  !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "Dummy Section" SecDummy
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  
+  ;Store installation folder
+  WriteRegStr HKCU "Software\ExperienceUI Test" "" $INSTDIR
+  
+  ;Create uninstaller
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+;--------------------------------
+;Descriptions
+
+  ;Language strings
+  LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
+
+  ;Assign language strings to sections
+  !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
+  !insertmacro MUI_FUNCTION_DESCRIPTION_END
+ 
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+  ;ADD YOUR OWN FILES HERE...
+
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR"
+
+  DeleteRegKey /ifempty HKCU "Software\ExperienceUI Test"
+
+SectionEnd  
+
+;--------------------------------
+; InstallSpider settings
+
+  Function .onInit
+    !ifmacrodef MUI_SHOWBANNER
+      !insertmacro MUI_SHOWBANNER
+      StrCpy $0 0
+      loop:
+        IntOp $0 $0 + 1
+        !insertmacro MUI_SETPOS $0
+        Sleep 20
+        IntCmp $0 100 +2 0 +2
+        Goto loop
+      !insertmacro MUI_DESTROYBANNER
+      !insertmacro MUI_UNLOAD_DLL
+    !endif
+  FunctionEnd
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/ioA.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,19 @@
+[Settings]
+NumFields=2
+
+[Field 1]
+Type=label
+Text=Install Options Page A
+Left=0
+Right=-1
+Top=0
+Bottom=10
+
+[Field 2]
+Type=text
+Left=0
+Right=-1
+Top=20
+Bottom=100
+flags=MULTILINE|VSCROLL|READONLY
+State="Description:\r\n\r\n1 - Show custom page A (where you are now)\r\n2 - Show the components page\r\n3 - Show custom page B\r\n4 - Show directory page\r\n5 - Show custom page C\r\n6 - Show installation progress"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/ioB.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,10 @@
+[Settings]
+NumFields=1
+
+[Field 1]
+Type=label
+Text=Install Options Page B
+Left=0
+Right=-1
+Top=0
+Bottom=10
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Examples/ExperienceUI/ioC.ini	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,19 @@
+[Settings]
+NumFields=2
+
+[Field 1]
+Type=label
+Text=Instal Options Page C
+Left=0
+Right=-1
+Top=0
+Bottom=10
+
+[Field 2]
+Type=checkbox
+Text=Display a MessageBox
+Left=0
+Right=-1
+Top=30
+Bottom=40
+State=1
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Include/NSISArray.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,694 @@
+#####################################################
+# NSISArray.nsh by Afrow UK
+# Array script header for NSISArray plugin by Afrow UK
+# For usage, see Docs\NSISArray\Readme.html
+#
+# Script header v1.3 (RC3)
+# Only for use with the same plugin version.
+#
+# Last modified: 28th April 2005
+#
+#
+
+!ifndef NSISArray
+!define NSISArray
+
+!macro Array Name Size StrLen
+
+ !ifndef Array_ScriptHeaderInited
+
+  !ifdef ArrayCallInstDLL
+   !define ArrayPluginDLL `${ArrayCallInstDLL}`
+  !else ifndef ArrayPluginDLL
+   !define ArrayPluginDLL `NSISArray`
+  !endif
+
+  !ifndef ArrayValVar
+   Var ArrayVal
+   !define ArrayValVar $ArrayVal
+  !endif
+
+  !ifndef ArrayErrVar
+   Var ArrayErr
+   !define ArrayErrVar $ArrayErr
+  !endif
+
+ !define Array_ScriptHeaderInited
+ !endif
+
+ !ifndef `Array_${Name}_Declared`
+
+ !ifdef Array_Obj
+  !undef Array_Obj
+ !endif
+ !define Array_Obj `->`
+
+ !ifdef ArrayObj
+  !undef ArrayObj
+ !endif
+ !define ArrayObj `!insertmacro ArrayObj`
+
+ !ifdef Array_Name
+  !undef Array_Name
+ !endif
+ !define Array_Name "${Name}"
+
+ !ifdef Array_Size
+  !undef Array_Size
+ !endif
+ !define Array_Size "${Size}"
+
+ !ifdef Array_StrLen
+  !undef Array_StrLen
+ !endif
+ !define Array_StrLen "${StrLen}"
+
+ !define `Array_${Name}_Declared`
+ !else
+  !error "NSISArray: You cannot declare more than one array with the same name."
+ !endif
+!macroend
+!define Array `!insertmacro Array`
+
+!macro ArrayObj Obj
+ !ifdef Array_Obj
+  !undef Array_Obj
+ !endif
+ !define Array_Obj `${Obj}`
+!macroend
+
+!macro Array_ObjErr Null
+ !error "NSISArray: You can only set the array object style once."
+!macroend
+
+!macro ArrayFunc Func
+
+ !define `Func_${Func}`
+ !ifdef Func_Inited \
+      | Func_Print \
+      | Func_Write \
+      | Func_WriteList \
+      | Func_WriteListC \
+      | Func_Put \
+      | Func_Read \
+      | Func_ReadToStack \
+      | Func_Cut \
+      | Func_Push \
+      | Func_Pop \
+      | Func_Shift \
+      | Func_Unshift \
+      | Func_Reverse \
+      | Func_Sort \
+      | Func_Clear \
+      | Func_Splice \
+      | Func_Swap \
+      | Func_Copy \
+      | Func_Join \
+      | Func_Concat \
+      | Func_Exists \
+      | Func_ExistsI \
+      | Func_Search \
+      | Func_SearchI \
+      | Func_SizeOf \
+      | Func_ReadFirst \
+      | Func_ReadNext \
+      | Func_ReadClose \
+      | Func_Debug \
+      | Func_SetSize \
+      | Func_ReDim \
+      | Func_FreeUnusedMem
+
+  !ifndef Array_Name
+   !error "NSISArray: Please declare an array before declaring functions."
+  !else
+
+   !ifndef `Array_FuncDefined_${Array_Name}${Func}`
+    !define `Array_FuncDefined_${Array_Name}${Func}`
+   !else
+    !error "NSISArray: You cannot declare a function more than once."
+   !endif
+
+   !ifdef ArrayObj
+    !undef ArrayObj
+   !endif
+   !define ArrayObj `!insertmacro Array_ObjErr`
+
+   !ifndef "${Array_Name}${Array_Obj}Init"
+    !define "${Array_Name}${Array_Obj}Init" `!insertmacro Array_Init "${Array_Name}" "${Array_Size}" "${Array_StrLen}"`
+   !endif
+   !ifndef "${Array_Name}${Array_Obj}Delete"
+    !define "${Array_Name}${Array_Obj}Delete" `!insertmacro Array_Delete "${Array_Name}"`
+   !endif
+
+   !ifdef ArrayCallInstDLL
+    !ifdef Func_WriteList
+     !define "${Array_Name}${Array_Obj}WriteListBegin" `!insertmacro Array_WriteListBegin `
+     !define "${Array_Name}${Array_Obj}WriteListItem"  `!insertmacro Array_WriteListItem`
+     !define "${Array_Name}${Array_Obj}WriteListEnd"   `!insertmacro Array_WriteListEnd "${Array_Name}"`
+    !else \
+     ifdef Func_Splice
+     !define "${Array_Name}${Array_Obj}SpliceBegin" `!insertmacro Array_SpliceBegin `
+     !define "${Array_Name}${Array_Obj}SpliceItem"  `!insertmacro Array_SpliceItem`
+     !define "${Array_Name}${Array_Obj}SpliceEnd"   `!insertmacro Array_SpliceEnd "${Array_Name}"`
+    !else
+     !define "${Array_Name}${Array_Obj}${Func}" `!insertmacro Array_${Func} "${Array_Name}"`
+    !endif
+   !else
+    !define "${Array_Name}${Array_Obj}${Func}" `!insertmacro Array_${Func} "${Array_Name}"`
+   !endif
+
+  !endif
+
+ !else \
+  ifdef Func_Init \
+      | Func_Delete
+  !error "NSISArray: You do not need to declare the Init and Delete functions."
+ !else
+  !error "NSISArray: An invalid function Name has been declared."
+ !endif
+ !undef `Func_${Func}`
+
+!macroend
+!define ArrayFunc `!insertmacro ArrayFunc`
+
+!macro Array_ErrorStyle ErrorStyle
+ !define `ErrorStyle_${ErrorStyle}`
+ !ifdef ErrorStyle_logwin
+  !define ErrorStyleNum 5
+ !else ifdef ErrorStyle_msgbox
+  !define ErrorStyleNum 3
+ !else
+  !define ErrorStyleNum 1
+ !endif
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ErrorStyle /NOUNLOAD "${ErrorStyleNum}"
+ !else
+  Push "${ErrorStyleNum}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ErrorStyle
+ !endif
+ !undef ErrorStyleNum
+ !undef `ErrorStyle_${ErrorStyle}`
+!macroend
+!define ArrayErrorStyle `!insertmacro Array_ErrorStyle`
+
+!macro Array_PopErrVar
+ Pop "${ArrayErrVar}"
+ !ifdef ArraySetErrors
+  StrCmp "${ArrayErrVar}" 0 +2
+  SetErrors
+ !endif
+!macroend
+!define Array_PopErrVar `!insertmacro Array_PopErrVar`
+
+!macro Array_Init Name Size StrLen
+ !ifndef `Array_${Name}_Inited`
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ErrorStyle /NOUNLOAD ""
+  Pop "${ArrayErrVar}"
+  StrCmp "${ArrayErrVar}" 3 +3
+  StrCmp "${ArrayErrVar}" 5 +2
+  ${ArrayPluginDLL}::ErrorStyle /NOUNLOAD "1"
+ !else
+  Push ""
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ErrorStyle
+  Pop "${ArrayErrVar}"
+  StrCmp "${ArrayErrVar}" 3 +4
+  StrCmp "${ArrayErrVar}" 5 +3
+  Push "1"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ErrorStyle
+ !endif
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::New /NOUNLOAD "${Name}" "${Size}" "${StrLen}"
+ !else
+  Push "${StrLen}"
+  Push "${Size}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD New
+ !endif
+ ${Array_PopErrVar}
+ !define `Array_${Name}_Inited`
+ !else
+  !error "NSISArray: An array can only be initialised once."
+ !endif
+!macroend
+
+!macro Array_Delete Name
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Delete /NOUNLOAD "${Name}"
+ ${Array_PopErrVar}
+  ${ArrayPluginDLL}::ArrayCount /NOUNLOAD
+   Pop "${ArrayValVar}"
+  StrCmp "${ArrayValVar}" 0 0 +2
+  ${ArrayPluginDLL}::Unload
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Delete
+ ${Array_PopErrVar}
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ArrayCount
+   Pop "${ArrayValVar}"
+  StrCmp "${ArrayValVar}" 0 0 +2
+  CallInstDLL `${ArrayPluginDLL}` Unload
+ !endif
+!macroend
+
+!macro Array_ReDim Name Size StrLen
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ReDim /NOUNLOAD "${Name}" "${Size}" "${StrLen}"
+ !else
+  Push "${StrLen}"
+  Push "${Size}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ReDim
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_FreeUnusedMem Name
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::FreeUnusedMem /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD FreeUnusedMem
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Inited Name JumpInited JumpNotInited
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ArrayExists /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ArrayExists
+ !endif
+ ${Array_PopErrVar}
+  Pop "${ArrayValVar}"
+ StrCmp "${ArrayValVar}" 1 "${JumpInited}" "${JumpNotInited}"
+!macroend
+
+!macro Array_Write Name Index Value
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Write /NOUNLOAD "${Name}" "${Index}" "${Value}"
+ !else
+  Push "${Value}"
+  Push "${Index}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Write
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!ifndef ArrayCallInstDLL
+!macro Array_WriteList Name List
+  ${ArrayPluginDLL}::WriteList /NOUNLOAD "${Name}" ${List} "/END"
+ ${Array_PopErrVar}
+!macroend
+!else
+!macro Array_WriteListBegin
+  Push "/END"
+!macroend
+!macro Array_WriteListItem Item
+  Push `${Item}`
+!macroend
+!macro Array_WriteListEnd Name
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD WriteList
+ ${Array_PopErrVar}
+!macroend
+!endif
+
+!macro Array_WriteListC Name List Char
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::WriteListC /NOUNLOAD "${Name}" "${List}" "${Char}"
+ !else
+  Push "${Char}"
+  Push "${List}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD WriteListC
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Put Name Index Value
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Put /NOUNLOAD "${Name}" "${Index}" "${Value}"
+ !else
+  Push "${Value}"
+  Push "${Index}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Put
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Read Name Var Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Read /NOUNLOAD "${Name}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Read
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_ReadToStack Name IndexA IndexB
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ReadToStack /NOUNLOAD "${Name}" "${IndexA}" "${IndexB}"
+ !else
+  Push "${IndexB}"
+  Push "${IndexA}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ReadToStack
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Cut Name Var Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Cut /NOUNLOAD "${Name}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Cut
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_Push Name Value
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Push /NOUNLOAD "${Name}" "${Value}"
+ !else
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Push
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Pop Name Var
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Pop /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Pop
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_Shift Name Value
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Shift /NOUNLOAD "${Name}" "${Value}"
+ !else
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Shift
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Unshift Name Var
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Unshift /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Unshift
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_Reverse Name
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Reverse /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Reverse
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Sort NameA NameB
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Sort /NOUNLOAD "${NameA}" "${NameB}"
+ !else
+  Push "${NameB}"
+  Push "${NameA}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Sort
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Clear Name
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Clear /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Clear
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!ifndef ArrayCallInstDLL
+!macro Array_Splice Name IndexA IndexB List
+ ${ArrayPluginDLL}::Splice /NOUNLOAD "${Name}" "${IndexA}" "${IndexB}" ${List} "/END"
+ ${Array_PopErrVar}
+!macroend
+!else
+!macro Array_SpliceBegin IndexA IndexB
+ !define Array_Splice_IndexA `${IndexA}`
+ !define Array_Splice_IndexB `${IndexB}`
+  Push "/END"
+!macroend
+!macro Array_SpliceItem Item
+  Push `${Item}`
+!macroend
+!macro Array_SpliceEnd Name
+  Push "${Array_Splice_IndexB}"
+  Push "${Array_Splice_IndexA}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Splice
+ ${Array_PopErrVar}
+  !undef Array_Splice_IndexB
+  !undef Array_Splice_IndexA
+!macroend
+!endif
+
+!macro Array_Swap Name IndexA IndexB
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Swap /NOUNLOAD "${Name}" "${IndexA}" "${IndexB}"
+ !else
+  Push "${IndexB}"
+  Push "${IndexA}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Swap
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Copy Name ToArray
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Copy /NOUNLOAD "${Name}" "${ToArray}"
+ !else
+  Push "${ToArray}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Copy
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Join Name ToArray
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Join /NOUNLOAD "${Name}" "${ToArray}"
+ !else
+  Push "${ToArray}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Join
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_Concat Name Var Chars
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Concat /NOUNLOAD "${Name}" "${Chars}"
+ !else
+  Push "${Chars}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Concat
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_Exists Name Var Value Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Exists /NOUNLOAD "${Name}" "${Value}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Exists
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_ExistsI Name Var Value Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::ExistsI /NOUNLOAD "${Name}" "${Value}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD ExistsI
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_Search Name Var Value Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Search /NOUNLOAD "${Name}" "${Value}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Search
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_SearchI Name Var Value Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::SearchI /NOUNLOAD "${Name}" "${Value}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Value}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD SearchI
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+!macroend
+
+!macro Array_SizeOf Name VarItems VarSize VarStrLen
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::SizeOf /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD SizeOf
+ !endif
+ ${Array_PopErrVar}
+  Pop "${VarStrLen}"
+  Pop "${VarSize}"
+  Pop "${VarItems}"
+!macroend
+
+!macro Array_Debug Name
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Debug /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Debug
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_SetSize Name Size
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::SetSize /NOUNLOAD "${Name}" "${Size}"
+ !else
+  Push "${Size}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD SetSize
+ !endif
+ ${Array_PopErrVar}
+!macroend
+
+!macro Array_ReadFirst Name Handle Var
+ !tempfile F
+ !delfile ${F}
+ !define Local ${__LINE__}-${F}
+ !undef F
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::SizeOf /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD SizeOf
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+  Pop "${Var}"
+  Pop "${Var}"
+  StrCmp "${Var}" 0 0 +4
+   StrCpy "${Var}" ""
+   SetErrors
+   Goto Done_${Local}
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Read /NOUNLOAD "${Name}" "0"
+ !else
+  Push "0"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Read
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+  StrCpy "${Handle}" 1
+ Done_${Local}:
+ !undef Local
+!macroend
+
+!macro Array_ReadNext Name Handle Var
+ !tempfile F
+ !delfile ${F}
+ !define Local ${__LINE__}-${F}
+ !undef F
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::SizeOf /NOUNLOAD "${Name}"
+ !else
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD SizeOf
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+  Pop "${Var}"
+  Pop "${Var}"
+  StrCmp "${Var}" "${Handle}" 0 +4
+   StrCpy "${Var}" ""
+   SetErrors
+   Goto Done_${Local}
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Read /NOUNLOAD "${Name}" "${Handle}"
+ !else
+  Push "${Handle}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Read
+ !endif
+ ${Array_PopErrVar}
+  Pop "${Var}"
+  IntOp "${Handle}" "${Handle}" + 1
+ Done_${Local}:
+ !undef Local
+!macroend
+
+!macro Array_ReadClose Name Handle
+ StrCpy "${Handle}" ""
+!macroend
+
+!macro Array_Print Name Index
+ !ifndef ArrayCallInstDLL
+  ${ArrayPluginDLL}::Read /NOUNLOAD "${Name}" "${Index}"
+ !else
+  Push "${Index}"
+  Push "${Name}"
+  CallInstDLL `${ArrayPluginDLL}` /NOUNLOAD Read
+ !endif
+ ${Array_PopErrVar}
+  Pop "${ArrayValVar}"
+  DetailPrint "${ArrayValVar}"
+!macroend
+
+!endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Include/RecFind.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,149 @@
+#################################################################################################
+# RecFind.nsh - Recursive FindFirst, FindNext, FindClose.
+#  by Afrow UK
+#
+# Last modified 5th July 2005
+
+; Usage:
+; ------------------------------------------------------------
+; ${RecFindOpen} "Dir\Path" $CurrentDirVar $CurrentFileVar
+;  ... Do stuff with $CurrentDirVar ...
+; ${RecFindFirst}
+;  ... Do stuff with $CurrentFileVar ...
+; ${RecFindNext}
+; ${RecFindClose}
+
+; Notes:
+; ------------------------------------------------------------
+
+; Looping is handled by the macro's internally.
+
+; ${RecFindOpen} opens a search in a new directory in the tree.
+;  The macro's will loop back to this instruction when a new
+;  directory is opened for searching.
+
+; ${RecFindFirst} gets file names out of the current directory.
+;  The macro's will loop back to this instruction when a new file
+;  is found.
+
+; ${RecFindNext} gets the next file in the current directory, and loops to
+;  ${RecFindFirst} again.
+
+; ${RecFindClose} closes the search and clears the stack.
+
+; Example 1:
+; ------------------------------------------------------------
+; ${RecFindOpen} "C:\Dir" $R0 $R1
+;  DetailPrint "Dir: C:\Dir$R0"
+; ${RecFindFirst}
+;  DetailPrint "File: C:\Dir$R0\$R1"
+; ${RecFindNext}
+; ${RecFindClose}
+
+; Example 2:
+; ------------------------------------------------------------
+; ${RecFindOpen} "C:\Dir" $R0 $R1
+;  DetailPrint "Dir: C:\Dir$R0"
+; ${RecFindFirst}
+;  DetailPrint "File: C:\Dir$R0\$R1"
+;  StrCmp $R1 "a_file.txt" Found
+; ${RecFindNext}
+;  Found:
+; ${RecFindClose}
+
+#################################################################################################
+
+!ifndef RecFind-Included
+!define RecFind-Included
+
+Var RecFindVar1
+Var RecFindVar2
+
+!macro RecFindOpen DirVar CurrentDirVar CurrentFileVar
+
+ !define Local       "${__LINE__}"
+ !define Dir         "${DirVar}"
+ !define CurrentDir  "${CurrentDirVar}"
+ !define CurrentFile "${CurrentFileVar}"
+
+  !define RecFindOpenSet
+
+ StrCpy $RecFindVar2 1
+ Push ""
+
+ "nextDir${Local}:"
+ Pop "${CurrentDir}"
+ IntOp $RecFindVar2 $RecFindVar2 - 1
+
+!macroend
+!define RecFindOpen "!insertmacro RecFindOpen"
+
+!macro RecFindFirst
+
+ !ifndef RecFindOpenSet
+  !error "Incorrect use of RecFind commands!"
+ !else
+  !define RecFindFirstSet
+ !endif
+
+ ClearErrors
+ FindFirst $RecFindVar1 "${CurrentFile}" "${Dir}${CurrentDir}\*.*"
+ IfErrors "Done${Local}"
+
+  "checkFile${Local}:"
+  StrCmp ${CurrentFile} .  "nextFile${Local}"
+  StrCmp ${CurrentFile} .. "nextFile${Local}"
+
+  IfFileExists "${Dir}${CurrentDir}\${CurrentFile}\*.*" 0 +4
+   Push "${CurrentDir}\${CurrentFile}"
+   IntOp $RecFindVar2 $RecFindVar2 + 1
+    Goto "nextFile${Local}"
+
+!macroend
+!define RecFindFirst "!insertmacro RecFindFirst"
+
+!macro RecFindNext
+
+ !ifndef RecFindOpenSet | RecFindFirstSet
+  !error "Incorrect use of RecFind commands!"
+ !else
+  !define RecFindNextSet
+ !endif
+
+ "nextFile${Local}:"
+
+ ClearErrors
+ FindNext $RecFindVar1 "${CurrentFile}"
+ IfErrors 0 "checkFile${Local}"
+
+ StrCmp $RecFindVar2 0 0 "nextDir${Local}"
+!macroend
+!define RecFindNext "!insertmacro RecFindNext"
+
+!macro RecFindClose
+
+ !ifndef RecFindOpenSet | RecFindFirstSet | RecFindNextSet
+  !error "Incorrect use of RecFind commands!"
+ !else
+  !undef RecFindOpenSet
+  !undef RecFindFirstSet
+  !undef RecFindNextSet
+ !endif
+
+ "Done${Local}:"
+ FindClose $RecFindVar1
+
+ StrCmp $RecFindVar2 0 +4
+  Pop $RecFindVar1
+  IntOp $RecFindVar2 $RecFindVar2 - 1
+  Goto -3
+
+ !undef CurrentFile
+ !undef CurrentDir
+ !undef Dir
+ !undef Local
+
+!macroend
+!define RecFindClose "!insertmacro RecFindClose"
+
+!endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Include/XPUI.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,2 @@
+!define XPUI_SYSDIR "P:\exui\Contrib\ExperienceUI"
+!include "P:\exui\Contrib\ExperienceUI\XPUI.nsh"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Include/system.nsh	Tue Oct 16 00:07:41 2007 -0400
@@ -0,0 +1,1 @@
+!include "C:\Program Files\NSIS\Examples\System\SysFunc.nsh"
Binary file Plugins/DcryptDll.dll has changed
Binary file Plugins/NSISArray.dll has changed
Binary file Plugins/WAnsis.dll has changed
Binary file Plugins/ZipDLL.dll has changed
Binary file Plugins/messagebox.dll has changed
Binary file Plugins/newadvsplash.dll has changed