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

Start Menu Page

+ +

+ + + + 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. + + + +

+ + + + + + + +

Get the return

+ +

+ + + + 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. + + + +

+ +

Macros

+ + + + + + + +

Component Manager Compatibility

+ +

+ + If you use Component Manager 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. + +

+ +

Versions 0.3 and later

+
    +
  1. Include the ExperienceUI and Component Manager.
    +
    + 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.

  2. +
  3. Component Manager Languages
    +
    + Insert Component Manager language files now.
    +
    +
    +!insertmacro CM_LANGUAGE "English"
    +
  4. +
  5. Maintenance Pages
    +
    + Now, add in Component Manager's page suite.
    +
    +
    +!insertmacro CM_PAGES
    +
  6. +
  7. ExperienceUI Pages
    +
    + Here you should insert any other pages, including the Start Menu page, as normal.
    +
    +
    +${Page} Welcome
    +${LicensePage} "License_pro.rtf"
    +${Page} Components
    +${Page} Directory
    +${StartMenuPage} App $R9
    +${Page} InstConfirm
    +${Page} InstFiles
    +${Page} Finish
    +${Page} Abort
    +
  8. +
  9. Sections
    +
    + Insert Component Manager-enhanced sections into the script.
    +
    +
    +${Section} "My Program" SecProgram "Description"
    +  ${SetOutPath} $INSTDIR
    +  ${File} reg.dat "regversion\reg.dat"
    +  ${Directory} `$%PROGRAMFILES%\My Program`
    +${Section}
    +
  10. +
  11. CM File Functions
    +
    + Finally, insert Component Manager's CM_FILES macro. This defines all the functions used in CM_PAGES.
    +
    +
    +!insertmacro CM_FILES
    +
  12. +
  13. ExperienceUI Language Files
    +
    + 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.
    +
    +
    +!insertmacro XPUI_LANGUAGE "English"
    +!insertmacro XPUI_LANGUAGE "Spanish"
    +!insertmacro XPUI_LANGUAGE "German"
    +!insertmacro XPUI_LANGUAGE "French"
    +!insertmacro XPUI_LANGUAGE "PortugueseBR"
    + +
  14. +
+ +

Versions 0.2 and earlier

+ +

Note: these directions are based on an old version of Component Manager. They have not + been tested, but they should still work.
+
+ 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).
+
+ 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 before 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. +

+ + + +
+ +Example: + +
+
+
+!include CM.nsh
+!include XPUI.nsh
+!insertmacro XPUI_PAGE_STARTMENU_INIT MyApp $R0
+
+ # ...
+
+${Section} "Start Menu Shortcuts" SecSM "Creates Start Menu Shortcuts"
+  ${StartMenu} MyApp $R0
+    ${CreateShortcut} "Start the Program" "$INSTDIR\MyApp.exe"
+  ${StartMenuEnd}
+${SectionEnd}
+
+ # ...
+
+!insertmacro CM_PAGES
+ # ...
+!insertmacro XPUI_PAGE_STARTMENU_SHOW MyApp
+!insertmacro XPUI_LANGUAGE "English"
+!insertmacro CM_FILES
+
+
+
+
+ + + +
+ + + +