From ee687e4b3f2b76117478226ccc99e534376697d3 Mon Sep 17 00:00:00 2001 From: joostverburg Date: Tue, 24 Dec 2002 22:38:06 +0000 Subject: [PATCH] better format, cleanup, right order of elements git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1999 212acab6-be3b-0410-9dea-997c60f758d6 --- Examples/Modern UI/Basic.nsi | 36 ++++++---- Examples/Modern UI/InstallOptions.nsi | 83 +++++++++++++---------- Examples/Modern UI/MultiLanguage.nsi | 97 ++++++++++++--------------- Examples/Modern UI/StartMenu.nsi | 48 +++++++------ Examples/Modern UI/WelcomeFinish.nsi | 51 ++++++++------ 5 files changed, 170 insertions(+), 145 deletions(-) diff --git a/Examples/Modern UI/Basic.nsi b/Examples/Modern UI/Basic.nsi index d24025b4..0c487a39 100644 --- a/Examples/Modern UI/Basic.nsi +++ b/Examples/Modern UI/Basic.nsi @@ -10,6 +10,15 @@ ;-------------------------------- ;Configuration + ;General + OutFile "Basic.exe" + + ;Folder selection page + InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" + +;-------------------------------- +;Modern UI Configuration + !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE @@ -18,26 +27,25 @@ !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE - - ;Language + + ;Modern UI System + !insertmacro MUI_SYSTEM + +;-------------------------------- +;Languages + !insertmacro MUI_LANGUAGE "English" - ;General - OutFile "Basic.exe" +;-------------------------------- +;Language Strings - ;License page - LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" - - ;Descriptions + ;Description LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." - ;Folder selection page - InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" - ;-------------------------------- -;Modern UI System - -!insertmacro MUI_SYSTEM +;Data + + LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" ;-------------------------------- ;Installer Sections diff --git a/Examples/Modern UI/InstallOptions.nsi b/Examples/Modern UI/InstallOptions.nsi index b675a6ef..69685632 100644 --- a/Examples/Modern UI/InstallOptions.nsi +++ b/Examples/Modern UI/InstallOptions.nsi @@ -7,40 +7,62 @@ !include "${NSISDIR}\Contrib\Modern UI\System.nsh" +!define TEMP $R0 + ;-------------------------------- ;Configuration - + + ;General + OutFile "Basic.exe" + + ;Folder selection page + InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" + +;-------------------------------- +;Modern UI Configuration + + !define MUI_CUSTOMPAGECOMMANDS + !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE - !define MUI_ABORTWARNING - !define MUI_CUSTOMPAGECOMMANDS + !define MUI_ABORTWARNING !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE - - !define TEMP1 $R0 - !define TEMP2 $R1 - ;Language + ;Modern UI System + !insertmacro MUI_SYSTEM + +;-------------------------------- +;Languages + !insertmacro MUI_LANGUAGE "English" + +;-------------------------------- +;Language Strings - ;General - OutFile "InstallOptions.exe" + ;Description + LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." - ;InstallOptions pages + ;Header + LangString TEXT_IO_TITLE ${LANG_ENGLISH} "InstallOptions Page" + LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Create your own dialog!" - ;Header - LangString TEXT_IO_TITLE ${LANG_ENGLISH} "InstallOptions Page" - LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "Create your own dialog!" + ;Window titles + 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" + +;-------------------------------- +;Data - ;Window titles - 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" + LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" + +;-------------------------------- +;Pages - ;Page order !insertmacro MUI_PAGECOMMAND_LICENSE Page custom SetCustomA "$(TEXT_IO_PAGETITLE_A)" Page custom SetCustomB "$(TEXT_IO_PAGETITLE_B)" @@ -48,30 +70,18 @@ !insertmacro MUI_PAGECOMMAND_DIRECTORY Page custom SetCustomC "$(TEXT_IO_PAGETITLE_C)" !insertmacro MUI_PAGECOMMAND_INSTFILES - - ;License page - LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" - ;Component selection page - ;Descriptions - LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." - - ;Folder selection page - InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" +;-------------------------------- +;Reserve Files - ;Things that need to be extracted on startup (keep these lines before any File command!) + ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression - ;Use ReserveFile for your own InstallOptions INI files too! + ReserveFile "ioA.ini" ReserveFile "ioB.ini" ReserveFile "ioC.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS -;-------------------------------- -;Modern UI System - -!insertmacro MUI_SYSTEM - ;-------------------------------- ;Installer Sections @@ -83,8 +93,8 @@ Section "modern.exe" SecCopyUI File "${NSISDIR}\Contrib\UIs\modern.exe" ;Read a value from an InstallOptions INI File - !insertmacro MUI_INSTALLOPTIONS_READ ${TEMP1} "ioC.ini" "Field 2" "State" - StrCmp ${TEMP1} "1" "" +2 + !insertmacro MUI_INSTALLOPTIONS_READ ${TEMP} "ioC.ini" "Field 2" "State" + StrCmp ${TEMP} "1" "" +2 ;Checked MessageBox MB_OK "A MessageBox..." @@ -129,7 +139,6 @@ FunctionEnd Function SetCustomC !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioC.ini" - FunctionEnd ;-------------------------------- diff --git a/Examples/Modern UI/MultiLanguage.nsi b/Examples/Modern UI/MultiLanguage.nsi index 5396c9f4..0311ef2f 100644 --- a/Examples/Modern UI/MultiLanguage.nsi +++ b/Examples/Modern UI/MultiLanguage.nsi @@ -10,6 +10,15 @@ ;-------------------------------- ;Configuration + ;General + OutFile "Basic.exe" + + ;Folder selection page + InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" + +;-------------------------------- +;Modern UI Configuration + !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE @@ -18,8 +27,13 @@ !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE + + ;Modern UI System + !insertmacro MUI_SYSTEM + +;-------------------------------- +;Languages - ;Languages !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" @@ -39,9 +53,32 @@ !insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Romanian" - OutFile "MultiLanguage.exe" - - ;License page +;-------------------------------- +;Language Strings + + ;Descriptions + LangString DESC_SecCopyUI ${LANG_ENGLISH} "modern.exe: English description" + LangString DESC_SecCopyUI ${LANG_FRENCH} "modern.exe: French description" + LangString DESC_SecCopyUI ${LANG_GERMAN} "modern.exe: German description" + LangString DESC_SecCopyUI ${LANG_SPANISH} "modern.exe: Spanish description" + LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe: Simplified Chinese description" + LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "modern.exe: Traditional Chinese description" + LangString DESC_SecCopyUI ${LANG_JAPANESE} "modern.exe: Japanese description" + LangString DESC_SecCopyUI ${LANG_ITALIAN} "modern.exe: Italian description" + LangString DESC_SecCopyUI ${LANG_DUTCH} "modern.exe: Dutch description" + LangString DESC_SecCopyUI ${LANG_POLISH} "modern.exe: Polish description" + LangString DESC_SecCopyUI ${LANG_GREEK} "modern.exe: Greek description" + LangString DESC_SecCopyUI ${LANG_RUSSIAN} "modern.exe: Greek description" + LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "modern.exe: Portuguese (Brasil) description" + LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "modern.exe: Ukrainian description" + LangString DESC_SecCopyUI ${LANG_CZECH} "modern.exe: Czechian description" + LangString DESC_SecCopyUI ${LANG_BULGARIAN} "modern.exe: Bulgarian description" + LangString DESC_SecCopyUI ${LANG_THAI} "modern.exe: Thai description" + LangString DESC_SecCopyUI ${LANG_ROMANIAN} "modern.exe: Romanian description" + +;-------------------------------- +;Data + LicenseData /LANG=${LANG_ENGLISH} "${NSISDIR}\Contrib\Modern UI\License.txt" LicenseData /LANG=${LANG_FRENCH} "${NSISDIR}\Contrib\Modern UI\License.txt" LicenseData /LANG=${LANG_GERMAN} "${NSISDIR}\Contrib\Modern UI\License.txt" @@ -61,63 +98,17 @@ LicenseData /LANG=${LANG_THAI} "${NSISDIR}\Contrib\Modern UI\License.txt" LicenseData /LANG=${LANG_ROMANIAN} "${NSISDIR}\Contrib\Modern UI\License.txt" - ;Component selection page - ;Titles - LangString TITLE_SecCopyUI ${LANG_ENGLISH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_FRENCH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_GERMAN} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_SPANISH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_TRADCHINESE} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_JAPANESE} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_ITALIAN} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_DUTCH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_POLISH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_GREEK} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_RUSSIAN} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_PORTUGUESEBR} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_UKRAINIAN} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_CZECH} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_BULGARIAN} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_THAI} "modern.exe" - LangString TITLE_SecCopyUI ${LANG_ROMANIAN} "modern.exe" - - ;Descriptions - LangString DESC_SecCopyUI ${LANG_ENGLISH} "modern.exe: English description" - LangString DESC_SecCopyUI ${LANG_FRENCH} "modern.exe: French description" - LangString DESC_SecCopyUI ${LANG_GERMAN} "modern.exe: German description" - LangString DESC_SecCopyUI ${LANG_SPANISH} "modern.exe: Spanish description" - LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe: Simplified Chinese description" - LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "modern.exe: Traditional Chinese description" - LangString DESC_SecCopyUI ${LANG_JAPANESE} "modern.exe: Japanese description" - LangString DESC_SecCopyUI ${LANG_ITALIAN} "modern.exe: Italian description" - LangString DESC_SecCopyUI ${LANG_DUTCH} "modern.exe: Dutch description" - LangString DESC_SecCopyUI ${LANG_POLISH} "modern.exe: Polish description" - LangString DESC_SecCopyUI ${LANG_GREEK} "modern.exe: Greek description" - LangString DESC_SecCopyUI ${LANG_RUSSIAN} "modern.exe: Greek description" - LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "modern.exe: Portuguese (Brasil) description" - LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "modern.exe: Ukrainian description" - LangString DESC_SecCopyUI ${LANG_CZECH} "modern.exe: Czechian description" - LangString DESC_SecCopyUI ${LANG_BULGARIAN} "modern.exe: Bulgarian description" - LangString DESC_SecCopyUI ${LANG_THAI} "modern.exe: Thai description" - LangString DESC_SecCopyUI ${LANG_ROMANIAN} "modern.exe: Thai description" - - ;Folder selection page - InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" +;-------------------------------- +;Reserve Files ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression !insertmacro MUI_RESERVEFILE_LANGDLL -;-------------------------------- -;Modern UI System - -!insertmacro MUI_SYSTEM - ;-------------------------------- ;Installer Sections -Section $(TITLE_SecCopyUI) SecCopyUI +Section "modern.exe" SecCopyUI ;ADD YOUR OWN STUFF HERE! diff --git a/Examples/Modern UI/StartMenu.nsi b/Examples/Modern UI/StartMenu.nsi index c4f10fba..5b0d6db5 100644 --- a/Examples/Modern UI/StartMenu.nsi +++ b/Examples/Modern UI/StartMenu.nsi @@ -15,9 +15,20 @@ ;!define MUI_STARTMENU_VARIABLE "$VAR" ;!define MUI_STARTMENU_DEFAULTFOLDER "Folder Name" +!define TEMP $R0 + ;-------------------------------- ;Configuration + ;General + OutFile "Basic.exe" + + ;Folder selection page + InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" + +;-------------------------------- +;Modern UI Configuration + !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE @@ -28,27 +39,24 @@ !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE - !define TEMP1 $R0 - - ;Language + ;Modern UI System + !insertmacro MUI_SYSTEM + +;-------------------------------- +;Languages + !insertmacro MUI_LANGUAGE "English" - ;General - OutFile "StartMenu.exe" +;-------------------------------- +;Language Strings - ;License page - LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" - - ;Descriptions + ;Description LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." - ;Folder-selection page - InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" - ;-------------------------------- -;Modern UI System - -!insertmacro MUI_SYSTEM +;Data + + LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" ;-------------------------------- ;Installer Sections @@ -99,13 +107,13 @@ Section "Uninstall" Delete "$INSTDIR\Uninstall.exe" ;Remove shortcut - ReadRegStr ${TEMP1} HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" + ReadRegStr ${TEMP} HKCU "Software\${MUI_PRODUCT}" "Start Menu Folder" - StrCmp ${TEMP1} "" noshortcuts + StrCmp ${TEMP} "" noshortcuts - Delete "$SMPROGRAMS\${TEMP1}\Modern UI.lnk" - Delete "$SMPROGRAMS\${TEMP1}\Uninstall.lnk" - RMDir "$SMPROGRAMS\${TEMP1}" ;Only if empty, so it won't delete other shortcuts + Delete "$SMPROGRAMS\${TEMP}\Modern UI.lnk" + Delete "$SMPROGRAMS\${TEMP}\Uninstall.lnk" + RMDir "$SMPROGRAMS\${TEMP}" ;Only if empty, so it won't delete other shortcuts noshortcuts: diff --git a/Examples/Modern UI/WelcomeFinish.nsi b/Examples/Modern UI/WelcomeFinish.nsi index 53c1b5c6..2f65bf82 100644 --- a/Examples/Modern UI/WelcomeFinish.nsi +++ b/Examples/Modern UI/WelcomeFinish.nsi @@ -6,47 +6,56 @@ !define MUI_VERSION "1.0" ;Define your own software version here !include "${NSISDIR}\Contrib\Modern UI\System.nsh" - + ;-------------------------------- ;Configuration + ;General + OutFile "Basic.exe" + + ;Folder selection page + InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" + +;-------------------------------- +;Modern UI Configuration + !define MUI_WELCOMEPAGE !define MUI_LICENSEPAGE !define MUI_COMPONENTSPAGE !define MUI_DIRECTORYPAGE - !define MUI_FINISHPAGE - !define MUI_FINISHPAGE_RUN "$INSTDIR\modern.exe" + !define MUI_FINISHPAGE_RUN "$INSTDIR\modern.exe" !define MUI_ABORTWARNING !define MUI_UNINSTALLER !define MUI_UNCONFIRMPAGE - - ;Language + + ;Modern UI System + !insertmacro MUI_SYSTEM + +;-------------------------------- +;Languages + !insertmacro MUI_LANGUAGE "English" - - ;General - OutFile "WelcomeFinish.exe" - ;License page +;-------------------------------- +;Language Strings + + ;Description + LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." + +;-------------------------------- +;Data + LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt" - - ;Component selection page - ;Descriptions - LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder." - - ;Folder selection page - InstallDir "$PROGRAMFILES\${MUI_PRODUCT}" +;-------------------------------- +;Reserve Files + ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression !insertmacro MUI_RESERVEFILE_WELCOMEFINISHPAGE - -;-------------------------------- -;Modern UI System - -!insertmacro MUI_SYSTEM ;-------------------------------- ;Installer Sections