startmenu: changed define names, pre/leave custom functions, checkbox can be disabled, documentation updates
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2222 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
991dcd5a92
commit
90b11cdccc
3 changed files with 55 additions and 34 deletions
|
@ -154,16 +154,28 @@ follow these steps:</p>
|
|||
<p class="text"><span class="bold">MUI_DIRECTORYPAGE</span><br />
|
||||
Show the directory selection page.</p>
|
||||
<p class="text"><span class="bold">MUI_STARTMENUPAGE</span><br />
|
||||
Show the Start Menu Folder selection page.</p>
|
||||
Show the Start Menu Folder selection page.<br /><br />
|
||||
If you did not disable the 'Do not create shortcuts' checkbox,
|
||||
put the script code to write the shortcuts between these macro's,
|
||||
because the creation can be disabled by the user:
|
||||
<pre class="margin">
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN
|
||||
...create the shortcuts...
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
</pre>
|
||||
</p>
|
||||
<div class="margin">
|
||||
<p class="text"><span class="bold">MUI_STARTMENU_VARIABLE</span><br />
|
||||
<p class="text"><span class="bold">MUI_STARTMENUPAGE_VARIABLE</span><br />
|
||||
Variable to store the current Start Menu Folder. Default is $9.
|
||||
You cannot use this variable in your script (or you should Push/Pop it).e.</p>
|
||||
<p class="text"><span class="bold">MUI_STARTMENU_DEFAULTFOLDER</span><br />
|
||||
<p class="text"><span class="bold">MUI_STARTMENUPAGE_DEFAULTFOLDER</span><br />
|
||||
The default Start Menu Folder. Use $(LANGSTRINGNAME) as value is you want
|
||||
to use a language string.</p>
|
||||
<p class="text"><span class="bold">MUI_STARTMENU_REGISTRY_ROOT, MUI_STARTMENU_REGISTRY_KEY,
|
||||
MUI_STARTMENU_REGISTRY_VALUENAME</span><br />
|
||||
<p class="text"><span class="bold">MUI_STARTMENUPAGE_NODISABLE</span><br />
|
||||
Do not display the checkbox to disable the creation of Start Menu
|
||||
shortcuts.</p>
|
||||
<p class="text"><span class="bold">MUI_STARTMENUPAGE_REGISTRY_ROOT,
|
||||
MUI_STARTMENUPAGE_REGISTRY_KEY, MUI_STARTMENUPAGE_REGISTRY_VALUENAME</span><br />
|
||||
If your installer saves the Start Menu folder of a previous installation
|
||||
in a registry, define these values and the Modern UI will use the saved
|
||||
value as default folder.</p>
|
||||
|
@ -479,7 +491,8 @@ MUI_CUSTOMFUNCTION_DIRECTORY_LEAVE
|
|||
</p>
|
||||
<p class="text">
|
||||
<span class="bold">Start Menu Folder Page</span><br>
|
||||
MUI_CUSTOMFUNCTION_STARTMENU
|
||||
MUI_CUSTOMFUNCTION_STARTMENU_PRE
|
||||
MUI_CUSTOMFUNCTION_STARTMENU_LEAVE
|
||||
</p>
|
||||
<p class="text">
|
||||
<span class="bold">Install Files Page</span><br>
|
||||
|
@ -593,7 +606,7 @@ it freely, subject to the following restrictions:
|
|||
</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="footer">©2002 Joost Verburg</div></td>
|
||||
<td><div class="footer">©2002-2003 Joost Verburg</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
|
|
|
@ -409,7 +409,7 @@
|
|||
|
||||
Push ${MUI_TEMP1}
|
||||
|
||||
StrCpy ${MUI_TEMP1} ${MUI_STARTMENU_VARIABLE} 1
|
||||
StrCpy ${MUI_TEMP1} ${MUI_STARTMENUPAGE_VARIABLE} 1
|
||||
StrCmp ${MUI_TEMP1} ">" no_startmenu_shortcuts
|
||||
|
||||
Pop ${MUI_TEMP1}
|
||||
|
@ -978,10 +978,10 @@
|
|||
!endif
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
|
||||
!ifdef MUI_CUSTOMFUNCTION_LICENSE_PRE
|
||||
Call "${MUI_CUSTOMFUNCTION_LICENSE_PRE}"
|
||||
!endif
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
@ -1014,10 +1014,10 @@
|
|||
!endif
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
|
||||
!ifdef MUI_CUSTOMFUNCTION_COMPONENTS_PRE
|
||||
Call "${MUI_CUSTOMFUNCTION_COMPONENTS_PRE}"
|
||||
!endif
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
@ -1051,10 +1051,10 @@
|
|||
!endif
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRECTORY_TITLE) $(MUI_TEXT_DIRECTORY_SUBTITLE)
|
||||
!ifdef MUI_CUSTOMFUNCTION_DIRECTORY_PRE
|
||||
Call "${MUI_CUSTOMFUNCTION_DIRECTORY_PRE}"
|
||||
!endif
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRECTORY_TITLE) $(MUI_TEXT_DIRECTORY_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
@ -1087,44 +1087,52 @@
|
|||
!endif
|
||||
|
||||
;Check defines
|
||||
!ifndef MUI_STARTMENU_VARIABLE
|
||||
!define MUI_STARTMENU_VARIABLE "$9"
|
||||
!ifndef MUI_STARTMENUPAGE_VARIABLE
|
||||
!define MUI_STARTMENUPAGE_VARIABLE "$9"
|
||||
!endif
|
||||
!ifndef MUI_STARTMENU_DEFAULTFOLDER
|
||||
!define MUI_STARTMENU_DEFAULTFOLDER "${MUI_PRODUCT}"
|
||||
!ifndef MUI_STARTMENUPAGE_DEFAULTFOLDER
|
||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${MUI_PRODUCT}"
|
||||
!endif
|
||||
|
||||
Function "${FUNCTION}"
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_STARTMENU_PRE
|
||||
Call "${MUI_CUSTOMFUNCTION_STARTMENU_PRE}"
|
||||
!endif
|
||||
|
||||
Push ${MUI_TEMP1}
|
||||
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
|
||||
|
||||
!ifdef MUI_STARTMENU_REGISTRY_ROOT
|
||||
!ifdef MUI_STARTMENU_REGISTRY_KEY
|
||||
!ifdef MUI_STARTMENU_REGISTRY_VALUENAME
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
|
||||
!ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
|
||||
|
||||
StrCmp "${MUI_STARTMENU_VARIABLE}" "" "" +4
|
||||
StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" "" +4
|
||||
|
||||
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENU_REGISTRY_ROOT}" "${MUI_STARTMENU_REGISTRY_KEY}" "${MUI_STARTMENU_REGISTRY_VALUENAME}"
|
||||
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
|
||||
StrCmp ${MUI_TEMP1} "" +2
|
||||
StrCpy "${MUI_STARTMENU_VARIABLE}" ${MUI_TEMP1}
|
||||
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" ${MUI_TEMP1}
|
||||
|
||||
!endif
|
||||
!endif
|
||||
!endif
|
||||
|
||||
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENU_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENU_DEFAULTFOLDER}"
|
||||
!ifndef MUI_STARTMENUPAGE_NODISABLE
|
||||
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!else
|
||||
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
|
||||
!endif
|
||||
|
||||
Pop ${MUI_TEMP1}
|
||||
|
||||
StrCmp ${MUI_TEMP1} "success" 0 +2
|
||||
Pop "${MUI_STARTMENU_VARIABLE}"
|
||||
Pop "${MUI_STARTMENUPAGE_VARIABLE}"
|
||||
|
||||
Pop ${MUI_TEMP1}
|
||||
|
||||
!ifdef MUI_CUSTOMFUNCTION_STARTMENU
|
||||
Call "${MUI_CUSTOMFUNCTION_STARTMENU}"
|
||||
!ifdef MUI_CUSTOMFUNCTION_STARTMENU_LEAVE
|
||||
Call "${MUI_CUSTOMFUNCTION_STARTMENU_LEAVE}"
|
||||
!endif
|
||||
|
||||
FunctionEnd
|
||||
|
@ -1146,10 +1154,10 @@
|
|||
!endif
|
||||
|
||||
Function "${PRE}"
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
|
||||
!ifdef MUI_CUSTOMFUNCTION_INSTFILES_PRE
|
||||
Call "${MUI_CUSTOMFUNCTION_INSTFILES_PRE}"
|
||||
!endif
|
||||
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
|
||||
FunctionEnd
|
||||
|
||||
Function "${SHOW}"
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
;$9 is being used to store the Start Menu Folder.
|
||||
;Do not use this variable in your script (or Push/Pop it)!
|
||||
|
||||
;To change this variable, use MUI_STARTMENU_VARIABLE.
|
||||
;To change this variable, use MUI_STARTMENUPAGE_VARIABLE.
|
||||
;Have a look at the Readme for info about other options (default folder,
|
||||
;registry).
|
||||
|
||||
;Remember the Start Menu Folder
|
||||
!define MUI_STARTMENU_REGISTRY_ROOT "HKCU"
|
||||
!define MUI_STARTMENU_REGISTRY_KEY "Software\${MUI_PRODUCT}"
|
||||
!define MUI_STARTMENU_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
|
||||
!define TEMP $R0
|
||||
|
||||
|
@ -75,12 +75,12 @@ Section "modern.exe" SecCopyUI
|
|||
!insertmacro MUI_STARTMENU_WRITE_BEGIN
|
||||
|
||||
;Create shortcuts
|
||||
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}"
|
||||
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}\Modern UI.lnk" "$INSTDIR\modern.exe"
|
||||
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENU_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"
|
||||
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Modern UI.lnk" "$INSTDIR\modern.exe"
|
||||
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
||||
|
||||
;Write shortcut location to the registry (for Uninstaller)
|
||||
WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" "${MUI_STARTMENU_VARIABLE}"
|
||||
WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" "${MUI_STARTMENUPAGE_VARIABLE}"
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue