easier to use for basic scripts

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1444 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2002-10-17 21:22:21 +00:00
parent c97ceeaa3f
commit 64abed1f32
2 changed files with 179 additions and 140 deletions

View file

@ -12,13 +12,8 @@
!include "${NSISDIR}\Examples\WinMessages.nsh"
!define IO_DIRECTION_NEXT 1
!define IO_DIRECTION_PREV 2
!define IO_INITPLUGINS_1 "Call Initialize_____Plugins"
!define IO_INITPLUGINS_2 "SetDetailsPrint both"
!define IO_UNINITPLUGINS_1 "Call un.Initialize_____Plugins"
!define IO_UNINITPLUGINS_2 "SetDetailsPrint both"
!define MUI_INSTALLOPTIONS_DIRECTION_NEXT 1
!define MUI_INSTALLOPTIONS_DIRECTION_PREV 2
!define MUI_TEMP1 $R0
!define MUI_TEMP2 $R1
@ -228,12 +223,11 @@
!macro MUI_INSTALLOPTIONS_EXTRACT FILE
;Init plugin system
${IO_INITPLUGINS_1}
${IO_INITPLUGINS_2}
!undef IO_INITPLUGINS_1
!undef IO_INITPLUGINS_2
!define IO_INITPLUGINS_1 ""
!define IO_INITPLUGINS_2 ""
!ifndef MUI_INSTALLOPTIONS_INITPLUGINS
!define MUI_INSTALLOPTIONS_INITPLUGINS
Call Initialize_____Plugins
SetDetailsPrint both
!endif
File /oname=$PLUGINSDIR\${FILE} "${FILE}"
@ -242,6 +236,12 @@
!macro MUI_INSTALLOPTIONS_UNEXTRACT FILE
;Init plugin system
!ifndef MUI_INSTALLOPTIONS_UNINITPLUGINS
!define MUI_INSTALLOPTIONS_UNINITPLUGINS
Call un.Initialize_____Plugins
SetDetailsPrint both
!endif
${IO_UNINITPLUGINS_1}
${IO_UNINITPLUGINS_2}
!undef IO_UNINITPLUGINS_1
@ -262,7 +262,7 @@
!macro MUI_INSTALLOPTIONS_NEXTPAGE
StrCmp ${IO_NOSETDIRECTION} "1" no_setdirection
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_NEXT}
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${MUI_INSTALLOPTIONS_DIRECTION_NEXT}
no_setdirection:
StrCpy ${IO_NOSETDIRECTION} "0"
@ -271,7 +271,7 @@
!macro MUI_INSTALLOPTIONS_PREVPAGE
StrCmp ${IO_NOSETDIRECTION} "1" no_setdirection
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_PREV}
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${MUI_INSTALLOPTIONS_DIRECTION_PREV}
no_setdirection:
StrCpy ${IO_NOSETDIRECTION} "0"
@ -311,10 +311,10 @@
!macro MUI_INSTALLOPTIONS_BACK
StrCmp ${IO_DIRECTION} "${IO_DIRECTION_NEXT}" "" +3
StrCmp ${IO_DIRECTION} "${MUI_INSTALLOPTIONS_DIRECTION_NEXT}" "" +3
Call .onPrevPage
Abort
StrCmp ${IO_DIRECTION} "${IO_DIRECTION_PREV}" "" +3
StrCmp ${IO_DIRECTION} "${MUI_INSTALLOPTIONS_DIRECTION_PREV}" "" +3
Call .onPrevPage
Goto done
@ -322,10 +322,10 @@
!macro MUI_INSTALLOPTIONS_NEXT
StrCmp ${IO_DIRECTION} ${IO_DIRECTION_NEXT} "" +3
StrCmp ${IO_DIRECTION} ${MUI_INSTALLOPTIONS_DIRECTION_NEXT} "" +3
Call .onNextPage
Goto done
StrCmp ${IO_DIRECTION} ${IO_DIRECTION_PREV} "" +3
StrCmp ${IO_DIRECTION} ${MUI_INSTALLOPTIONS_DIRECTION_PREV} "" +3
Call .onNextPage
Abort
@ -349,10 +349,10 @@
!macro MUI_INSTALLOPTIONS_UNBACK
StrCmp ${IO_DIRECTION} "${IO_DIRECTION_NEXT}" "" +3
StrCmp ${IO_DIRECTION} "${MUI_INSTALLOPTIONS_DIRECTION_NEXT}" "" +3
Call un.onPrevPage
Abort
StrCmp ${IO_DIRECTION} "${IO_DIRECTION_PREV}" "" +3
StrCmp ${IO_DIRECTION} "${MUI_INSTALLOPTIONS_DIRECTION_PREV}" "" +3
Call un.onPrevPage
Goto done
@ -360,10 +360,10 @@
!macro MUI_INSTALLOPTIONS_UNNEXT
StrCmp ${IO_DIRECTION} ${IO_DIRECTION_NEXT} "" +3
StrCmp ${IO_DIRECTION} ${MUI_INSTALLOPTIONS_DIRECTION_NEXT} "" +3
Call un.onNextPage
Goto done
StrCmp ${IO_DIRECTION} ${IO_DIRECTION_PREV} "" +3
StrCmp ${IO_DIRECTION} ${MUI_INSTALLOPTIONS_DIRECTION_PREV} "" +3
Call un.onNextPage
Abort
@ -385,4 +385,146 @@
!macroend
;BASIC FUNCTIONS
!macro MUI_BASICFUNCTIONS
Function .onNextPage
!insertmacro MUI_NEXTPAGE SetPage
FunctionEnd
Function .onPrevPage
!insertmacro MUI_PREVPAGE SetPage
FunctionEnd
Function .onInitDialog
!insertmacro MUI_INNERDIALOG_INIT
StrCpy ${MUI_TEMP1} 0
!ifdef MUI_LICENSEPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_licensepage
!insertmacro MUI_INNERDIALOG_TEXT 1040 $(MUI_INNERTEXT_LICENSE)
Goto done
done_licensepage:
!endif
!ifdef MUI_COMPONENTPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_componentpage
!insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_DESCRIPTION_TITLE)
!insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_DESCRIPTION_INFO)
Goto done
done_componentpage:
!endif
!ifdef MUI_DIRSELECTPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_dirselectpage
!insertmacro MUI_INNERDIALOG_TEXT 1041 $(MUI_INNERTEXT_DESTINATIONFOLDER)
Goto done
done_dirselectpage:
!endif
!insertmacro MUI_INNERDIALOG_END
FunctionEnd
Function SetPage
!insertmacro MUI_PAGE_INIT
StrCpy ${MUI_TEMP1} 0
!ifdef MUI_LICENSEPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_licensepage
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
Goto done
done_licensepage:
!endif
!ifdef MUI_COMPONENTPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_componentpage
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
Goto done
done_componentpage:
!endif
!ifdef MUI_DIRSELECTPAGE
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_dirselectpage
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRSELECT_TITLE) $(MUI_TEXT_DIRSELECT_SUBTITLE)
Goto done
done_dirselectpage:
!endif
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_installingpage
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
Goto done
done_installingpage:
IntOp ${MUI_TEMP1} ${MUI_TEMP1} + 1
StrCmp ${CURRENTPAGE} ${MUI_TEMP1} "" done_finishedpage
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_FINISHED_TITLE) $(MUI_TEXT_FINISHED_SUBTITLE)
Goto done
done_finishedpage:
!insertmacro MUI_PAGE_END
FunctionEnd
!macroend
!macro MUI_FUNCTION_DESCRIPTION_START
Function .onMouseOverSection
!insertmacro MUI_DESCRIPTION_INIT
!macroend
!macro MUI_FUNCTION_DESCRIPTION_END
!insertmacro MUI_DESCRIPTION_END
FunctionEnd
!macroend
!macro MUI_FUNCTION_ABORTWARNING
Function .onUserAbort
!insertmacro MUI_ABORTWARNING
FunctionEnd
!macroend
!macro MUI_UNBASICFUNCTIONS
Function un.onNextPage
!insertmacro MUI_NEXTPAGE un.SetPage
FunctionEnd
Function un.SetPage
!insertmacro MUI_PAGE_INIT
!insertmacro MUI_PAGE_START 1
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_INTRO_TITLE) $(MUI_UNTEXT_INTRO_SUBTITLE)
!insertmacro MUI_PAGE_STOP 1
!insertmacro MUI_PAGE_START 2
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_UNINSTALLING_TITLE) $(MUI_UNTEXT_UNINSTALLING_SUBTITLE)
!insertmacro MUI_PAGE_STOP 2
!insertmacro MUI_PAGE_START 3
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_FINISHED_TITLE) $(MUI_UNTEXT_FINISHED_SUBTITLE)
!insertmacro MUI_PAGE_STOP 3
!insertmacro MUI_PAGE_END
FunctionEnd
!macroend
!endif

View file

@ -33,31 +33,23 @@
;License dialog
LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt"
;Component-select dialog
;Descriptions
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder."
LangString DESC_SecCreateUninst ${LANG_ENGLISH} "Create a uninstaller which can automatically delete ${NAME}."
;Descriptions
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder."
;Folder-select dialog
InstallDir "$PROGRAMFILES\${NAME}"
;--------------------------------
;Installer Sections
Section "modern.exe" SecCopyUI
;Add your stuff here
;ADD YOUR OWN STUFF HERE!
SetOutPath "$INSTDIR"
File "${NSISDIR}\Contrib\UIs\modern.exe"
SectionEnd
Section "Create uninstaller" SecCreateUninst
;Add your stuff here
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
@ -72,96 +64,27 @@ SectionEnd
;--------------------------------
;Installer Functions
Function .onInitDialog
!insertmacro MUI_BASICFUNCTIONS
!insertmacro MUI_INNERDIALOG_INIT
!insertmacro MUI_INNERDIALOG_START 1
!insertmacro MUI_INNERDIALOG_TEXT 1040 $(MUI_INNERTEXT_LICENSE)
!insertmacro MUI_INNERDIALOG_STOP 1
!insertmacro MUI_INNERDIALOG_START 2
!insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_DESCRIPTION_TITLE)
!insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_DESCRIPTION_INFO)
!insertmacro MUI_INNERDIALOG_STOP 2
!insertmacro MUI_INNERDIALOG_START 3
!insertmacro MUI_INNERDIALOG_TEXT 1041 $(MUI_INNERTEXT_DESTINATIONFOLDER)
!insertmacro MUI_INNERDIALOG_STOP 3
!insertmacro MUI_INNERDIALOG_END
FunctionEnd
Function .onNextPage
!insertmacro MUI_NEXTPAGE SetPage
FunctionEnd
Function .onPrevPage
!insertmacro MUI_PREVPAGE SetPage
FunctionEnd
Function SetPage
!insertmacro MUI_PAGE_INIT
!insertmacro MUI_PAGE_START 1
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_LICENSE_TITLE) $(MUI_TEXT_LICENSE_SUBTITLE)
!insertmacro MUI_PAGE_STOP 1
!insertmacro MUI_PAGE_START 2
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_COMPONENTS_TITLE) $(MUI_TEXT_COMPONENTS_SUBTITLE)
!insertmacro MUI_PAGE_STOP 2
!insertmacro MUI_PAGE_START 3
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_DIRSELECT_TITLE) $(MUI_TEXT_DIRSELECT_SUBTITLE)
!insertmacro MUI_PAGE_STOP 3
!insertmacro MUI_PAGE_START 4
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_INSTALLING_TITLE) $(MUI_TEXT_INSTALLING_SUBTITLE)
!insertmacro MUI_PAGE_STOP 4
!insertmacro MUI_PAGE_START 5
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_FINISHED_TITLE) $(MUI_TEXT_FINISHED_SUBTITLE)
!insertmacro MUI_PAGE_STOP 5
!insertmacro MUI_PAGE_END
FunctionEnd
Function .onMouseOverSection
!insertmacro MUI_DESCRIPTION_INIT
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_DESCRIPTION_TEXT ${SecCreateUninst} $(DESC_SecCreateUninst)
!insertmacro MUI_DESCRIPTION_END
FunctionEnd
Function .onUserAbort
!insertmacro MUI_ABORTWARNING
FunctionEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_START
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!insertmacro MUI_FUNCTION_ABORTWARNING
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;Add your stuff here
;ADD YOUR OWN STUFF HERE!
Delete "$INSTDIR\modern.exe"
Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR"
;Display the Finish header
!insertmacro MUI_FINISHHEADER un.SetPage
SectionEnd
@ -169,30 +92,4 @@ SectionEnd
;--------------------------------
;Uninstaller Functions
Function un.onNextPage
!insertmacro MUI_NEXTPAGE un.SetPage
FunctionEnd
Function un.SetPage
!insertmacro MUI_PAGE_INIT
!insertmacro MUI_PAGE_START 1
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_INTRO_TITLE) $(MUI_UNTEXT_INTRO_SUBTITLE)
!insertmacro MUI_PAGE_STOP 1
!insertmacro MUI_PAGE_START 2
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_UNINSTALLING_TITLE) $(MUI_UNTEXT_UNINSTALLING_SUBTITLE)
!insertmacro MUI_PAGE_STOP 2
!insertmacro MUI_PAGE_START 3
!insertmacro MUI_HEADER_TEXT $(MUI_UNTEXT_FINISHED_TITLE) $(MUI_UNTEXT_FINISHED_SUBTITLE)
!insertmacro MUI_PAGE_STOP 3
!insertmacro MUI_PAGE_END
FunctionEnd
;eof
!insertmacro MUI_UNBASICFUNCTIONS