diff -r 000000000000 -r d5ce4c64ef88 Docs/ExperienceUI/pages/pagemode.htm --- /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 @@ + + + ExperienceUI Documentation Content Frame + + + + + + + + + + + + + + + + + + + +
+ +

Page Mode Support

+ +

+ + + 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:
+
+ PageEx ${XPUI_UNFUNC}components
+  ...
+ PageExEnd

+
+ 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:
+ + !insertmacro XPUI_HEADER_TEXT "$(XPUI_${XPUI_UN}COMPONENTSPAGE_TITLE)" "$(XPUI_${XPUI_UN}COMPONENTSPAGE_SUBTITLE)" + +
+ +

+ + +

Using Page Modes

+ +

+ + + 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 Page Macros section of + this document.
+
+ If you created your scripts for XPUI versions 1.03 or earlier, you may have to change them for versions >1.04. +
+ +

+ +
+ + + +
+ + + +