new Install Options read/write ini macro's

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1480 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2002-10-26 22:09:54 +00:00
parent 593a511516
commit b78169763c
5 changed files with 65 additions and 36 deletions

View file

@ -478,6 +478,18 @@
!macroend
!macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
ReadIniStr ${VAR} "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}"
!macroend
!macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
WriteIniStr "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}" "${VALUE}"
!macroend
;--------------------------------
;BASIC FUNCTIONS

View file

@ -9,7 +9,7 @@
;--------------------------------
;Configuration
!define MUI_INSTALLOPTIONS
!define MUI_LICENSEPAGE
@ -21,6 +21,8 @@
!define MUI_SETPAGE_FUNCTIONNAME "SetPage"
!define MUI_UNSETPAGE_FUNCTIONNAME "un.SetPage"
!define TEMP1 $R0
;Language
;English
@ -74,6 +76,12 @@ Section "modern.exe" SecCopyUI
SetOutPath "$INSTDIR"
File "${NSISDIR}\Contrib\UIs\modern.exe"
;Read a value from an Install Options INI File
!insertmacro MUI_INSTALLOPTIONS_READ ${TEMP1} "ioC.ini" "Field 2" "State"
StrCmp ${TEMP1} "1" "" +2
;Checked
MessageBox MB_OK "A MessageBox..."
SectionEnd
@ -140,23 +148,23 @@ Function SetPage
!insertmacro MUI_PAGE_START 2
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_IO_TITLE) $(MUI_TEXT_IO_SUBTITLE)
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options A"
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
WriteIniStr "$PLUGINSDIR\ioA.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_NEXT)
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options A"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_NEXT)
!insertmacro MUI_INSTALLOPTIONS_SHOW 2 "ioA.ini" "" "IO" ;Next page is an IO page
!insertmacro MUI_PAGE_STOP 2
!insertmacro MUI_PAGE_START 3
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_IO_TITLE) $(MUI_TEXT_IO_SUBTITLE)
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options B"
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
WriteIniStr "$PLUGINSDIR\ioB.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_NEXT)
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options B"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_NEXT)
!insertmacro MUI_INSTALLOPTIONS_SHOW 3 "ioB.ini" "IO" "" ;Previous page is an IO page
!insertmacro MUI_PAGE_STOP 3
@ -170,13 +178,13 @@ Function SetPage
!insertmacro MUI_PAGE_START 6
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_IO_TITLE) $(MUI_TEXT_IO_SUBTITLE)
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options C"
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
WriteIniStr "$PLUGINSDIR\ioC.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_INSTALL)
!insertmacro MUI_INSTALLOPTIONS_SHOW 6 "ioC.ini" "" "" ;Next/previous pages are NO IO pages
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "Title" "${NAME} ${VERSION} Setup: Install Options C"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "CancelConfirm" "Are you sure you want to quit ${NAME} Setup?"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "CancelConfirmCaption" "${NAME} ${VERSION} Setup"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "CancelConfirmFlags" "MB_ICONEXCLAMATION"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "BackButtonText" $(MUI_BUTTONTEXT_BACK)
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "NextButtonText" $(MUI_BUTTONTEXT_INSTALL)
!insertmacro MUI_INSTALLOPTIONS_SHOW 6 "ioC.ini" "" "" ;Next/previous pages are no IO pages
!insertmacro MUI_PAGE_STOP 6
!insertmacro MUI_PAGE_START 7

View file

@ -4,8 +4,8 @@ BackEnabled=1
[Field 1]
Type=label
text=Install Options Page A
left=0
right=350
top=0
bottom=25
Text=Install Options Page A
Left=0
Right=110
Top=0
Bottom=15

View file

@ -4,8 +4,8 @@ BackEnabled=1
[Field 1]
Type=label
text=Install Options Page B
left=0
right=350
top=0
bottom=25
Text=Install Options Page B
Left=0
Right=110
Top=0
Bottom=15

View file

@ -1,11 +1,20 @@
[Settings]
NumFields=1
NumFields=2
BackEnabled=1
[Field 1]
Type=label
text=Instal Options Page C
left=0
right=350
top=0
bottom=25
Text=Instal Options Page C
Left=0
Right=110
Top=0
Bottom=15
[Field 2]
Type=checkbox
Text=Display a MessageBox
Left=0
Right=125
Top=40
Bottom=55
State=1