user variables, new macro to get startmenu folder, comp page desc box info text changes, welcome/finish page leave functions

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2728 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-07-16 22:44:33 +00:00
parent 2adb778918
commit 8ae004ada7
5 changed files with 339 additions and 414 deletions

View file

@ -2,9 +2,7 @@
;InstallOptions Example Script
;Written by Joost Verburg
!define TEMP $R0
;--------------------------------
---------------------
;Include Modern UI
!include "MUI.nsh"
@ -27,6 +25,11 @@
;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" ""
;--------------------------------
;Variables
Var TEMP
;--------------------------------
;Pages
@ -83,10 +86,10 @@ Section "Dummy Section" SecDummy
WriteUninstaller "$INSTDIR\Uninstall.exe"
;Read a value from an InstallOptions INI file
!insertmacro MUI_INSTALLOPTIONS_READ ${TEMP} "ioC.ini" "Field 2" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $TEMP "ioC.ini" "Field 2" "State"
;Display a messagebox if check box was checked
StrCmp ${TEMP} "1" "" +2
StrCmp $TEMP "1" "" +2
MessageBox MB_OK "You checked the check box, here is the MessageBox..."
SectionEnd

View file

@ -2,8 +2,6 @@
;Start Menu Folder Selection Example Script
;Written by Joost Verburg
!define TEMP $R0
;--------------------------------
;Include Modern UI
@ -27,6 +25,11 @@
;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" ""
;--------------------------------
;Variables
Var TEMP
;--------------------------------
;Pages
@ -44,13 +47,6 @@
!define MUI_ABORTWARNING
;$9 is being used to store the Start Menu Folder.
;Do not use this variable in your script!
;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_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
@ -91,8 +87,8 @@ Section "Dummy Section" SecDummy
!insertmacro MUI_STARTMENU_WRITE_BEGIN
;Create shortcuts
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
CreateDirectory "$SMPROGRAMS\$MUI_STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\$MUI_STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
@ -118,17 +114,21 @@ Section "Uninstall"
RMDir "$INSTDIR"
!insertmacro MUI_STARTMENU_DELETE_BEGIN ${TEMP}
Delete "$SMPROGRAMS\${TEMP}\Uninstall.lnk"
; Only if empty, so it won't delete other shortcuts
StrCpy ${TEMP} "$SMPROGRAMS\${TEMP}"
startMenuDeleteLoop:
RMDir ${TEMP}
GetFullPathName ${TEMP} "${TEMP}\.."
IfErrors startMenuDeleteLoopDone
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
!insertmacro MUI_STARTMENU_DELETE_END
!insertmacro MUI_STARTMENU_GETFOLDER $TEMP
Delete "$SMPROGRAMS\$TEMP\Uninstall.lnk"
;Delete empty start menu parent diretories
StrCpy $TEMP "$SMPROGRAMS\$TEMP"
startMenuDeleteLoop:
RMDir ${TEMP}
GetFullPathName $TEMP "$TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}"