test - working on io integration
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1093 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
c66f36c573
commit
d4a5621514
3 changed files with 279 additions and 0 deletions
249
Examples/Modern UI/InstallOptions.nsi
Normal file
249
Examples/Modern UI/InstallOptions.nsi
Normal file
|
@ -0,0 +1,249 @@
|
|||
;STILL WORKING ON INSTALLOPTIONS INTEGRATION
|
||||
|
||||
;NSIS Modern Style UI version 1.19
|
||||
;InstallOptions Example Script
|
||||
;Written by Joost Verburg
|
||||
|
||||
!define NAME "Test Software" ;Define your own software name here
|
||||
!define VERSION "1.0" ;Define your own software version here
|
||||
|
||||
!verbose 3
|
||||
!include "${NSISDIR}\Examples\WinMessages.nsh"
|
||||
!include "ModernUI.nsh"
|
||||
!verbose 4
|
||||
|
||||
!define IO_DIRECTION $8
|
||||
!define CURRENTPAGE $9
|
||||
|
||||
!define TEMP1 $R0
|
||||
!define TEMP2 $R1
|
||||
|
||||
;--------------------------------
|
||||
|
||||
;General
|
||||
Name "${NAME} ${VERSION}"
|
||||
OutFile "InstallOptions.exe"
|
||||
SetOverwrite on
|
||||
|
||||
;User interface
|
||||
!insertmacro MUI_INTERFACE "modern.exe" "adni18-installer-C-no48xp.ico" "adni18-uninstall-C-no48xp.ico" "modern.bmp" "smooth"
|
||||
|
||||
;License dialog
|
||||
LicenseText "Press Page Down to see the rest of the agreement."
|
||||
LicenseData "License.txt"
|
||||
|
||||
;Component-select dialog
|
||||
ComponentText "Check the components you want to install and uncheck the components you don't want to install. Click Next to continue."
|
||||
|
||||
;Folder-select dialog
|
||||
InstallDir "$PROGRAMFILES\${NAME}"
|
||||
DirText "Setup will install ${NAME} in the following folder.$\r$\n$\r$\nTo install in this folder, click Install. To install in a different folder, click Browse and select another folder." " "
|
||||
InstallButtonText "Next >" ;Install Options dialog has 'Install' button
|
||||
|
||||
;Uninstaller
|
||||
UninstallText "This will uninstall ${NAME} from your system."
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
Section "Modern.exe" SecCopyUI
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
File "${NSISDIR}\Contrib\UIs\modern.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "Create uninstaller" SecCreateUninst
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section ""
|
||||
|
||||
;Invisible section to display the Finish header
|
||||
!insertmacro MUI_FINISHHEADER SetPage
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
|
||||
;Init InstallOptions
|
||||
!insertmacro MUI_INSTALLOPTIONS_INIT ;Call this when using no plugins
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "iniA.ini"
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "iniB.ini"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onInitDialog
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_INIT
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 1
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1040 "If you accept all the terms of the agreement, choose I Agree to continue. If you choose Cancel, Setup will close. You must accept the agreement to install ${NAME}."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 1
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 3
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1042 "Description"
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1043 "Hover your mouse over a component to see it's description."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 3
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 4
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1041 "Destination Folder"
|
||||
!insertmacro MUI_INNERDIALOG_STOP 4
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onNextPage
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_NEXT}
|
||||
!insertmacro MUI_NEXTPAGE SetPage
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onPrevPage
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_SETDIRECTION ${IO_DIRECTION_PREV}
|
||||
!insertmacro MUI_PREVPAGE SetPage
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function SetPage
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
|
||||
!insertmacro MUI_PAGE_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "License Agreement" "Please review the license terms before installing ${NAME}."
|
||||
!insertmacro MUI_PAGE_STOP 1
|
||||
|
||||
!insertmacro MUI_PAGE_START 2
|
||||
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Install Options A" "Create your own dialog!"
|
||||
|
||||
InstallOptions::dialog "$PLUGINSDIR\iniA.ini"
|
||||
Pop ${TEMP1}
|
||||
|
||||
StrCmp ${TEMP1} "cancel" "" +2
|
||||
Quit
|
||||
|
||||
StrCmp ${TEMP1} "back" "" ioA_noback
|
||||
!insertmacro MUI_INSTALLOPTIONS_BACK
|
||||
ioA_noback:
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_NEXT
|
||||
|
||||
!insertmacro MUI_PAGE_STOP 2
|
||||
|
||||
!insertmacro MUI_PAGE_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Components" "Choose the components you want to install."
|
||||
!insertmacro MUI_PAGE_STOP 3
|
||||
|
||||
!insertmacro MUI_PAGE_START 4
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Install Location" "Choose the folder in which to install ${NAME}."
|
||||
!insertmacro MUI_PAGE_STOP 4
|
||||
|
||||
!insertmacro MUI_PAGE_START 5
|
||||
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Install Options B" "Create your own dialog!"
|
||||
|
||||
InstallOptions::dialog "$PLUGINSDIR\iniB.ini"
|
||||
Pop ${TEMP1}
|
||||
|
||||
StrCmp ${TEMP1} "cancel" "" +2
|
||||
Quit
|
||||
|
||||
StrCmp ${TEMP1} "back" "" ioB_noback
|
||||
!insertmacro MUI_INSTALLOPTIONS_BACK
|
||||
ioB_noback:
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_NEXT
|
||||
|
||||
!insertmacro MUI_PAGE_STOP 5
|
||||
|
||||
!insertmacro MUI_PAGE_START 6
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Installing" "Please wait while ${NAME} is being installed."
|
||||
!insertmacro MUI_PAGE_STOP 6
|
||||
|
||||
!insertmacro MUI_PAGE_START 7
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "Setup was completed successfully."
|
||||
!insertmacro MUI_PAGE_STOP 7
|
||||
|
||||
!insertmacro MUI_PAGE_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onMouseOverSection
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_INIT
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCopyUI} "Copy the modern.exe file to the application folder."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCreateUninst} "Create a uninstaller which can automatically delete ${NAME}."
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onUserAbort
|
||||
|
||||
!insertmacro MUI_ABORTWARNING 1033 "Are you sure you want to quit ${NAME} Setup?"
|
||||
!insertmacro MUI_ABORTWARNING_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
Delete "$INSTDIR\modern.exe"
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
!insertmacro MUI_FINISHHEADER un.SetPage
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
||||
|
||||
Function un.onNextPage
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_NEXTPAGE un.SetPage
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.SetPage
|
||||
|
||||
!insertmacro MUI_PAGE_INIT
|
||||
|
||||
!insertmacro MUI_PAGE_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstall ${NAME}" "Remove ${NAME} from your system."
|
||||
!insertmacro MUI_PAGE_STOP 1
|
||||
|
||||
!insertmacro MUI_PAGE_START 2
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstalling" "Please wait while ${NAME} is being uninstalled."
|
||||
!insertmacro MUI_PAGE_STOP 2
|
||||
|
||||
!insertmacro MUI_PAGE_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "${NAME} has been removed from your system."
|
||||
!insertmacro MUI_PAGE_STOP 3
|
||||
|
||||
!insertmacro MUI_PAGE_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;eof
|
15
Examples/Modern UI/iniA.ini
Normal file
15
Examples/Modern UI/iniA.ini
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Settings]
|
||||
Title=Setup
|
||||
CancelConfirm=Are you sure you want to cancel the Setup?
|
||||
NumFields=1
|
||||
BackEnabled=1
|
||||
BackButtonText=< Back
|
||||
NextButtonText=Next >
|
||||
|
||||
[Field 1]
|
||||
Type=label
|
||||
text=IniA
|
||||
left=0
|
||||
right=350
|
||||
top=10
|
||||
bottom=25
|
15
Examples/Modern UI/iniB.ini
Normal file
15
Examples/Modern UI/iniB.ini
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Settings]
|
||||
Title=Setup
|
||||
CancelConfirm=Are you sure you want to cancel the Setup?
|
||||
NumFields=1
|
||||
BackEnabled=1
|
||||
BackButtonText=< Back
|
||||
NextButtonText=Install
|
||||
|
||||
[Field 1]
|
||||
Type=label
|
||||
text=IniB
|
||||
left=0
|
||||
right=350
|
||||
top=10
|
||||
bottom=25
|
Loading…
Add table
Add a link
Reference in a new issue