macro system updates

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1578 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2002-11-04 11:19:21 +00:00
parent ebada2f217
commit f5f0f98a79
21 changed files with 431 additions and 381 deletions

View file

@ -2,8 +2,10 @@
;Basic Macro System 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
!define MUI_PRODUCT "Test Software" ;Define your own software name here
!define MUI_VERSION "1.0" ;Define your own software version here
!define MUI_NAME "${MUI_PRODUCT} ${MUI_VERSION}" ;Installer name
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
@ -17,13 +19,10 @@
!define MUI_UNINSTALLER
;Language
;English
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
;General
OutFile "Basic.exe"
Name "${NAME} ${VERSION}"
;License page
LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt"
@ -32,7 +31,12 @@
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder."
;Folder-selection page
InstallDir "$PROGRAMFILES\${NAME}"
InstallDir "$PROGRAMFILES\${MUI_PRODUCT}"
;--------------------------------
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Installer Sections
@ -49,17 +53,10 @@ Section "modern.exe" SecCopyUI
SectionEnd
Section ""
;Invisible section to display the Finish header
!insertmacro MUI_FINISHHEADER
SectionEnd
!insertmacro MUI_SECTIONS_FINISHHEADER ;Insert this macro after the sections
;--------------------------------
;Modern UI System
!insertmacro MUI_SYSTEM
;Descriptions
!insertmacro MUI_FUNCTIONS_DESCRIPTION_START
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)

View file

@ -2,8 +2,10 @@
;Install Options 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
!define MUI_PRODUCT "Test Software" ;Define your own software name here
!define MUI_VERSION "1.0" ;Define your own software version here
!define MUI_NAME "${MUI_PRODUCT} ${MUI_VERSION}" ;Installer name
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
@ -18,20 +20,20 @@
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
!define MUI_CUSTOMPAGECOMMANDS ;Use customized pages
!define TEMP1 $R0
!define TEMP2 $R1
;Language
;English
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
!insertmacro MUI_SYSTEM
;General
OutFile "InstallOptions.exe"
Name "${NAME} ${VERSION}"
;Page order
!define MUI_CUSTOMPAGECOMMANDS ;Use customized pages
!insertmacro MUI_PAGECOMMAND_LICENSE
Page custom SetCustomA
Page custom SetCustomB
@ -46,15 +48,18 @@
;Component-selection page
;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}."
;Folder-selection page
InstallDir "$PROGRAMFILES\${NAME}"
InstallDir "$PROGRAMFILES\${MUI_PRODUCT}"
;Install Options pages
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page"
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Create your own dialog!"
LangString TEXT_IO_PAGETITLE_A ${LANG_ENGLISH} "Custom Page A"
LangString TEXT_IO_PAGETITLE_B ${LANG_ENGLISH} "Custom Page B"
LangString TEXT_IO_PAGETITLE_C ${LANG_ENGLISH} "Custom Page C"
;Uninstaller
!define MUI_UNCUSTOMPAGECOMMANDS
!insertmacro MUI_UNPAGECOMMAND_CONFIRM
@ -71,23 +76,22 @@
;Installer Sections
Function .onInit
;Init InstallOptions
;Extract Install Options INI Files
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioA.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioB.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioC.ini"
;Titles for Install Options dialogs
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "Title" "$(MUI_TEXT_SETUPCAPTION): Custom page A"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "Title" "$(MUI_TEXT_SETUPCAPTION): Custom page B"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "Title" "$(MUI_TEXT_SETUPCAPTION): Custom page C"
!ifdef MUI_ABORTWARNING
;Abort warnings for Install Options dialogs
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "CancelConfirm" "$(MUI_TEXT_ABORTWARNING)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioA.ini" "Settings" "CancelConfirmCaption" "$(MUI_TEXT_SETUPCAPTION)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "CancelConfirm" "$(MUI_TEXT_ABORTWARNING)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Settings" "CancelConfirmCaption" "$(MUI_TEXT_SETUPCAPTION)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "CancelConfirm" "$(MUI_TEXT_ABORTWARNING)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioC.ini" "Settings" "CancelConfirmCaption" "$(MUI_TEXT_SETUPCAPTION)"
!endif
!insertmacro MUI_INSTALLOPTIONS_WRITETITLE "ioA.ini" "$(TEXT_IO_PAGETITLE_A)"
!insertmacro MUI_INSTALLOPTIONS_WRITETITLE "ioB.ini" "$(TEXT_IO_PAGETITLE_B)"
!insertmacro MUI_INSTALLOPTIONS_WRITETITLE "ioC.ini" "$(TEXT_IO_PAGETITLE_C)"
;Abort warnings for Install Options dialogs
!insertmacro MUI_INSTALLOPTIONS_WRITEABORTWARNING "ioA.ini"
!insertmacro MUI_INSTALLOPTIONS_WRITEABORTWARNING "ioB.ini"
!insertmacro MUI_INSTALLOPTIONS_WRITEABORTWARNING "ioC.ini"
FunctionEnd
Section "modern.exe" SecCopyUI
@ -108,12 +112,7 @@ Section "modern.exe" SecCopyUI
SectionEnd
Section ""
;Invisible section to display the Finish header
!insertmacro MUI_FINISHHEADER
SectionEnd
!insertmacro MUI_SECTIONS_FINISHHEADER ;Insert this macro after the sections
;--------------------------------
;Installer Functions
@ -133,11 +132,6 @@ Function SetCustomC
!insertmacro MUI_INSTALLOPTIONS_SHOW "ioC.ini"
FunctionEnd
;--------------------------------
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Uninstaller Section

View file

@ -2,8 +2,10 @@
;Basic Macro System & MultiLanguage 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
!define MUI_PRODUCT "Test Software" ;Define your own software name here
!define MUI_VERSION "1.0" ;Define your own software version here
!define MUI_NAME "${MUI_PRODUCT} ${MUI_VERSION}" ;Installer name
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
@ -17,79 +19,22 @@
!define MUI_UNINSTALLER
;Languages
;English
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
;French
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\French.nsh"
;German
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\German.nsh"
;Spanish
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Spanish.nsh"
;Simplified Chinese
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\SimpChinese.nsh"
;Traditional Chinese
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\TradChinese.nsh"
;Japanese
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Japanese.nsh"
;Italian
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Italian.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Italian.nsh"
;Dutch
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Dutch.nsh"
;Polish
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Polish.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Polish.nsh"
;Greek
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Greek.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Greek.nsh"
;Russian
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Russian.nsh"
;Portuguese (Brasil)
LoadLanguageFile "${NSISDIR}\Contrib\Language files\PortugueseBR.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\PortugueseBR.nsh"
;Ukrainian
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Ukrainian.nlf"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Ukrainian.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\English.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\French.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\German.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Spanish.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\SimpChinese.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\TradChinese.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Japanese.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Italian.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Dutch.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Polish.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Greek.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Russian.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\PortugueseBR.nsh"
!include "${NSISDIR}\Contrib\Modern UI\Language files\Ukrainian.nsh"
OutFile "MultiLanguage.exe"
;Name
Name /LANG=${LANG_ENGLISH} "${NAME} ${VERSION}"
Name /LANG=${LANG_FRENCH} "${NAME} ${VERSION}"
Name /LANG=${LANG_GERMAN} "${NAME} ${VERSION}"
Name /LANG=${LANG_SPANISH} "${NAME} ${VERSION}"
Name /LANG=${LANG_SIMPCHINESE} "${NAME} ${VERSION}"
Name /LANG=${LANG_TRADCHINESE} "${NAME} ${VERSION}"
Name /LANG=${LANG_JAPANESE} "${NAME} ${VERSION}"
Name /LANG=${LANG_ITALIAN} "${NAME} ${VERSION}"
Name /LANG=${LANG_DUTCH} "${NAME} ${VERSION}"
Name /LANG=${LANG_POLISH} "${NAME} ${VERSION}"
Name /LANG=${LANG_GREEK} "${NAME} ${VERSION}"
Name /LANG=${LANG_RUSSIAN} "${NAME} ${VERSION}"
Name /LANG=${LANG_PORTUGUESEBR} "${NAME} ${VERSION}"
Name /LANG=${LANG_UKRAINIAN} "${NAME} ${VERSION}"
;License page
LicenseData /LANG=${LANG_ENGLISH} "${NSISDIR}\Contrib\Modern UI\License.txt"
@ -141,7 +86,12 @@
LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "modern.exe: Ukrainian description"
;Folder-selection page
InstallDir "$PROGRAMFILES\${NAME}"
InstallDir "$PROGRAMFILES\${MUI_PRODUCT}"
;--------------------------------
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Installer Sections
@ -159,12 +109,12 @@ SectionEnd
Section ""
;Invisible section to display the Finish header & write the language to the registry
;Invisible section to write the language to the registry
WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Installer Language" $LANGUAGE
WriteRegStr HKCU "Software\${NAME}" "Installer Language" $LANGUAGE
!insertmacro MUI_FINISHHEADER
SectionEnd
!insertmacro MUI_SECTIONS_FINISHHEADER ;Insert this macro after the sections
;--------------------------------
;Installer Functions
@ -216,9 +166,7 @@ Function .onInit
FunctionEnd
;--------------------------------
;Modern UI System
!insertmacro MUI_SYSTEM
;Descriptions
!insertmacro MUI_FUNCTIONS_DESCRIPTION_START
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
@ -236,7 +184,7 @@ Section "Uninstall"
RMDir "$INSTDIR"
DeleteRegValue HKCU "Software\${NAME}" "Installer Language"
DeleteRegValue HKCU "Software\${MUI_PRODUCT}" "Installer Language"
;Display the Finish header
!insertmacro MUI_UNFINISHHEADER
@ -247,5 +195,5 @@ SectionEnd
;Uninstaller Functions
Function un.onInit
ReadRegStr $LANGUAGE HKCU "Software\${NAME}" "Installer Language"
ReadRegStr $LANGUAGE HKCU "Software\${MUI_PRODUCT}" "Installer Language"
FunctionEnd