X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FWin32%2Fpackaging%2Finstaller%2Finclude%2Fdeclarations.nsh;h=428141c8a2625283cd1563e1212cc858686b51d6;hb=96956421bbce481bc08286c73b042894215f757c;hp=a45d28203171b33284a5f265ef2edc1667870ebc;hpb=c8639179da6359b51fcae4b2d1dd4359f9569ed1;p=lyx.git diff --git a/development/Win32/packaging/installer/include/declarations.nsh b/development/Win32/packaging/installer/include/declarations.nsh index a45d282031..428141c8a2 100644 --- a/development/Win32/packaging/installer/include/declarations.nsh +++ b/development/Win32/packaging/installer/include/declarations.nsh @@ -1,116 +1,154 @@ /* -Declarations +declaration.nsh + +Configuration of LyX installer */ -!include "settings.user.nsh" -!include "settings.nsh" +SetCompressor /SOLID lzma -;-------------------------------- -;Defines based on settings +#-------------------------------- +# Location of LyX files and dependencies -!ifndef SETUPTYPE_BUNDLE - !define SETUPTYPE_NAME DOWNLOAD +!ifdef FilesLyX + !define FILES_LYX "${FilesLyX}" !else - !define SETUPTYPE_NAME INSTALL + !define FILES_LYX "..\..\..\..\build-msvc" !endif -;-------------------------------- -;Standard header files +!ifdef FilesDeps + !define FILES_DEPS "${FilesDeps}" +!else + !define FILES_DEPS "..\..\..\..\lyx-windows-deps-msvc2008" +!endif + +!ifdef FilesBundle + !define FILES_BUNDLE "${FilesBundle}" +!else + !define FILES_BUNDLE "..\..\..\..\lyx-windows-bundle-deps" +!endif -!include "MUI.nsh" -!include "LogicLib.nsh" -!include "StrFunc.nsh" -!include "FileFunc.nsh" -!include "WordFunc.nsh" -!include "Sections.nsh" -!include "WinVer.nsh" +#-------------------------------- +# File locations -;-------------------------------- -;Windows constants +!define FILES_LICENSE "license.rtf" -!define SHCNE_ASSOCCHANGED 0x08000000 -!define SHCNF_IDLIST 0x0000 +!define FILES_ICONS "..\icons" +!define FILES_LAUNCHER "..\..\launcher" +!define FILES_PDFVIEW "..\..\pdfview" -;-------------------------------- -;Reserve Files -;These files should come first in the compressed data (for faster GUI) +!define FILES_MSVC "$%SystemRoot%\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375" +!define FILES_PYTHON "${FILES_DEPS}\python" +!define FILES_IMAGEMAGICK "${FILES_DEPS}\imagemagick" +!define FILES_GHOSTSCRIPT "${FILES_DEPS}\ghostscript" +!define FILES_NETPBM "${FILES_DEPS}\netpbm" +!define FILES_DTL "${FILES_DEPS}\dtl" +!define FILES_AIKSAURUS "${FILES_DEPS}\aiksaurus\" +!define FILES_DVIPOST "${FILES_DEPS}\dvipost" +!define FILES_DVIPOST_PKG "${FILES_DVIPOST}" +!define FILES_PDFTOOLS "${FILES_DEPS}\pdftools" +!define FILES_METAFILE2EPS "${FILES_DEPS}\metafile2eps" +!define FILES_PSPRINTER "${FILES_DEPS}\metafile2eps\PSPrinter" -ReserveFile "${NSISDIR}\Plugins\UserInfo.dll" -ReserveFile "dialogs\user.ini" -ReserveFile "dialogs\external.ini" -ReserveFile "dialogs\viewer.ini" -ReserveFile "dialogs\langselect.ini" -!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS -ReserveFile "${FILES_DVIPOST_PKG}\dvipost.sty" +!define FILES_QT "${FILES_DEPS}\qt-4" +!define FILES_ASPELLDATA "${FILES_DEPS}\aspell" -;-------------------------------- -;Variables +!define FILES_NSISPLUGINS "${FILES_DEPS}\nsis" -Var AdminOrPowerUser -Var CurrentUserInstall +#-------------------------------- +# Locations of components to download -Var PathLaTeX -Var PathImageMagick -Var PathGhostscript -Var PathViewer +!define MIRROR_SF1 "http://superb-west.dl.sourceforge.net/sourceforge" +!define MIRROR_SF2 "http://mesh.dl.sourceforge.net/sourceforge" -Var SetupLaTeX -Var SetupImageMagick -Var SetupGhostscript -Var SetupViewer +!macro SourceForgeMirror ID FILENAME + !define DOWNLOAD_${ID} "${MIRROR_SF1}/${FILENAME}" + !define DOWNLOADALT_${ID} "${MIRROR_SF2}/${FILENAME}" +!macroend -Var SizeLaTeX -Var SizeImageMagick -Var SizeGhostscript -Var SizeViewer +!insertmacro SourceForgeMirror LATEX "miktex/${SETUPFILE_LATEX}" +!insertmacro SourceForgeMirror IMAGEMAGICK "imagemagick/${SETUPFILE_IMAGEMAGICK}" +!insertmacro SourceForgeMirror GHOSTSCRIPT "ghostscript/${SETUPFILE_GHOSTSCRIPT}" -Var LangName -Var LangISOCode +!define DOWNLOAD_ASPELLDICTS "ftp://ftp.lyx.org/pub/lyx/contrib/aspell6-windows" +!define DOWNLOADALT_ASPELLDICTS "http://www.lyx.org/~bpeng/aspell6-windows" -Var AspellHive - -;-------------------------------- -;Include standard functions +#-------------------------------- +# Locations of setup files for components (for bundled setup) -!insertmacro FUNCTION_STRING_StrStr +!define INSTALL_LATEX "${SETUPFILE_LATEX}" +!define INSTALL_IMAGEMAGICK "${SETUPFILE_IMAGEMAGICK}" +!define INSTALL_GHOSTSCRIPT "${SETUPFILE_GHOSTSCRIPT}" -!insertmacro GetParent -!insertmacro VersionCompare -!insertmacro WordFind2X +#-------------------------------- +# Names and version -;-------------------------------- -;Macros +!define APP_NAME "LyX" +!define /date APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}svn %Y%m%d" +!define APP_VERSION_NUMBER "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}.${APP_VERSION_BUILD}" +!define APP_SERIES_NAME "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}" +!define APP_SERIES_KEY "${APP_VERSION_MAJOR}${APP_VERSION_MINOR}" +!define APP_DIR "${APP_NAME}${APP_SERIES_KEY}" +!define APP_DIR_USERDATA "${APP_NAME}${APP_SERIES_KEY}" +!define APP_INFO "${APP_NAME} - The Document Processor" +!define APP_COPYRIGHT "LyX is Copyright © 1995 by Matthias Ettrich, 1995-2008 LyX Team" -!macro ReDef NAME VALUE +!define APP_RUN "bin\LyXLauncher.exe" - ;Redefine a pre-processor definition +!define APP_REGKEY "Software\${APP_NAME}${APP_SERIES_KEY}" +!define APP_REGKEY_SETUP "Software\${APP_NAME}${APP_SERIES_KEY}\Setup" +!define APP_REGKEY_SETTINGS "Software\${APP_NAME}${APP_SERIES_KEY}\Settings" - !ifdef `${NAME}` - !undef `${NAME}` - !endif +!define APP_REGNAME_DOC "LyX.Document" - !define `${NAME}` `${VALUE}` +!define APP_EXT ".lyx" +!define APP_MIME_TYPE "application/lyx" -!macroend - -!macro CallFunc FUNCTION INPUT VAROUT - - ;Calls a function that modifies a single value on the stack +#-------------------------------- +# Setup settings - Push ${INPUT} - Call ${FUNCTION} - Pop ${VAROUT} +# Output file name can be configured using command line paramaters like +# /DExeFile=/path/to/installer -!macroend +!ifndef SETUPTYPE + !define SETUPTYPE STANDARD +!endif + +!if ${SETUPTYPE} == MINIMAL + + !define SETUP_EXE ${MinimalExeFile} + +!else if ${SETUPTYPE} == STANDARD + + !define SETUP_EXE ${ExeFile} + !define BUNDLE_IMAGEMAGICK + !define BUNDLE_GHOSTSCRIPT + +!else if ${SETUPTYPE} == BUNDLE + + !define SETUP_EXE ${BundleExeFile} + !define BUNDLE_IMAGEMAGICK + !define BUNDLE_GHOSTSCRIPT + !define BUNDLESETUP_LATEX + +!endif + +!define SETUP_ICON "${FILES_ICONS}\lyx.ico" +!define SETUP_HEADERIMAGE "graphics\header.bmp" +!define SETUP_WIZARDIMAGE "graphics\wizard.bmp" +!define SETUP_UNINSTALLER "Uninstall-${APP_NAME}.exe" +!define SETUP_UNINSTALLER_KEY "${APP_NAME}" + +#-------------------------------- +# Names of binaries to identify compontents + +!define BIN_LATEX "tex.exe" +!define BIN_IMAGEMAGICK "convert.exe" +!define BIN_GHOSTSCRIPT "gswin32c.exe" +!define BIN_BIBTEXEDITOR "JabRef.exe" -;-------------------------------- -;LyX installer header files +#-------------------------------- +# Custom NSIS plug-ins -!include "include\init.nsh" -!include "include\windows.nsh" -!include "include\lang.nsh" -!include "include\gui.nsh" -!include "include\detection.nsh" -!include "include\filelists.nsh" +!addplugindir "${FILES_NSISPLUGINS}"