]> git.lyx.org Git - lyx.git/blobdiff - development/Win32/packaging/installer/include/gui.nsh
* All ImageMagick and Ghostscript resources are no longer installed as separate files...
[lyx.git] / development / Win32 / packaging / installer / include / gui.nsh
index 391150fd1c4aed1dddaff90dc2524ad51b163742..4815a74c01878c9da00ea2ec532b64326aff309c 100644 (file)
@@ -1,20 +1,19 @@
 /*\r
 \r
-Installer User Interface\r
+gui.nsh\r
+\r
+Installer user interface settings\r
 \r
 */\r
 \r
-;--------------------------------\r
-;General\r
+#--------------------------------\r
+General\r
 \r
 Name "${APP_NAME} ${APP_VERSION}"\r
 BrandingText " "\r
 \r
-;Default installation folder\r
-InstallDir "${SETUP_DEFAULT_DIRECTORY}"\r
-\r
-;--------------------------------\r
-;Interface settings\r
+#--------------------------------\r
+# Interface settings\r
 \r
 !define MUI_ABORTWARNING\r
 !define MUI_ICON "${SETUP_ICON}"\r
@@ -24,32 +23,34 @@ InstallDir "${SETUP_DEFAULT_DIRECTORY}"
 !define MUI_HEADERIMAGE_RIGHT\r
 !define MUI_WELCOMEFINISHPAGE_BITMAP "${SETUP_WIZARDIMAGE}"\r
 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${SETUP_WIZARDIMAGE}"\r
-!define MUI_CUSTOMFUNCTION_GUIINIT InitInterface\r
 !define MUI_COMPONENTSPAGE_NODESC\r
 \r
-;--------------------------------\r
-;Pages\r
+#--------------------------------\r
+Pages\r
 \r
-;Installer\r
+Installer\r
 \r
 !define MUI_WELCOMEPAGE_TITLE_3LINES\r
-!define MUI_WELCOMEPAGE_TEXT $(TEXT_WELCOME_${SETUPTYPE_NAME})\r
+!define MUI_WELCOMEPAGE_TEXT $(TEXT_WELCOME)\r
 !insertmacro MUI_PAGE_WELCOME\r
 !insertmacro MUI_PAGE_LICENSE "${FILES_LICENSE}"\r
+!insertmacro MULTIUSER_PAGE_INSTALLMODE\r
 \r
-Page custom PageUser PageUserValidate\r
 Page custom PageReinstall PageReinstallValidate\r
 Page custom PageExternalLaTeX PageExternalLaTeXValidate\r
+!ifndef BUNDLE_IMAGEMAGICK\r
 Page custom PageExternalImageMagick PageExternalImageMagickValidate\r
+!endif\r
+!ifndef BUNDLE_GHOSTSCRIPT\r
 Page custom PageExternalGhostscript PageExternalGhostscriptValidate\r
-Page custom PageViewer PageViewerValidate\r
+!endif\r
 Page custom PageLanguage PageLanguageValidate\r
 \r
 !define MUI_PAGE_HEADER_TEXT $(TEXT_DICT_TITLE)\r
 !define MUI_PAGE_HEADER_SUBTEXT $(TEXT_DICT_SUBTITLE)\r
 !define MUI_COMPONENTSPAGE_TEXT_TOP $(TEXT_DICT_TOP)\r
 !define MUI_COMPONENTSPAGE_TEXT_COMPLIST $(TEXT_DICT_LIST)\r
-!insertmacro MUI_PAGE_COMPONENTS ;For spell checker dictionaries\r
+!insertmacro MUI_PAGE_COMPONENTS For spell checker dictionaries\r
 \r
 !insertmacro MUI_PAGE_DIRECTORY\r
 !insertmacro MUI_PAGE_INSTFILES\r
@@ -61,10 +62,10 @@ Page custom PageLanguage PageLanguageValidate
 !define MUI_FINISHPAGE_SHOWREADME_TEXT $(TEXT_FINISH_DESKTOP)\r
 !define MUI_FINISHPAGE_LINK $(TEXT_FINISH_WEBSITE)\r
 !define MUI_FINISHPAGE_LINK_LOCATION "http://www.lyx.org/"\r
-!define MUI_PAGE_CUSTOMFUNCTION_PRE CheckDesktopShortcut\r
+!define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckDesktopShortcut\r
 !insertmacro MUI_PAGE_FINISH\r
 \r
-;Uninstaller\r
+Uninstaller\r
 \r
 !define MUI_WELCOMEPAGE_TITLE_3LINES\r
 !define MUI_WELCOMEPAGE_TEXT $(UNTEXT_WELCOME)\r
@@ -75,138 +76,26 @@ Page custom PageLanguage PageLanguageValidate
 \r
 !insertmacro MUI_UNPAGE_FINISH\r
 \r
-;--------------------------------\r
-;Installer Languages\r
+#--------------------------------\r
+# Installer Languages\r
+\r
+!macro LANG LANG_NAME\r
+  # NSIS language file\r
+  !insertmacro MUI_LANGUAGE "${LANG_NAME}"\r
+  # LyX language file\r
+  !insertmacro LANGFILE_INCLUDE_WITHDEFAULT "lang\${LANG_NAME}.nsh" "lang\English.nsh"\r
+!macroend\r
 \r
-!insertmacro IncludeLang "english"\r
-!insertmacro IncludeLang "french"\r
-!insertmacro IncludeLang "german"\r
-!insertmacro IncludeLang "italian"\r
+!insertmacro LANG "english"\r
+!insertmacro LANG "french"\r
+!insertmacro LANG "german"\r
+!insertmacro LANG "italian"\r
 \r
-;--------------------------------\r
-;Version information\r
+#--------------------------------\r
+Version information\r
 \r
 VIProductVersion "${APP_VERSION_NUMBER}"\r
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"\r
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${APP_INFO}"\r
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}"\r
 VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "${APP_COPYRIGHT}"\r
-\r
-;--------------------------------\r
-;Macros\r
-\r
-!macro InitDialogExternal COMPONENT CURRENTUSER_POSSIBLE\r
-\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 1" "Text" $(TEXT_EXTERNAL_${COMPONENT}_INFO_${SETUPTYPE_NAME})\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "Text" $(TEXT_EXTERNAL_${COMPONENT}_FOLDER)\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 5" "Text" $(TEXT_EXTERNAL_${COMPONENT}_FOLDER_INFO)\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 6" "Text" $(TEXT_EXTERNAL_${COMPONENT}_NONE)\r
-  \r
-  !if ${CURRENTUSER_POSSIBLE} == ${TRUE}\r
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME})"\r
-  !else  \r
-    ${if} $AdminOrPowerUser == ${TRUE}\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME})"\r
-    ${else}\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME}) $(TEXT_EXTERNAL_NOPRIVILEDGES)"\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Flags" "DISABLED"\r
-    ${endif}\r
-  !endif\r
-  \r
-!macroend\r
-\r
-!macro InitDialogExternalDir COMPONENT CURRENTUSER_POSSIBLE\r
-\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 4" "State" $Path${COMPONENT}\r
-  \r
-  !if ${CURRENTUSER_POSSIBLE} == ${FALSE}\r
-    ${if} $AdminOrPowerUser == ${TRUE}\r
-  !endif\r
-  \r
-    ${if} $Path${COMPONENT} == ""\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "State" "1"\r
-    ${else}\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "State" "1"\r
-    ${endif}\r
-    \r
-  !if ${CURRENTUSER_POSSIBLE} == ${FALSE}\r
-    ${else}\r
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "State" "1"\r
-    ${endif}\r
-  !endif\r
-  \r
-!macroend\r
-\r
-!macro InitDialogLang VAR LANGNAME LANGISOCODE LANGID\r
-\r
-  StrCpy ${VAR} `${VAR}|${LANGNAME}`\r
-\r
-!macroend\r
-\r
-;--------------------------------\r
-;Functions\r
-\r
-Function InitDialogs\r
-\r
-  Push $R0\r
-\r
-  ;Extract dialogs\r
-  \r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\user.ini" "user.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\reinstall.ini" "reinstall.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_latex.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_imagemagick.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_ghostscript.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\viewer.ini" "viewer.ini"\r
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\langselect.ini" "langselect.ini"\r
-  \r
-  ;Write texts\r
-  \r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 1" "Text" $(TEXT_USER_INFO)\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "Text" $(TEXT_USER_ALL)\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "Text" $(TEXT_USER_CURRENT)\r
-  \r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "reinstall.ini" "Field 1" "Text" $(TEXT_REINSTALL_INFO)\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "reinstall.ini" "Field 2" "Text" $(TEXT_REINSTALL_ENABLE)\r
-  \r
-  !insertmacro InitDialogExternal latex ${TRUE}\r
-  !insertmacro InitDialogExternal imagemagick ${FALSE}\r
-  !insertmacro InitDialogExternal ghostscript ${FALSE}\r
-  \r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "viewer.ini" "Field 1" "Text" $(TEXT_VIEWER_INFO_${SETUPTYPE_NAME})\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "viewer.ini" "Field 2" "Text" $(TEXT_VIEWER_${SETUPTYPE_NAME})\r
-  \r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 1" "Text" $(TEXT_LANGUAGE_INFO)\r
-  StrCpy $R0 ""\r
-  !insertmacro LanguageList '!insertmacro InitDialogLang $R0'\r
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "ListItems" $R0\r
-  \r
-  ;Set state of user dialog\r
-  ${if} $CurrentUserInstall == ${TRUE}\r
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "State" "0"\r
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "State" "1"\r
-  ${else}\r
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "State" "1"\r
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "State" "0"\r
-  ${endif}\r
-  \r
-  Pop $R0\r
-\r
-FunctionEnd\r
-\r
-Function InitInterface\r
-\r
-  ${if} $AdminOrPowerUser != ${TRUE}\r
-    MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)\r
-  ${endif}\r
-\r
-  Banner::show /NOUNLOAD "Preparing wizard"\r
-\r
-  Call InitDialogs\r
-  Call InitLanguage  \r
-  Call InitSizeExternal\r
-  Call InitSizeViewer\r
-  \r
-  Banner::destroy\r
-\r
-FunctionEnd\r