]> git.lyx.org Git - features.git/commitdiff
lots of installer improvements:
authorJoost Verburg <joostverburg@users.sourceforge.net>
Sun, 30 Mar 2008 21:37:53 +0000 (21:37 +0000)
committerJoost Verburg <joostverburg@users.sourceforge.net>
Sun, 30 Mar 2008 21:37:53 +0000 (21:37 +0000)
* use nsDialogs instead of InstallOptions for custom wizard pages, faster & easier to customize
* upgrade to Modern UI 2
* use MultiUser.nsh to support multiple installation modes (all users / current user) in a much more simple way
* use LangFile.nsh for the language files, again less scripting required
* simplified installer structure
* more meaningful variable names
* more comments
* minor fixes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24062 a592a061-630c-0410-9148-cb99ea01b6c8

40 files changed:
development/Win32/packaging/installer/components/configure.nsh [deleted file]
development/Win32/packaging/installer/components/core.nsh [deleted file]
development/Win32/packaging/installer/components/dicts.nsh [deleted file]
development/Win32/packaging/installer/components/external.nsh [deleted file]
development/Win32/packaging/installer/components/langselect.nsh [deleted file]
development/Win32/packaging/installer/components/reinstall.nsh [deleted file]
development/Win32/packaging/installer/components/uninstall.nsh [deleted file]
development/Win32/packaging/installer/components/user.nsh [deleted file]
development/Win32/packaging/installer/components/viewer.nsh [deleted file]
development/Win32/packaging/installer/dialogs/external.ini [deleted file]
development/Win32/packaging/installer/dialogs/langselect.ini [deleted file]
development/Win32/packaging/installer/dialogs/reinstall.ini [deleted file]
development/Win32/packaging/installer/dialogs/user.ini [deleted file]
development/Win32/packaging/installer/dialogs/viewer.ini [deleted file]
development/Win32/packaging/installer/graphics/header.bmp
development/Win32/packaging/installer/graphics/wizard.bmp
development/Win32/packaging/installer/gui/external.nsh [new file with mode: 0644]
development/Win32/packaging/installer/gui/langselect.nsh [new file with mode: 0644]
development/Win32/packaging/installer/gui/reinstall.nsh [new file with mode: 0644]
development/Win32/packaging/installer/include/declarations.nsh
development/Win32/packaging/installer/include/detection.nsh
development/Win32/packaging/installer/include/dictlist.nsh [new file with mode: 0644]
development/Win32/packaging/installer/include/download.nsh [deleted file]
development/Win32/packaging/installer/include/filelist.nsh [new file with mode: 0644]
development/Win32/packaging/installer/include/filelists.nsh [deleted file]
development/Win32/packaging/installer/include/gui.nsh
development/Win32/packaging/installer/include/init.nsh
development/Win32/packaging/installer/include/lang.nsh [deleted file]
development/Win32/packaging/installer/include/langlist.nsh [new file with mode: 0644]
development/Win32/packaging/installer/include/windows.nsh [deleted file]
development/Win32/packaging/installer/lang/english.nsh
development/Win32/packaging/installer/lang/french.nsh
development/Win32/packaging/installer/lang/german.nsh
development/Win32/packaging/installer/lang/italian.nsh
development/Win32/packaging/installer/lyx.nsi
development/Win32/packaging/installer/settings.nsh
development/Win32/packaging/installer/settings.user.nsh [deleted file]
development/Win32/packaging/installer/setup/configure.nsh [new file with mode: 0644]
development/Win32/packaging/installer/setup/install.nsh [new file with mode: 0644]
development/Win32/packaging/installer/setup/uninstall.nsh [new file with mode: 0644]

diff --git a/development/Win32/packaging/installer/components/configure.nsh b/development/Win32/packaging/installer/components/configure.nsh
deleted file mode 100644 (file)
index b8eea0c..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-
-Create uninstaller, file associations and configure LyX
-
-*/
-
-!define SHORTCUT '${APP_NAME} ${APP_SERIES_NAME}.lnk" "$INSTDIR\${APP_RUN}" "" "$INSTDIR\${APP_RUN}" "" "" "" "${APP_INFO}"'
-
-#--------------------------------
-#Sections
-
-Section -FileAssociations
-
-  #Associate .lyx files with LyX for current user of all users
-
-  #Write information about file type
-  !define REG_FILETYPE 'WriteRegStr SHELL_CONTEXT "Software\Classes\${APP_REGNAME_DOC}'
-  
-  ${REG_FILETYPE}" "" "${APP_NAME} Document"
-  ${REG_FILETYPE}\DefaultIcon" "" "$INSTDIR\bin\lyx_doc_32x32.ico"
-  ${REG_FILETYPE}\Shell\open\command" "" '"$INSTDIR\${APP_RUN}" "%1"'
-  
-  !define REG_FILEEXT 'WriteRegStr SHELL_CONTEXT "Software\Classes\${APP_EXT}"'
-  
-  ${REG_FILEEXT} "" "${APP_REGNAME_DOC}"
-  ${REG_FILEEXT} "Content Type" "${APP_MIME_TYPE}"  
-  
-  #Refresh shell
-  System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
-
-SectionEnd
-
-Section -InstallData
-
-  #Registry information
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY} "" $INSTDIR
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY} "Version" "${APP_VERSION}"
-
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "LaTeX Path" $PathLaTeX
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "ImageMagick Path" $PathImageMagick
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "Ghostscript Path" $PathGhostscript
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "LyX Language" $LangName
-
-  #Start Menu shortcut
-  #There is only one shortcut to the application, so it should be in the main group
-  CreateShortCut "$SMPROGRAMS\${SHORTCUT}
-    
-  #Uninstaller information
-  !define REG_UNINSTALL 'WriteRegStr SHELL_CONTEXT "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"'
-  
-  ${if} $CurrentUserInstall == ${TRUE}
-    ${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION} $(TEXT_INSTALL_CURRENTUSER)"
-  ${else}
-    ${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION}"
-  ${endif}
-  
-  ${REG_UNINSTALL} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}"'
-  ${REG_UNINSTALL} "DisplayVersion" "${APP_VERSION}"
-  ${REG_UNINSTALL} "DisplayIcon" "$INSTDIR\bin\lyx_32x32.ico"
-  ${REG_UNINSTALL} "URLUpdateInfo" "http://www.lyx.org/"
-  ${REG_UNINSTALL} "URLInfoAbout" "http://www.lyx.org/about/"
-  ${REG_UNINSTALL} "Publisher" "LyX Team"
-  ${REG_UNINSTALL} "HelpLink" "http://www.lyx.org/internet/mailing.php"  
-  
-SectionEnd
-
-Section -LaTeX
-
-  #Let MiKTeX ask the user again to download packages if needed
-  
-  #MiKTeX 2.5
-  
-  ReadRegStr $R0 HKCU "Software\MiKTeX.org\MiKTeX\2.5\MPM" "AutoInstall"  
-  
-  ${if} $R0 == 0
-    WriteRegStr HKCU "Software\MiKTeX.org\MiKTeX\2.5\MPM" "AutoInstall" 2
-  ${endif}
-  
-  #MiKTeX 2.4
-  
-  ReadRegStr $R0 HKCU "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "InstallPackagesOnTheFly"
-  
-  ${if} $R0 == 0
-    WriteRegStr HKCU "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "InstallPackagesOnTheFly" 2
-  ${endif}
-  
-  #dvipost package
-
-  Call SearchLaTeXLocalRoot
-  Pop $R0
-
-  ${if} $R0 != ""
-    SetOutPath "$R0\tex\latex\dvipost"
-    File "${FILES_DVIPOST_PKG}\dvipost.sty"
-  ${endif}
-  
-  #Update file name database
-  
-  ${if} $PathLaTeX != ""
-    nsExec::Exec '"$PathLaTeX\initexmf.exe" --update-fndb'
-    Pop $R0 ;Return value
-  ${endif}
-
-SectionEnd
-
-Section -Configure
-
-  #Windows specific configuration in lyxrc.dist
-  
-  Delete "$INSTDIR\Resources\lyxrc.dist"
-  FileOpen $R1 "$INSTDIR\Resources\lyxrc.dist" w
-  
-  #Path prefix
-  Call GetPathPrefix
-  Pop $R0  
-  FileWrite $R1 '\path_prefix "$R0"$\r$\n'
-  
-  #Default screen fonts
-  FileWrite $R1 '\screen_font_roman "Times New Roman"$\r$\n'
-  FileWrite $R1 '\screen_font_sans "Arial"$\r$\n'
-  FileWrite $R1 '\screen_font_typewriter "Courier New"$\r$\n'
-  FileWrite $R1 '\preview_scale_factor 1.0$\r$\n' ;Fit instant preview font size to screen fonts
-  #PDF view helper
-  FileWrite $R1 '\format "pdf" "pdf" "PDF (ps2pdf)" "P" "pdfview" "" "document,vector"$\r$\n'  
-  FileWrite $R1 '\format "pdf2" "pdf" "PDF (pdflatex)" "F" "pdfview" "" "document,vector"$\r$\n'
-  FileWrite $R1 '\format "pdf3" "pdf" "PDF (dvipdfm)" "m" "pdfview" "" "document,vector"$\r$\n'
-  
-  FileClose $R1
-  
-  #Information in the registry for the launcher
-  
-  #Set language
-  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETTINGS} "Language" $LangISOCode
-
-SectionEnd
-
-#--------------------------------
-#Functions
-
-Function CheckDesktopShortcut
-
-  #Enable desktop icon creation when there is an icon already
-  #Old shortcuts need to be updated
-  
-  ${if} ${fileexists} "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1"
-  ${endif}
-
-FunctionEnd
-
-Function CreateDesktopShortcut
-
-  #Creating a desktop shortcut is an option on the finish page
-
-  CreateShortCut "$DESKTOP\${SHORTCUT}
-
-FunctionEnd
-  
diff --git a/development/Win32/packaging/installer/components/core.nsh b/development/Win32/packaging/installer/components/core.nsh
deleted file mode 100644 (file)
index bb9df56..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-
-LyX Core
-Binaries, Resources, Python, Aspell
-
-*/
-
-#--------------------------------
-#Sections
-
-Section -Core SecCore
-
-  # Install and register the core LyX files
-  # Initializes the plug-ins dir ($PLUGINSDIR) if not already initialized.
-  # $PLUGINSDIR is automatically deleted when the installer exits.
-  InitPluginsDir
-  
-  # Binaries
-  
-  SetOutPath "$INSTDIR\bin"
-
-  # launcher becomes lyx.exe while the real lyx.exe is renamed to lyxc.exe
-  File "${FILES_LAUNCHER}\lyx.exe"
-  File /oname=lyxc.exe "${FILES_LYX}\bin\lyx.exe"
-  
-  # The macros are defined in filelists.nsh
-  # the parameters are COMMAND DIRECTORY that form command '${COMMAND} "${DIRECTORY}files"
-  !insertmacro FileListLyXBin File "${FILES_LYX}\bin\"
-  !insertmacro FileListQtBin File "${FILES_QT}\bin\"
-  
-  !insertmacro FileListDllMSVCBin File "${FILES_DEPS}\bin\"
-  !insertmacro FileListMSVCBin File "${FILES_MSVC}\"
-  !insertmacro FileListMSVCManifest File "..\"    
-
-  !insertmacro FileListNetpbmBin File "${FILES_NETPBM}\"
-  !insertmacro FileListDvipostBin File "${FILES_DVIPOST}\"
-  !insertmacro FileListDTLBin File "${FILES_DTL}\"
-  !insertmacro FileListPDFViewBin File "${FILES_PDFVIEW}\"
-  !insertmacro FileListPDFToolsBin File "${FILES_PDFTOOLS}\"
-
-  # Icons
-  
-  SetOutPath "$INSTDIR\bin"
-  !insertmacro FileListLyXIcons File "${FILES_ICONS}\"
-
-  # Resources
-  
-  SetOutPath "$INSTDIR"
-  # recursively copy all files under Resources
-  File /r "${FILES_LYX}\Resources"
-  
-  #Components of Python
-  
-  SetOutPath "$INSTDIR\python"
-  !insertmacro FileListPythonBin File "${FILES_PYTHON}\"
-  !insertmacro FileListPythonDll File "$%SystemRoot%\System32\"
-  !insertmacro FileListUnicodeDll File "${FILES_PYTHON}\DLLs\"
-  SetOutPath "$INSTDIR\python\Lib"
-  !insertmacro FileListPythonLib File "${FILES_PYTHON}\Lib\"
-  SetOutPath "$INSTDIR\python\Lib\encodings"
-  !insertmacro FileListPythonLibEncodings File "${FILES_PYTHON}\Lib\encodings\"
-  
-  # Aspell
-
-  # copy installer to pluginsdir (a temp dir)
-  File /oname=$PLUGINSDIR\AspellData.exe "${FILES_ASPELLDATA}\AspellData.exe"
-
-  # silently install AspellData.exe (/S option)
-  ${if} $CurrentUserInstall == ${TRUE}
-    ExecWait '"$PLUGINSDIR\AspellData.exe" /S /CurrentUser'
-  ${else}
-    ExecWait '"$PLUGINSDIR\AspellData.exe" /S /AllUsers'
-  ${endif}
-
-  # remove the installer
-  Delete "$PLUGINSDIR\AspellData.exe"
-
-  # Aiksarus data
-  
-  SetOutPath "$INSTDIR\aiksaurus"
-  !insertmacro FileListAiksaurusData File "${FILES_AIKSAURUS}\"
-  
-  # Helper DLLs for NSIS-based tools
-  
-  SetOutPath "$INSTDIR\bin"
-  !insertmacro FileListNSISPluginsStandard File "${NSISDIR}\Plugins\"
-  !insertmacro FileListNSISPlugins File "${FILES_NSISPLUGINS}\"
-  
-  # Create uninstaller
-  WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
-
-SectionEnd
diff --git a/development/Win32/packaging/installer/components/dicts.nsh b/development/Win32/packaging/installer/components/dicts.nsh
deleted file mode 100644 (file)
index a8c57fc..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-
-Aspell dictionaries
-
-*/
-
-#--------------------------------
-#Macros
-
-!macro Dictionary FILE LANGNAME LANGCODE SIZE
-
-  Section /o "${LANGNAME}"
-  
-    AddSize ${SIZE}
-  
-    Push ${LANGCODE}
-    Push "${LANGNAME}"
-    Push ${FILE}
-    
-    Call DownloadDictionary
-    
-  SectionEnd
-  
-!macroend
-
-#--------------------------------
-#Sections
-
-Section -AspellDicts
-
-  Call GetAspellHive
-  Pop $AspellHive
-
-SectionEnd
-
-!define DICT '!insertmacro Dictionary'
-
-${DICT} af-0.50-0 "Afrikaans" af 915
-${DICT} ar-1.2-0 "Arabic" ar 4352
-${DICT} nb-0.50.1-0 "Bokmål" nb 3031
-${DICT} bg-4.0-0 "Bulgarian" bg 5345
-${DICT} ca-20040130-1 "Català" ca 1095
-${DICT} cs-20040614-1 "Ce\9atina" cs 2069
-${DICT} da-1.4.42-1 "Dansk" da 3036
-${DICT} de-20030222-1 "Deutsch" de 2872
-${DICT} en-6.0-0 "English" en 1130
-${DICT} es-0.50-2 "Español" es 2953
-${DICT} eo-0.50-2 "Esperanto" eo 3773
-${DICT} et-0.1.21-1 "Estonian" et 922
-${DICT} fr-0.50-3 "Français" fr 4331
-${DICT} gl-0.50-0 "Galego" gl 2974
-${DICT} el-0.50-3 "Greek" el 3204
-${DICT} he-1.0-0 "Hebrew" he 2024
-${DICT} hr-0.51-0 "Hrvatski" hr 1967
-${DICT} is-0.51.1-0 "Íslenska" is 1536
-${DICT} it-2.2_20050523-0 "Italiano" it 696
-${DICT} hu-0.99.4.2-0 "Magyar" hu 1608
-${DICT} nl-opentaal200711 "Nederlands" nl 1333
-${DICT} nn-0.50.1-1 "Nynorsk" nn 1930
-${DICT} fa-0.11-0 "Persian" fa 1667
-${DICT} pl-6.0_20061121-0 "Polski" pl 1859
-${DICT} pt_PT-20070510-0 "Português" pt_PT 319
-${DICT} pt_BR-20070411-0 "Português do Brasil" pt_BR 2453
-${DICT} ro-0.50-2 "Româna" ro 341
-${DICT} ru-0.99f7-1 "Russian" ru 1458
-${DICT} gd-0.1.1-1 "Scottish" gd 194
-${DICT} sr-0.02 "Serbian" sr 3686
-${DICT} sk-0.52-0 "Slovencina" sk 4602
-${DICT} sl-0.50-0 "Sloven\9acina" sl 5236
-${DICT} fi-0.7-0 "Suomi" fi 659
-${DICT} sv-0.51-0 "Svenska" sv 1029
-${DICT} tr-0.50-0 "Türkçe" tr 547
-${DICT} uk-1.4.0-0 "Ukrainian" uk 770
-${DICT} cy-0.50-3 "Welsh" cy 1771
-
-#--------------------------------
-#Functions
-
-Function GetAspellHive
-
-  #Check whether the system or local version of Aspell should be used
-  #The patched Aspell uses the same logic
-
-  Push $R0
-
-  ReadRegStr $R0 HKCU "Software\Aspell" "Base Path"
-
-  ${if} $R0 == ""
-    StrCpy $R0 HKLM
-  ${else}
-    StrCpy $R0 HKCU
-  ${endif}
-
-  Exch $R0
-
-FunctionEnd
-
-Function DownloadDictionary
-
-  Exch $R0
-  Exch 1
-  Exch $R1
-  Exch 2
-  Exch $R2
-  Push $R3
-
-  dict_download:
-
-    !insertmacro DownloadFile $R3 ASPELLDICTS aspell6-$R0.exe /aspell6-$R0.exe
-
-    ${if} $R3 != "OK"
-      #Download failed
-      MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_DICT) ($R3)" IDYES dict_download
-      Goto dict_noinstall
-    ${endif}
-
-    install_dict:
-
-      ExecWait '"$PLUGINSDIR\aspell6-$R0.exe" /NoDirChange /AutoClose'
-
-      ${if} $AspellHive == HKLM
-        ReadRegStr $R3 HKLM "Software\Aspell\Dictionaries" $R2
-      ${else}
-           ReadRegStr $R3 HKCU "Software\Aspell\Dictionaries" $R2
-      ${endif}
-
-           ${if} $R3 == ""
-        MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_NOTINSTALLED_DICT)" IDYES install_dict
-      ${endif}
-
-      Delete "$PLUGINSDIR\aspell6-$R0.exe"
-
-    dict_noinstall:
-
-  Pop $R3
-  Pop $R2
-  Pop $R1
-  Pop $R0
-
-FunctionEnd
diff --git a/development/Win32/packaging/installer/components/external.nsh b/development/Win32/packaging/installer/components/external.nsh
deleted file mode 100644 (file)
index 0ac4109..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-
-External Components: MiKTeX, ImageMagick, Ghostscript
-
-*/
-
-#--------------------------------
-#Macros
-
-!macro SetComponentState VAR COMPONENT
-
-  ${if} ${VAR} == "1"
-  
-    StrCpy $Setup${COMPONENT} ${TRUE}
-    
-    StrCpy $R1 $Size${COMPONENT}
-    
-    ${if} $Path${COMPONENT} == ""
-      #Add size of component itself
-      IntOp $R1 $R1 + ${SIZE_${COMPONENT}}
-    ${endif}
-    
-    SectionSetSize ${External${COMPONENT}} $R1
-    
-  ${else}
-  
-    StrCpy $Setup${COMPONENT} ${FALSE}
-    SectionSetSize ${External${COMPONENT}} 0
-    
-  ${endif}
-
-!macroend
-
-!macro ExternalComponent COMPONENT
-
-  #Action depending on type of installer
-  
-  ${if} $Setup${component} == ${TRUE}
-  
-    StrCpy $Path${component} "" ;A new one will be installed
-  
-    !ifndef SETUPTYPE_BUNDLE
-      !insertmacro DownloadComponent ${component}
-    !else
-      !insertmacro InstallComponent ${component}
-    !endif
-    
-  ${endif}
-
-!macroend
-
-!macro SetupComponent COMPONENT
-
-  #Run the setup application for a component
-
-  install_${COMPONENT}:
-      
-    ExecWait '"$PLUGINSDIR\${COMPONENT}Setup.exe"'
-    Call UpdatePathEnvironment
-    Call Search${COMPONENT}
-    
-    ${if} $Path${COMPONENT} == ""  
-      MessageBox MB_YESNO|MB_ICONEXCLAMATION $(TEXT_NOTINSTALLED_${COMPONENT}) IDYES install_${COMPONENT}
-    ${endif}
-      
-    Delete "$PLUGINSDIR\${COMPONENT}Setup.exe"
-     
-!macroend
-
-!ifndef SETUPTYPE_BUNDLE
-
-  !macro DownloadComponent COMPONENT
-
-    download_${COMPONENT}:
-
-      !insertmacro DownloadFile $R0 "${COMPONENT}" "${COMPONENT}Setup.exe" ""
-      ${if} $R0 != "OK"
-        #Download failed
-        MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_${COMPONENT}) ($R0)" IDYES download_${COMPONENT}
-        Goto noinstall_${COMPONENT}
-      ${endif}
-      
-      !insertmacro SetupComponent ${COMPONENT}
-      
-    noinstall_${COMPONENT}:
-
-  !macroend
-
-!else
-
-  !macro InstallComponent COMPONENT
-
-    #Extract
-    File /oname=$PLUGINSDIR\${COMPONENT}Setup.exe ${FILES_BUNDLE}\${INSTALL_${COMPONENT}}
-    
-    !insertmacro SetupComponent ${COMPONENT}
-    
-  !macroend
-
-!endif
-
-!macro DialogExternalControl component
-
-  #Enable/disable the DirRequest control
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${component}.ini" "Field 3" "State"
-  !insertmacro MUI_INSTALLOPTIONS_READ $R1 "external_${component}.ini" "Field 4" "HWND"
-  EnableWindow $R1 $R0
-  !insertmacro MUI_INSTALLOPTIONS_READ $R1 "external_${component}.ini" "Field 4" "HWND2"
-  EnableWindow $R1 $R0
-
-!macroend
-
-!macro DialogExternalShow COMPONENT
-
-  !insertmacro MUI_HEADER_TEXT $(TEXT_EXTERNAL_${COMPONENT}_TITLE) $(TEXT_EXTERNAL_${COMPONENT}_SUBTITLE)
-  !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "external_${COMPONENT}.ini"
-  !insertmacro DialogExternalControl ${COMPONENT}
-  !insertmacro MUI_INSTALLOPTIONS_SHOW
-
-!macroend
-
-!macro DialogExternalValidate COMPONENT
-
-  Push $R0
-  Push $R1
-  
-  #Next button pressed?
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${COMPONENT}.ini" "Settings" "State"
-  ${if} $R0 != "0"
-    !insertmacro DialogExternalControl ${COMPONENT}
-    Abort
-  ${endif}
-  
-  #Download?
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${COMPONENT}.ini" "Field 2" "State"
-  !insertmacro SetComponentState $R0 ${COMPONENT}
-  
-  #Folder?
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${COMPONENT}.ini" "Field 3" "State"
-  
-  ${if} $R0 == "1"
-    !insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${COMPONENT}.ini" "Field 4" "State"
-    ${unless} ${FileExists} "$R0\${BIN_${COMPONENT}}"
-      MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_EXTERNAL_${COMPONENT}_NOTFOUND)
-      Abort
-    ${endif}
-    StrCpy $Path${component} $R0
-  ${endif}
-
-  Pop $R1
-  Pop $R0
-
-!macroend
-
-#--------------------------------
-#Sections
-
-Section -LaTeX ExternalLaTeX
-  !insertmacro ExternalComponent LaTeX
-SectionEnd
-
-Section -ImageMagick ExternalImageMagick
-  !insertmacro ExternalComponent ImageMagick
-SectionEnd
-
-Section -Ghostscript ExternalGhostscript
-  !insertmacro ExternalComponent Ghostscript
-SectionEnd
-
-#--------------------------------
-#Functions
-
-Function InitSizeExternal
-
-  #Get sizes of external component installers
-  
-  SectionGetSize ${ExternalLaTeX} $SizeLaTeX
-  SectionGetSize ${ExternalImageMagick} $SizeImageMagick
-  SectionGetSize ${ExternalGhostscript} $SizeGhostscript
-  
-  !ifndef SETUPTYPE_BUNDLE
-    #Add download size
-    IntOp $SizeLaTeX $SizeLaTeX + ${SIZE_DOWNLOAD_LATEX}
-    IntOp $SizeImagemagick $SizeImagemagick + ${SIZE_DOWNLOAD_IMAGEMAGICK}
-    IntOp $SizeGhostscript $SizeGhostscript + ${SIZE_DOWNLOAD_GHOSTSCRIPT}
-  !endif
-  
-FunctionEnd
-
-#--------------------------------
-#Page functions
-
-Function PageExternalLaTeX
-  !insertmacro DialogExternalShow LaTeX
-FunctionEnd
-
-Function PageExternalLaTeXValidate
-  !insertmacro DialogExternalValidate LaTeX
-FunctionEnd
-
-Function PageExternalImageMagick
-  !insertmacro DialogExternalShow ImageMagick
-FunctionEnd
-
-Function PageExternalImageMagickValidate
-  !insertmacro DialogExternalValidate ImageMagick
-FunctionEnd
-
-Function PageExternalGhostscript
-  !insertmacro DialogExternalShow Ghostscript
-FunctionEnd
-
-Function PageExternalGhostscriptValidate
-  !insertmacro DialogExternalValidate Ghostscript
-FunctionEnd
diff --git a/development/Win32/packaging/installer/components/langselect.nsh b/development/Win32/packaging/installer/components/langselect.nsh
deleted file mode 100644 (file)
index 9fc8149..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-
-Selection of language for LyX interface
-
-*/
-
-#--------------------------------
-#Macros
-
-!macro SetSystemLangItem VAR LANGNAME LANGISOCODE LANGID
-
-  ${if} ${VAR} == ${LANGID}
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "State" "${LANGNAME}"
-  ${endif}
-
-!macroend
-
-!macro SetSystemLang VAR
-
-  !insertmacro LanguageList '!insertmacro SetSystemLangItem ${VAR}'
-  
-!macroend
-
-!macro GetISOLangCodeItem VAR_LANGNAME VAR_LANGISOCODE LANGNAME LANGISOCODE LANGID
-
-  ${if} ${VAR_LANGNAME} == "${LANGNAME}"
-    StrCpy ${VAR_LANGISOCODE} "${LANGISOCODE}"
-  ${endif}
-  
-!macroend
-
-!macro GetISOLangCode VAR_LANGNAME VAR_LANGISOCODE
-
-  #Get the language code for the selected language name
-
-  !insertmacro LanguageList '!insertmacro GetISOLangCodeItem ${VAR_LANGNAME} ${VAR_LANGISOCODE}'
-
-!macroend
-
-#--------------------------------
-#Functions
-
-Function InitLanguage
-
-  #Set the default for the language selection dialog to the Windows language
-
-  System::Call "kernel32::GetUserDefaultUILanguage()i.R0"
-  !insertmacro SetSystemLang $R0
-  
-FunctionEnd
-
-#--------------------------------
-#Page functions
-
-Function PageLanguage
-
-  !insertmacro MUI_HEADER_TEXT "$(TEXT_LANGUAGE_TITLE)" "$(TEXT_LANGUAGE_SUBTITLE)"
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "langselect.ini"
-FunctionEnd
-
-Function PageLanguageValidate
-
-  !insertmacro MUI_INSTALLOPTIONS_READ $LangName "langselect.ini" "Field 2" "State"
-  !insertmacro GetISOLangCode $LangName $LangISOCode
-  
-FunctionEnd
\ No newline at end of file
diff --git a/development/Win32/packaging/installer/components/reinstall.nsh b/development/Win32/packaging/installer/components/reinstall.nsh
deleted file mode 100644 (file)
index 7464fbc..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-
-Reinstall options
-
-*/
-
-#--------------------------------
-#Page functions
-
-Function PageReinstall
-
-  # Check whether this version is already installed
-  # If so, some registry key like Software/lyx15 should exist
-
-  ReadRegStr $R0 SHELL_CONTEXT ${APP_REGKEY} "Version"
-
-  ${if} $R0 != "${APP_VERSION}"
-    Abort
-  ${endif}
-
-  !insertmacro MUI_HEADER_TEXT $(TEXT_REINSTALL_TITLE) $(TEXT_REINSTALL_SUBTITLE)
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "reinstall.ini"
-
-FunctionEnd
-
-Function PageReinstallValidate
-
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "reinstall.ini" "Field 2" "State"
-
-  # if re-installation, hide many sections
-  # FIXME: where is SelectSection defined?
-  ${if} $R0 == "1"
-    !insertmacro SelectSection ${SecCore}
-  ${else}
-    !insertmacro UnselectSection ${SecCore}
-  ${endif}
-
-FunctionEnd
diff --git a/development/Win32/packaging/installer/components/uninstall.nsh b/development/Win32/packaging/installer/components/uninstall.nsh
deleted file mode 100644 (file)
index 0a01f28..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-
-Uninstaller
-
-*/
-
-#--------------------------------
-#Sections
-
-Section "un.Program Files" un.SecProgramFiles
-
-  #Binaries
-  
-  Delete "$INSTDIR\bin\lyx.exe"
-  Delete "$INSTDIR\bin\lyxc.exe"
-  !insertmacro FileListLyXBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListQtBin Delete "$INSTDIR\bin\"
-  
-  !insertmacro FileListDllMSVCBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListMSVCBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListMSVCManifest Delete "$INSTDIR\bin\"
-
-  !insertmacro FileListNetpbmBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListDvipostBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListDTLBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListPDFToolsBin Delete "$INSTDIR\bin\"
-  !insertmacro FileListPDFViewBin Delete "$INSTDIR\bin\"
-  
-  #Icons
-  
-  !insertmacro FileListLyXIcons Delete "$INSTDIR\bin\"  
-  
-  #Resources
-  
-  RMDir /r "$INSTDIR\Resources"
-  
-  #Components of Python
-  
-  RMDir /r "$INSTDIR\python"
-  
-  #Aiksaurus Data
-  
-  !insertmacro FileListAiksaurusData Delete "$INSTDIR\aiksaurus\"
-  RMDir "$INSTDIR\aiksaurus"
-  
-  #Helper DLLs for NSIS-based tools
-
-  !insertmacro FileListNSISPluginsStandard Delete "$INSTDIR\bin\"
-  !insertmacro FileListNSISPlugins Delete "$INSTDIR\bin\"   
-  
-  #Shortcuts
-  
-  Delete "$SMPROGRAMS\${APP_NAME} ${APP_SERIES_NAME}.lnk"
-  Delete "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
-
-  #Uninstaller itself
-  
-  Delete "$INSTDIR\${SETUP_UNINSTALLER}"
-  RMDir "$INSTDIR\bin"
-  
-  #Application folder
-  
-  SetOutPath "$PROGRAMFILES"
-  RMDir "$INSTDIR"
-  
-  #Registry keys
-  
-  DeleteRegKey SHELL_CONTEXT "${APP_REGKEY_SETUP}"
-  DeleteRegKey SHELL_CONTEXT "${APP_REGKEY}"
-  DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_REGNAME_DOC}"
-  DeleteRegKey SHELL_CONTEXT "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"
-  
-  #File associations
-  
-  ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""
-  
-  ${if} $R0 == "${APP_REGNAME_DOC}"
-     DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_EXT}"
-  ${endif}
-  
-SectionEnd
-
-Section "un.User Preferences and Custom Files" un.SecUserFiles
-
-  SetShellVarContext current
-  RMDir /r "$APPDATA\${APP_DIR_USERDATA}"
-  
-SectionEnd
diff --git a/development/Win32/packaging/installer/components/user.nsh b/development/Win32/packaging/installer/components/user.nsh
deleted file mode 100644 (file)
index dc6b324..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-
-Install type setting (current user/all users)
-
-*/
-
-#--------------------------------
-#Macros
-
-# COMPONENT can be LaTeX ImageMagick and Ghostscript
-!macro GetDirExternal COMPONENT
-
-  # APP_REGKEY_SETUP = "Software\${APP_NAME}${APP_SERIES_KEY}\Setup"
-  # where ${APP_NAME}${APP_SERIES_KEY} is something like LyX15
-  ReadRegStr $R0 SHELL_CONTEXT "${APP_REGKEY_SETUP}" "${COMPONENT} Path"
-  
-  # BIN_LATEX etc are defined in settings.nsh
-  ${if} ${FileExists} "$R0\${BIN_${COMPONENT}}"
-
-    ${if} $R0 != ""
-      # define variables like PathLATEX
-      StrCpy $Path${COMPONENT} $R0
-    ${endif}
-  
-  ${endif}
-
-!macroend
-
-#--------------------------------
-#Functions
-
-Function InitUser
-
-  #Get directories from registry
-
-  ReadRegStr $R0 SHELL_CONTEXT "${APP_REGKEY}" ""
-  
-  ${if} $R0 != ""
-    StrCpy $INSTDIR $R0
-  ${endif}
-
-  !insertmacro GetDirExternal LaTeX
-  !insertmacro GetDirExternal ImageMagick
-  !insertmacro GetDirExternal Ghostscript
-  
-  # Set directories in dialogs
-  # Macro defined in include/gui.sh, parameters are COMPONENT CURRENTUSER_POSSIBLE
-  !insertmacro InitDialogExternalDir latex ${TRUE}
-  !insertmacro InitDialogExternalDir imagemagick ${FALSE}
-  !insertmacro InitDialogExternalDir ghostscript ${FALSE}
-  
-  #Get LyX language
-  
-  ReadRegStr $R0 SHELL_CONTEXT "${APP_REGKEY_SETUP}" "LyX Language"
-  
-  ${if} $R0 != ""
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "State" $R0
-  ${endif}
-  
-FunctionEnd
-
-#--------------------------------
-#Page functions
-
-Function PageUser
-
-  #Only show page if installing for all users is possible
-  ${if} $AdminOrPowerUser == ${FALSE}
-    Call InitUser
-    Abort
-  ${endif}
-  
-  !insertmacro MUI_HEADER_TEXT $(TEXT_USER_TITLE) $(TEXT_USER_SUBTITLE)
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "user.ini"
-
-FunctionEnd
-
-Function PageUserValidate
-  
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "user.ini" "Field 2" "State"
-  
-  # shell var context is important because it determines the actual
-  # meaning of variables like $DESKTOP
-  ${if} $R0 == "1"
-    SetShellVarContext all
-    StrCpy $CurrentUserInstall ${FALSE}
-  ${else}
-    SetShellVarContext current
-    StrCpy $CurrentUserInstall ${TRUE}
-  ${endif}
-  
-  Call InitUser
-  
-FunctionEnd
diff --git a/development/Win32/packaging/installer/components/viewer.nsh b/development/Win32/packaging/installer/components/viewer.nsh
deleted file mode 100644 (file)
index 0fed052..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-
-Option to download GSView (PDF/Postscript viewer)
-
-*/
-
-#--------------------------------
-#Sections
-
-Section -Viewer ExternalViewer
-  !insertmacro ExternalComponent Viewer
-SectionEnd
-
-#--------------------------------
-#Functions
-
-Function InitSizeViewer
-
-  #Get size of viewer installer
-  SectionGetSize ${ExternalViewer} $SizeViewer
-  
-  !ifndef SETUPTYPE_BUNDLE
-    #Add download size
-    IntOp $SizeViewer $SizeViewer + ${SIZE_DOWNLOAD_VIEWER}
-  !endif
-  
-FunctionEnd
-
-#--------------------------------
-#Page functions
-
-Function PageViewer
-
-  #Show page if no viewer is installed, the user has Power User or Administrator priviledges and
-  #Ghostscript is installed or will be installed
-
-  ${if} $AdminOrPowerUser == ${FALSE}
-  ${orif} $PathViewer == "associated"
-    Abort
-  ${endif}
-
-  ${if} $PathGhostscript == ""
-  ${andif} $SetupGhostscript == ${FALSE}
-    !insertmacro SetComponentState $R0 Viewer
-    Abort
-  ${endif}
-
-  !insertmacro MUI_HEADER_TEXT $(TEXT_VIEWER_TITLE) $(TEXT_VIEWER_SUBTITLE)
-  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "viewer.ini"
-
-FunctionEnd
-
-Function PageViewerValidate
-
-  #Download?
-  !insertmacro MUI_INSTALLOPTIONS_READ $R0 "viewer.ini" "Field 2" "State"
-  !insertmacro SetComponentState $R0 Viewer
-
-FunctionEnd
diff --git a/development/Win32/packaging/installer/dialogs/external.ini b/development/Win32/packaging/installer/dialogs/external.ini
deleted file mode 100644 (file)
index 3032ae0..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-[Settings]
-NumFields=6
-
-[Field 1]
-Type=Label
-Left=0
-Top=0
-Right=300
-Bottom=40
-Text=###TEXT_EXTERNAL_INFO###
-
-[Field 2]
-Type=RadioButton
-Left=0
-Top=40
-Right=300
-Bottom=51
-Text=###TEXT_EXTERNAL_DOWNLOAD###
-Flags=NOTIFY
-
-[Field 3]
-Type=RadioButton
-Left=0
-Top=60
-Right=300
-Bottom=70
-Text=###TEXT_EXTERNAL_FOLDER###
-Flags=NOTIFY
-
-[Field 4]
-Type=DirRequest
-Left=10
-Top=80
-Right=300
-Bottom=93
-Flags=NOTIFY
-
-[Field 6]
-Type=RadioButton
-Left=0
-Top=120
-Right=300
-Bottom=130
-Text=###TEXT_EXTERNAL_NONE###
-Flags=NOTIFY
-[Field 5]
-Type=Label
-Left=10
-Top=100
-Right=290
-Bottom=110
-Text=###TEXT_EXTERNAL_FOLDER_INFO###
diff --git a/development/Win32/packaging/installer/dialogs/langselect.ini b/development/Win32/packaging/installer/dialogs/langselect.ini
deleted file mode 100644 (file)
index a6c2420..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-[Settings]
-NumFields=2
-
-[Field 1]
-Type=Label
-Left=0
-Top=0
-Right=300
-Bottom=40
-Text=###TEXT_LANGUAGE_INFO###
-
-[Field 2]
-Type=DropList
-Left=0
-Top=40
-Right=110
-Bottom=140
-ListItems=
diff --git a/development/Win32/packaging/installer/dialogs/reinstall.ini b/development/Win32/packaging/installer/dialogs/reinstall.ini
deleted file mode 100644 (file)
index 20546a0..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-[Settings]
-NumFields=2
-
-[Field 1]
-Type=Label
-Left=0
-Top=0
-Right=300
-Bottom=60
-Text=###TEXT_REINSTALL_INFO###
-
-[Field 2]
-Type=CheckBox
-Left=20
-Top=60
-Right=300
-Bottom=69
-Text=###TEXT_REINSTALL_ENABLE###
diff --git a/development/Win32/packaging/installer/dialogs/user.ini b/development/Win32/packaging/installer/dialogs/user.ini
deleted file mode 100644 (file)
index 1f2ff78..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-[Settings]
-NumFields=3
-
-[Field 1]
-Type=Label
-Left=0
-Top=0
-Right=300
-Bottom=50
-Text=###TEXT_USER_INFO###
-
-[Field 3]
-Type=RadioButton
-Left=20
-Top=70
-Right=300
-Bottom=81
-Text=###TEXT_USER_CURRENT###
-State=
-[Field 2]
-Type=RadioButton
-Left=20
-Top=50
-Right=300
-Bottom=61
-Text=###TEXT_USER_ALL#
-State=
diff --git a/development/Win32/packaging/installer/dialogs/viewer.ini b/development/Win32/packaging/installer/dialogs/viewer.ini
deleted file mode 100644 (file)
index ca478f9..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-[Settings]
-NumFields=2
-
-[Field 1]
-Type=Label
-Left=0
-Top=0
-Right=300
-Bottom=60
-Text=###TEXT_VIEWER_INFO###
-
-[Field 2]
-Type=CheckBox
-Left=20
-Top=60
-Right=300
-Bottom=69
-Text=###TEXT_VIEWER_DOWNLOAD###
-State=1
index 7323ccf861f84e6c2a5e9a794c3d88793174743c..262387e9443f50ca2911f1141405dc6a2702241d 100644 (file)
Binary files a/development/Win32/packaging/installer/graphics/header.bmp and b/development/Win32/packaging/installer/graphics/header.bmp differ
index a7df8eda40daeb536dbaff720402ea64e1716485..0de0f5ce323b73cfb3d8ab40ea9828d6f7ece15d 100644 (file)
Binary files a/development/Win32/packaging/installer/graphics/wizard.bmp and b/development/Win32/packaging/installer/graphics/wizard.bmp differ
diff --git a/development/Win32/packaging/installer/gui/external.nsh b/development/Win32/packaging/installer/gui/external.nsh
new file mode 100644 (file)
index 0000000..724c854
--- /dev/null
@@ -0,0 +1,216 @@
+/*
+
+external.nsh
+
+Installation of external components: MiKTeX, ImageMagick, Ghostscript
+Either an existing installation can be used or a the components can be
+downloaded or installed (depending on the type of installer)
+
+*/
+
+Var ExternalPage
+Var ExternalPage.Info
+Var ExternalPage.Setup
+Var ExternalPage.Existing
+Var ExternalPage.Folder
+Var ExternalPage.Folder_Text
+Var ExternalPage.FolderBrowse
+Var ExternalPage.FolderInfo
+Var ExternalPage.NoInstall
+
+Var ExternalPage.RadioButton.Click
+Var ExternalPage.FolderBrowse.Click
+
+Var LaTeXState
+Var LaTeXSetup.State
+Var LaTeXExisting.State
+Var LaTeXNoInstall.State
+
+Var ImageMagickState
+Var ImageMagickSetup.State
+Var ImageMagickExisting.State
+Var ImageMagickNoInstall.State
+
+Var GhostscriptState
+Var GhostscriptSetup.State
+Var GhostscriptExisting.State
+Var GhostscriptNoInstall.State
+
+Var ControlState
+Var ComponentSize
+
+!macro EXTERNAL_SHOWDIALOG COMPONENT
+
+  # Build the dialog
+
+  !insertmacro MUI_HEADER_TEXT $(TEXT_EXTERNAL_${COMPONENT}_TITLE) $(TEXT_EXTERNAL_${COMPONENT}_SUBTITLE)
+  
+  GetFunctionAddress $ExternalPage.RadioButton.Click ExternalRadioButtonClick
+  GetFunctionAddress $ExternalPage.FolderBrowse.Click ExternalFolderBrowseClick
+
+  nsDialogs::Create /NOUNLOAD 1018
+  Pop $ExternalPage
+
+  ${NSD_CreateLabel} 0u 0u 300u 20u $(TEXT_EXTERNAL_${COMPONENT}_INFO_${SETUPTYPE_NAME})
+  Pop $ExternalPage.Info
+
+  ${NSD_CreateRadioButton} 0u 40u 300u 10u $(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME})
+  Pop $ExternalPage.Setup
+  nsDialogs::OnClick /NOUNLOAD $ExternalPage.Setup $ExternalPage.RadioButton.Click
+  
+  ${NSD_CreateRadioButton} 0u 60u 300u 10u $(TEXT_EXTERNAL_${COMPONENT}_FOLDER)
+  Pop $ExternalPage.Existing
+  nsDialogs::OnClick /NOUNLOAD $ExternalPage.Existing $ExternalPage.RadioButton.Click
+  
+  ${NSD_CreateText} 10u 75u 255u 12u $Path${COMPONENT}
+  Pop $ExternalPage.Folder
+  ${NSD_CreateBrowseButton} 270u 75u 20u 12u ...
+  Pop $ExternalPage.FolderBrowse
+  nsDialogs::OnClick /NOUNLOAD $ExternalPage.FolderBrowse $ExternalPage.FolderBrowse.Click
+  
+  ${NSD_CreateLabel} 5u 95u 295u 10u $(TEXT_EXTERNAL_${COMPONENT}_FOLDER_INFO)
+  Pop $ExternalPage.FolderInfo
+  
+  ${NSD_CreateRadioButton} 0u 115u 300u 10u $(TEXT_EXTERNAL_${COMPONENT}_NONE)
+  Pop $ExternalPage.NoInstall
+  nsDialogs::OnClick /NOUNLOAD $ExternalPage.NoInstall $ExternalPage.RadioButton.Click
+  
+  # Set the state of the controls to the previous user selection (or the default)
+
+  ${If} $${COMPONENT}State == ""
+    # Page is displayed for the first time, set the default
+    ${If} $Path${COMPONENT} == ""
+    !if ${COMPONENT} != LaTeX
+    # ImageMagick and Ghostscript require Administrator or
+    # power user privileges for installation
+    ${andif} $MultiUser.Privileges != "User"
+    ${andif} $MultiUser.Privileges != "Guest"
+    !endif    
+      ${NSD_SetState} $ExternalPage.Setup ${BST_CHECKED}
+    ${Else}
+      ${NSD_SetState} $ExternalPage.Existing ${BST_CHECKED}
+    ${EndIf}
+  ${Else} 
+    ${NSD_SetState} $ExternalPage.Setup $${COMPONENT}Setup.State
+    ${NSD_SetState} $ExternalPage.Existing $${COMPONENT}Existing.State
+    ${NSD_SetState} $ExternalPage.NoInstall $${COMPONENT}NoInstall.State
+  ${EndIf}
+  
+  Call ExternalRadioButtonClick
+  
+  nsDialogs::Show
+
+!macroend
+
+!macro EXTERNAL_VALIDATEDIALOG COMPONENT
+
+  # Save state of controls
+  StrCpy $${COMPONENT}State saved
+  ${NSD_GetState} $ExternalPage.Setup $${COMPONENT}Setup.State
+  ${NSD_GetState} $ExternalPage.Setup $${COMPONENT}Setup.State
+  ${NSD_GetState} $ExternalPage.Existing $${COMPONENT}Existing.State
+  ${NSD_GetState} $ExternalPage.NoInstall $${COMPONENT}NoInstall.State
+  
+  ${If} $${COMPONENT}Setup.State = ${BST_CHECKED}
+    
+    StrCpy $Setup${COMPONENT} ${TRUE}
+    
+    # Download or install, so we need hard drive space
+    
+    # Add size of component installer
+    StrCpy $ComponentSize $Size${COMPONENT}
+    
+    ${If} $Path${COMPONENT} == ""
+      # Not yet installed, add size of component itself
+      IntOp $ComponentSize $ComponentSize + ${SIZE_${COMPONENT}}
+    ${EndIf}
+    
+    SectionSetSize ${External${COMPONENT}} $ComponentSize
+    
+  ${Else}
+    
+    # No setup
+    
+    StrCpy $Setup${COMPONENT} ${FALSE}
+    SectionSetSize ${External${COMPONENT}} 0
+  
+  ${EndIf}
+  
+  ${If} $${COMPONENT}Existing.State = ${BST_CHECKED}
+  
+    # Update location of component
+    
+    ${NSD_GetText} $ExternalPage.Folder $ExternalPage.Folder_Text
+    
+    # Verify whether the path exists
+    
+    ${IfNot} ${FileExists} "$ExternalPage.Folder_Text\${BIN_${COMPONENT}}"
+      MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_EXTERNAL_${COMPONENT}_NOTFOUND)
+      Abort # Return to allow the user to correct the location
+    ${EndIf}
+    
+    StrCpy $Path${COMPONENT} $ExternalPage.Folder_Text
+  
+  ${EndIf}
+  
+!macroend
+
+Function ExternalRadioButtonClick
+
+  # Enable the folder selection controls depending
+  # if the option to use an existing installation is selected
+
+  ${NSD_GetState} $ExternalPage.Existing $ControlState
+  
+  ${If} $ControlState = ${BST_CHECKED}
+    EnableWindow $ExternalPage.Folder 1
+    EnableWindow $ExternalPage.FolderBrowse 1
+    EnableWindow $ExternalPage.FolderInfo 1
+  ${Else}
+    EnableWindow $ExternalPage.Folder 0
+    EnableWindow $ExternalPage.FolderBrowse 0
+    EnableWindow $ExternalPage.FolderInfo 0
+  ${EndIf}
+
+FunctionEnd
+
+Function ExternalFolderBrowseClick
+
+  # Browse button clicked
+  
+  # Get current folder to set as default
+  ${NSD_GetText} $ExternalPage.Folder $ExternalPage.Folder_Text
+  
+  # Browse for new folder
+  nsDialogs::SelectFolderDialog /NOUNLOAD "" $ExternalPage.Folder_Text
+  Pop $ExternalPage.Folder_Text
+  ${NSD_SetText} $ExternalPage.Folder $ExternalPage.Folder_Text
+
+FunctionEnd
+
+# Page functions
+
+Function PageExternalLaTeX
+  !insertmacro EXTERNAL_SHOWDIALOG LaTeX
+FunctionEnd
+
+Function PageExternalLaTeXValidate
+  !insertmacro EXTERNAL_VALIDATEDIALOG LaTeX
+FunctionEnd
+
+Function PageExternalImageMagick
+  !insertmacro EXTERNAL_SHOWDIALOG ImageMagick
+FunctionEnd
+
+Function PageExternalImageMagickValidate
+  !insertmacro EXTERNAL_VALIDATEDIALOG ImageMagick
+FunctionEnd
+
+Function PageExternalGhostscript
+  !insertmacro EXTERNAL_SHOWDIALOG Ghostscript
+FunctionEnd
+
+Function PageExternalGhostscriptValidate
+  !insertmacro EXTERNAL_VALIDATEDIALOG Ghostscript
+FunctionEnd
diff --git a/development/Win32/packaging/installer/gui/langselect.nsh b/development/Win32/packaging/installer/gui/langselect.nsh
new file mode 100644 (file)
index 0000000..d8d7469
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+
+langselect.nsh
+
+Selection of language for LyX interface
+
+*/
+
+Var LangSelectPage
+Var LangSelectPage.Info
+Var LangSelectPage.DropList
+
+Var LangSystem
+
+!macro LoadLang VAR LANGNAME LANGISOCODE LANGID
+
+  ${NSD_CB_AddString} $LangSelectPage.DropList "${LANGNAME}" 
+
+!macroend
+
+!macro SetSystemLang VAR LANGNAME LANGISOCODE LANGID
+
+  ${If} ${VAR} == ${LANGID}
+    ${NSD_CB_SelectString} $LangSelectPage.DropList "${LANGNAME}" 
+  ${EndIf}
+
+!macroend
+
+!macro GetISOLangCode VAR_LANGNAME VAR_LANGISOCODE LANGNAME LANGISOCODE LANGID
+
+  ${If} ${VAR_LANGNAME} == "${LANGNAME}"
+    StrCpy ${VAR_LANGISOCODE} "${LANGISOCODE}"
+  ${EndIf}
+  
+!macroend
+
+# Page functions
+
+Function PageLanguage
+
+  # Build the dialog
+
+  !insertmacro MUI_HEADER_TEXT "$(TEXT_LANGUAGE_TITLE)" "$(TEXT_LANGUAGE_SUBTITLE)"
+  
+  nsDialogs::Create /NOUNLOAD 1018
+  Pop $LangSelectPage
+  
+  ${NSD_CreateLabel} 0u 0u 300u 20u $(TEXT_LANGUAGE_INFO)
+  Pop $LangSelectPage.Info
+  
+  ${NSD_CreateDropList} 0u 40u 110u 100u ""
+  Pop $LangSelectPage.DropList
+  
+  # Load list of languages
+  !insertmacro Languages '!insertmacro LoadLang $LangSystem'
+  
+  ${If} $LangName == ""
+    # Set the default for the language selection dialog to the Windows language
+    System::Call "kernel32::GetUserDefaultUILanguage()i.s"
+    Pop $LangSystem
+    !insertmacro Languages '!insertmacro SetSystemLang $LangSystem'
+  ${Else}
+    # Restore previous user selection
+    ${NSD_CB_SelectString} $LangSelectPage.DropList $LangName    
+  ${EndIf}
+  
+  nsDialogs::Show
+FunctionEnd
+
+Function PageLanguageValidate
+
+  ${NSD_GetText} $LangSelectPage.DropList $LangName
+  # Convert to ISO code
+  !insertmacro Languages '!insertmacro GetISOLangCode $LangName $LangISOCode'
+
+FunctionEnd
diff --git a/development/Win32/packaging/installer/gui/reinstall.nsh b/development/Win32/packaging/installer/gui/reinstall.nsh
new file mode 100644 (file)
index 0000000..81f1d0d
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+
+reinstall.nsh
+
+Verify whether the LyX version of the installer is already installed.
+If yes, ask the user whether the program files need to be reinstalled.
+
+*/
+
+Var ReinstallPage
+Var ReinstallPage.Info
+Var ReinstallPage.CheckBox
+Var ReinstallPage.CheckBox.State
+
+Var InstalledVersion
+
+# Page functions
+
+Function PageReinstall
+
+  # Check whether this version is already installed
+  # If so, some registry key like Software/Lyx16 should exist
+  ReadRegStr $InstalledVersion SHELL_CONTEXT ${APP_REGKEY} "Version"
+
+  ${If} $InstalledVersion != "${APP_VERSION}"
+    # Different version, go ahead
+    Abort
+  ${EndIf}
+  
+  # Same version is already installed, ask the user
+
+  !insertmacro MUI_HEADER_TEXT $(TEXT_REINSTALL_TITLE) $(TEXT_REINSTALL_SUBTITLE)
+  
+  # Build the dialog
+
+  nsDialogs::Create /NOUNLOAD 1018
+  Pop $ReinstallPage
+
+  ${NSD_CreateLabel} 0u 0u 300u 60u $(TEXT_REINSTALL_INFO)
+  Pop $ReinstallPage.Info
+
+  ${NSD_CreateCheckBox} 20u 60u 280u 10u $(TEXT_REINSTALL_ENABLE)
+  Pop $ReinstallPage.CheckBox
+  
+  ${If} ${SectionIsSelected} ${SecProgramFiles}
+    ${NSD_SetState} $ReinstallPage.CheckBox ${BST_CHECKED}
+  ${Else}
+    ${NSD_SetState} $ReinstallPage.CheckBox ${BST_UNCHECKED}
+  ${EndIf}
+
+  nsDialogs::Show
+
+FunctionEnd
+
+Function PageReinstallValidate
+
+  # Get state of checkbox
+  ${NSD_GetState} $ReinstallPage.CheckBox $ReinstallPage.CheckBox.State
+  
+  # Set whether the programs files need to be installed
+  ${If} $ReinstallPage.CheckBox.State = ${BST_CHECKED}
+    !insertmacro SelectSection ${SecProgramFiles}
+  ${Else}
+    !insertmacro UnselectSection ${SecProgramFiles}
+  ${EndIf}
+
+FunctionEnd
index adf23f5878891b91a32a13fd8269f3d9e4dd1fc7..594f8b1d6d15f35defb8d6a59ee92e0b554bfc59 100644 (file)
@@ -1,14 +1,13 @@
 /*
 
-Declarations
+declarations.nsh
 
-*/
+Standard header files, shared variables 
 
-!include "settings.user.nsh"
-!include "settings.nsh"
+*/
 
 #--------------------------------
-#Defines based on settings
+# Defines based on settings
 
 !ifndef SETUPTYPE_BUNDLE
   !define SETUPTYPE_NAME DOWNLOAD
@@ -17,106 +16,56 @@ Declarations
 !endif
 
 #--------------------------------
-#Standard header files
+# Multi-User settings
 
-!include "MUI.nsh"
-!include "LogicLib.nsh"
-!include "StrFunc.nsh"
-!include "FileFunc.nsh"
-!include "WordFunc.nsh"
-!include "Sections.nsh"
-!include "WinVer.nsh"
+!define MULTIUSER_EXECUTIONLEVEL Highest
+!define MULTIUSER_INSTALLMODE_COMMANDLINE
+!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "${APP_REGKEY}"
+!define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME ""
+!define MULTIUSER_INSTALLMODE_FUNCTION InitUser
+!define MULTIUSER_MUI
 
 #--------------------------------
-#Windows constants
-
-!define SHCNE_ASSOCCHANGED 0x08000000
-!define SHCNF_IDLIST 0x0000
+# Standard header files
+
+!include MUI2.nsh
+!include LogicLib.nsh
+!include StrFunc.nsh
+!include FileFunc.nsh
+!include WordFunc.nsh
+!include Sections.nsh
+!include WinVer.nsh
+!include LangFile.nsh
+!include MultiUser.nsh
+!include nsDialogs.nsh
 
 #--------------------------------
-#Windows Vista settings
-
-RequestExecutionLevel highest
+# Windows constants
 
-#--------------------------------
-#Reserve Files
-#These files should come first in the compressed data (for faster GUI)
-
-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 SHCNE_ASSOCCHANGED 0x08000000
+!define SHCNF_IDLIST 0x0000
 
 #--------------------------------
-#Variables
-
-Var AdminOrPowerUser
-Var CurrentUserInstall
+# Variables
 
 Var PathLaTeX
 Var PathImageMagick
 Var PathGhostscript
-Var PathViewer
 
 Var SetupLaTeX
 Var SetupImageMagick
 Var SetupGhostscript
-Var SetupViewer
 
 Var SizeLaTeX
 Var SizeImageMagick
 Var SizeGhostscript
-Var SizeViewer
 
 Var LangName
 Var LangISOCode
-
-Var AspellHive
   
 #--------------------------------
-#Include standard functions
-
-!insertmacro FUNCTION_STRING_StrStr
+# Include standard functions
 
 !insertmacro GetParent
 !insertmacro VersionCompare
 !insertmacro WordFind2X
-
-#--------------------------------
-#Macros  
-
-!macro ReDef NAME VALUE
-
-  #Redefine a pre-processor definition
-
-  !ifdef `${NAME}`
-    !undef `${NAME}`
-  !endif
-
-  !define `${NAME}` `${VALUE}`
-
-!macroend
-  
-!macro CallFunc FUNCTION INPUT VAROUT
-  
-  #Calls a function that modifies a single value on the stack
-
-  Push ${INPUT}
-    Call ${FUNCTION}
-  Pop ${VAROUT}
-
-!macroend
-
-#--------------------------------
-#LyX installer header files  
-
-!include "include\download.nsh"
-!include "include\init.nsh"
-!include "include\windows.nsh"
-!include "include\lang.nsh"
-!include "include\gui.nsh"
-!include "include\detection.nsh"
-!include "include\filelists.nsh"
index 3454324514268476ffbed910bf568b6ff8514ce6..740b7ae67b5509ce8eeb0ba3832b44d3b56f3749 100644 (file)
 /*
 
-Detection functions for all components
+detection.nsh
 
-*/
-
-#--------------------------------
-#Macros
-
-!macro SearchMiKTeX25
-
-  #Detect location of MiKTeX installation using initexmf
-  
-  Push $R0
-  
-  nsExec::ExecToStack "initexmf.exe --report"
-  Pop $R0 ;Return value
-  Pop $R0 ;Output
-  
-  ${WordFind2X} $R0 "BinDir: " "$\r" "+1" $PathLaTeX
-  
-  Pop $R0
-
-!macroend
-
-!macro SearchMiKTeX24 ROOTKEY
-
-  ReadRegStr $PathLaTeX ${ROOTKEY} "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root"
-  
-  ${if} $PathLaTeX != ""
-    !insertmacro callfunc TrimBackslash $PathLaTeX $PathLaTeX ;Just in case it's installed in a root directory
-    StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
-  ${endif}
-  
-!macroend
-
-!macro IfKeyExists ROOT MAIN_KEY KEY
+Detection of external component locations
 
-  Push $R0
-  Push $R1
-  !define Index 'Line${__LINE__}'
-  StrCpy $R1 0
-  "${Index}-Loop:"
-  #Check for key
-  EnumRegKey $R0 ${ROOT} "${MAIN_KEY}" "$R1"
-  StrCmp $R0 "" "${Index}-False"
-  IntOp $R1 $R1 + 1
-  StrCmp $R0 "${KEY}" "${Index}-True" "${Index}-Loop"
-  "${Index}-True:"
-  #Found
-  Push ${TRUE}
-  Goto "${Index}-End"
-  "${Index}-False:"
-  #Not found
-  Push ${FALSE}
-  goto "${Index}-End"
-  "${Index}-End:"
-  !undef Index
-  
-  Exch 2
-  Pop $R0
-  Pop $R1
-
-!macroend
-
-#--------------------------------
-#Functions
-
-Function SearchAll
+*/
 
+Function SearchExternal
   Call SearchLaTeX
   Call SearchGhostscript
   Call SearchImageMagick
-  
-  IfSilent +2
-    Call SearchViewer
-
-FunctionEnd
-
-Function TrimBackslash
-
-  #Trim a trailing backslash of a directory
-
-  Exch $R0
-  Push $R1
-  
-  StrCpy $R1 $R0 1 -1
-  
-  ${if} $R1 == "\"
-    StrLen $R1 $R0
-    IntOp $R1 $R1 - 1
-    StrCpy $R0 $R0 $R1
-  ${endif}
-  
-  Pop $R1
-  Exch $R0
-  
-FunctionEnd
-
-Function GetPathPrefix
-
-  Push $R0
-
-  StrCpy $R0 "$INSTDIR\bin;$INSTDIR\python"
-  
-  ${if} $PathLaTeX != ""
-    StrCpy $R0 "$R0;$PathLaTeX"
-  ${endif}
-  
-  ${if} $PathGhostscript != ""
-    StrCpy $R0 "$R0;$PathGhostscript"
-  ${endif}
-  
-  ${if} $PathImageMagick != ""
-    StrCpy $R0 "$R0;$PathImageMagick"
-  ${endif}
-  
-  Exch $R0
-  
 FunctionEnd
 
-Function SearchViewer
+#--------------------------------
+# MiKTeX
 
-  Push $R0
-  Push $R1
+Var ProcessReturn
+Var CommandLineOutput
+Var LastChar
+Var PathLength
 
-  !insertmacro CallFunc DetectViewerByExtension "pdf" $R0
-  !insertmacro CallFunc DetectViewerByExtension "ps" $R1
+!macro SEARCH_MIKTEX25
 
-  StrCpy $PathViewer ""
-  
-  ${if} $R0 != ""
-    ${if} $R1 != ""
-      StrCpy $PathViewer "associated"
-    ${endif}      
-  ${endif}
+  # Search location of MiKTeX installation using initexmf
+  # Works for version 2.5 and later
   
-  Pop $R1
-  Pop $R0
+  nsExec::ExecToStack "initexmf.exe --report"
+  Pop $ProcessReturn
+  Pop $CommandLineOutput
   
-FunctionEnd  
-
-Function DetectViewerByExtension
+  ${WordFind2X} $CommandLineOutput "BinDir: " "$\r" "+1" $PathLaTeX
 
-  #Input on stack: file extension without dot
+!macroend
 
-  Exch $R0
-  Push $R1
-  Push $R2
-  
-  InitPluginsDir
-  
-  StrCpy $R1 "$PLUGINSDIR\ViewerDetect.$R0"
-  FileOpen $R2 $R1 w
-  FileClose $R2
-  
-  StrCpy $R0 ""
+!macro SEARCH_MIKTEX24 ROOTKEY
 
-  System::Call "shell32::FindExecutableA(t R1, n, t .R0)"
-  
-  Delete $R1
+  ReadRegStr $PathLaTeX ${ROOTKEY} "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root"
   
-  Pop $R2
-  Pop $R1
-  Exch $R0
+  ${If} $PathLaTeX != ""
+    StrCpy $LastChar $PathLaTeX 1 -1  
+    ${If} $LastChar == "\"
+      # Trim backslash
+      StrLen $PathLength $PathLaTeX
+      IntOp $PathLength $PathLength - 1
+      StrCpy $PathLaTeX $PathLaTeX $PathLength
+    ${EndIf}
+    StrCpy $PathLaTeX "$PathLaTeX\miktex\bin"
+  ${EndIf}
   
-FunctionEnd
+!macroend
 
 Function SearchLaTeX
 
-  #Search where MikTeX is installed
+  # Search where MikTeX is installed
   
-  !insertmacro SearchMiKTeX25
+  !insertmacro SEARCH_MIKTEX25
   
-  ${unless} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
-    !insertmacro SearchMiKTeX24 HKCU
-  ${endif}
+  ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
+    !insertmacro SEARCH_MIKTEX24 HKCU
+  ${EndIf}
 
-  ${unless} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
-    !insertmacro SearchMiKTeX24 HKLM
-  ${endif}
+  ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
+    !insertmacro SEARCH_MIKTEX24 HKLM
+  ${EndIf}
 
-  ${unless} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
+  ${IfNot} ${FileExists} "$PathLaTeX\${BIN_LATEX}"
     StrCpy $PathLatex ""
-  ${endif}
+  ${EndIf}
 
 FunctionEnd
 
-Function SearchLaTeXLocalRoot
-
-  #Search for the MikTeX local root
-  #Returns value on stack
-
-  Push $R0
-  
-  #MikTeX 2.5
-  
-  !insertmacro IfKeyExists HKCU "Software\MiKTeX.org\MiKTeX" "2.5"
-  Pop $R0
-  
-  ${if} $R0 == ${FALSE}
-    !insertmacro IfKeyExists HKLM "Software\MiKTeX.org\MiKTeX" "2.5"
-    Pop $R0
-  ${endif}
-  
-  ${if} $R0 == ${TRUE}
-    StrCpy $R0 "$APPDATA\MiKTeX\2.5"
-  ${else}
-  
-    #MiKTeX 2.4
-    
-    ReadRegStr $R0 HKCU "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Local Root"
-    
-    ${unless} ${FileExists} $R0
-      ReadRegStr $R0 HKLM "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Local Root"
-    ${endif}
-    
-  ${endif}
-  
-  Exch $R0
+#--------------------------------
+# Ghostscript
 
-FunctionEnd
+Var Counter
+Var EnumReturn
+Var CompareReturn
+Var AFPLVersion
+Var GPLVersion
 
 Function SearchGhostscript
 
-  #Search where Ghostscript is installed
-  
-  Push $R0 ;Temp
-  Push $R1 ;Counter
-  Push $R2 ;Enum return
-  Push $R3 ;AFPL version
-  Push $R4 ;GPL version
-
-  StrCpy $R3 ""
-  StrCpy $R4 ""
-
-  #Check the latest version of AFPL Ghostscript installed
+  # Search where Ghostscript is installed
   
-  StrCpy $R1 0
+  # Find the latest version of AFPL Ghostscript installed
   
+  StrCpy $Counter 0
+    
   ${do}
   
-    EnumRegKey $R2 HKLM "Software\AFPL Ghostscript" $R1
+    EnumRegKey $EnumReturn HKLM "Software\AFPL Ghostscript" $Counter
     
-    ${if} $R2 != ""
-      ${VersionCompare} $R2 $R3 $R0
-      ${if} $R0 == "1"
-        StrCpy $R3 $R2
-      ${endif}
-      IntOp $R1 $R1 + 1
-    ${endif}
+    ${If} $EnumReturn != ""
+      ${VersionCompare} $EnumReturn $AFPLVersion $CompareReturn
+      ${If} $CompareReturn == "1"
+        StrCpy $AFPLVersion $EnumReturn
+      ${EndIf}
+      IntOp $Counter $Counter + 1
+    ${EndIf}
     
-  ${loopuntil} $R2 == ""
+  ${loopuntil} $EnumReturn == ""
     
-  #The same for GPL Ghostscript
+  # The same for GPL Ghostscript
     
-  StrCpy $R1 0
+  StrCpy $Counter 0
   
   ${do}
 
-    EnumRegKey $R2 HKLM "Software\GPL Ghostscript" $R1
+    EnumRegKey $EnumReturn HKLM "Software\GPL Ghostscript" $Counter
     
-    ${if} $R2 != ""
-      ${VersionCompare} $R2 $R4 $R0
-      ${if} $R0 == "1"
-        StrCpy $R4 $R2
-      ${endif}
-      IntOp $R1 $R1 + 1
-    ${endif}    
+    ${If} $EnumReturn != ""
+      ${VersionCompare} $EnumReturn $GPLVersion $CompareReturn
+      ${If} $CompareReturn == "1"
+        StrCpy $GPLVersion $EnumReturn
+      ${EndIf}
+      IntOp $Counter $Counter + 1
+    ${EndIf}
   
-  ${loopuntil} $R2 == ""  
+  ${loopuntil} $EnumReturn == ""  
   
-  #Take the latest one
-  ${VersionCompare} $R3 $R4 $R0
+  # Take the latest one
+  ${VersionCompare} $AFPLVersion $GPLVersion $CompareReturn
 
-  ${if} $R0 == "1"
-    #AFPL is newer
+  ${If} $CompareReturn = 1
+    # AFPL is newer
     ReadRegStr $PathGhostscript HKLM "Software\AFPL Ghostscript\$R3" "GS_DLL"
-  ${else}
-    #GPL is newer or equal
+  ${Else}
+    # GPL is newer or equal
     ReadRegStr $PathGhostscript HKLM "Software\GPL Ghostscript\$R4" "GS_DLL"
-  ${endif}
+  ${EndIf}
   
-  #Trim the DLL filename to get the path
+  # Trim the DLL filename to get the path
   ${GetParent} $PathGhostscript $PathGhostscript
   
-  ${unless} ${FileExists} "$PathGhostscript\${BIN_GHOSTSCRIPT}"
+  ${IfNot} ${FileExists} "$PathGhostscript\${BIN_GHOSTSCRIPT}"
     StrCpy $PathGhostscript ""  
-  ${endif}
-    
-  Pop $R4
-  Pop $R3
-  Pop $R2
-  Pop $R1
-  Pop $R0
+  ${EndIf}
   
 FunctionEnd
 
+#--------------------------------
+# ImageMagick
+
 Function SearchImageMagick
 
-  #Search where ImageMagick is installed
+  # Search where ImageMagick is installed
   ReadRegStr $PathImageMagick HKLM "Software\ImageMagick\Current" "BinPath"
   
-  ${unless} ${FileExists} "$PathImageMagick\${BIN_IMAGEMAGICK}"
+  ${IfNot} ${FileExists} "$PathImageMagick\${BIN_IMAGEMAGICK}"
     StrCpy $PathImageMagick ""  
-  ${endif}
+  ${EndIf}
 
-FunctionEnd
\ No newline at end of file
+FunctionEnd
diff --git a/development/Win32/packaging/installer/include/dictlist.nsh b/development/Win32/packaging/installer/include/dictlist.nsh
new file mode 100644 (file)
index 0000000..35771a7
--- /dev/null
@@ -0,0 +1,49 @@
+/*\r
+\r
+dictlist.nsh\r
+\r
+List of Aspell dictionaries supported by LyX\r
+\r
+*/\r
+\r
+!macro Dictionaries DICT\r
+\r
+  ${DICT} af-0.50-0 "Afrikaans" af 915\r
+  ${DICT} ar-1.2-0 "Arabic" ar 4352\r
+  ${DICT} nb-0.50.1-0 "Bokmål" nb 3031\r
+  ${DICT} bg-4.0-0 "Bulgarian" bg 5345\r
+  ${DICT} ca-20040130-1 "Català" ca 1095\r
+  ${DICT} cs-20040614-1 "Ce\9atina" cs 2069\r
+  ${DICT} da-1.4.42-1 "Dansk" da 3036\r
+  ${DICT} de-20030222-1 "Deutsch" de 2872\r
+  ${DICT} en-6.0-0 "English" en 1130\r
+  ${DICT} es-0.50-2 "Español" es 2953\r
+  ${DICT} eo-0.50-2 "Esperanto" eo 3773\r
+  ${DICT} et-0.1.21-1 "Estonian" et 922\r
+  ${DICT} fr-0.50-3 "Français" fr 4331\r
+  ${DICT} gl-0.50-0 "Galego" gl 2974\r
+  ${DICT} el-0.50-3 "Greek" el 3204\r
+  ${DICT} he-1.0-0 "Hebrew" he 2024\r
+  ${DICT} hr-0.51-0 "Hrvatski" hr 1967\r
+  ${DICT} is-0.51.1-0 "Íslenska" is 1536\r
+  ${DICT} it-2.2_20050523-0 "Italiano" it 696\r
+  ${DICT} hu-0.99.4.2-0 "Magyar" hu 1608\r
+  ${DICT} nl-opentaal200711 "Nederlands" nl 1333\r
+  ${DICT} nn-0.50.1-1 "Nynorsk" nn 1930\r
+  ${DICT} fa-0.11-0 "Persian" fa 1667\r
+  ${DICT} pl-6.0_20061121-0 "Polski" pl 1859\r
+  ${DICT} pt_PT-20070510-0 "Português" pt_PT 319\r
+  ${DICT} pt_BR-20070411-0 "Português do Brasil" pt_BR 2453\r
+  ${DICT} ro-0.50-2 "Româna" ro 341\r
+  ${DICT} ru-0.99f7-1 "Russian" ru 1458\r
+  ${DICT} gd-0.1.1-1 "Scottish" gd 194\r
+  ${DICT} sr-0.02 "Serbian" sr 3686\r
+  ${DICT} sk-0.52-0 "Slovencina" sk 4602\r
+  ${DICT} sl-0.50-0 "Sloven\9acina" sl 5236\r
+  ${DICT} fi-0.7-0 "Suomi" fi 659\r
+  ${DICT} sv-0.51-0 "Svenska" sv 1029\r
+  ${DICT} tr-0.50-0 "Türkçe" tr 547\r
+  ${DICT} uk-1.4.0-0 "Ukrainian" uk 770\r
+  ${DICT} cy-0.50-3 "Welsh" cy 1771\r
+\r
+!macroend\r
diff --git a/development/Win32/packaging/installer/include/download.nsh b/development/Win32/packaging/installer/include/download.nsh
deleted file mode 100644 (file)
index bf52b96..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*\r
-\r
-Support code for file downloads\r
-\r
-*/\r
-\r
-!macro DownloadFile RET ID FILENAME APPEND\r
-\r
-  #Downloads a file using the InetLoad plug-in (HTTP or FTP)\r
-  \r
-  #RET = Return value (OK if succesful)\r
-  #ID = Name of the download in settings.nsh\r
-  #FILENAME = Location to store file\r
-  #APPEND = Filename to append to server location in settings.nsh\r
-\r
-  #Try first mirror server\r
-  InetLoad::load "${DOWNLOAD_${ID}}${APPEND}" "$PLUGINSDIR\${FILENAME}" /END\r
-  Pop ${RET} #Return value (OK if succesful)\r
-\r
-  ${if} ${RET} != "OK"\r
-    #Download failed, try second mirror server\r
-    InetLoad::load "${DOWNLOADALT_${ID}}${APPEND}" "$PLUGINSDIR\${FILENAME}" /END\r
-    Pop ${RET}\r
-  ${endif}\r
-\r
-!macroend\r
diff --git a/development/Win32/packaging/installer/include/filelist.nsh b/development/Win32/packaging/installer/include/filelist.nsh
new file mode 100644 (file)
index 0000000..0c84855
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+
+filelist.nsh
+
+Lists of files to include in the installer
+
+*/
+
+!define FILE '${COMMAND} "${DIRECTORY}'
+
+!macro FileListLyXBin COMMAND DIRECTORY
+
+  ${FILE}tex2lyx.exe"
+
+!macroend
+
+!macro FileListLyXIcons COMMAND DIRECTORY
+
+  ${FILE}lyx_32x32.ico"
+  ${FILE}lyx_doc_32x32.ico"
+
+!macroend
+
+!macro FileListLyXScriptsCleanDVI COMMAND DIRECTORY
+
+  ${FILE}clean_dvi.py"
+
+!macroend
+
+!macro FileListQtBin COMMAND DIRECTORY
+
+  ${FILE}QtCore4.dll"
+  ${FILE}QtGui4.dll"  
+
+!macroend
+
+!macro FileListMSVCBin COMMAND DIRECTORY
+
+  ${FILE}msvcr90.dll"
+  ${FILE}msvcp90.dll"
+  
+!macroend
+
+!macro FileListMSVCManifest COMMAND DIRECTORY
+
+  ${FILE}\Microsoft.VC90.CRT.manifest"
+  
+!macroend
+
+!macro FileListDllMSVCBin COMMAND DIRECTORY
+
+  ${FILE}iconv.dll"
+  ${FILE}intl.dll"
+  ${FILE}aspell.dll"
+  ${FILE}Aiksaurus.dll"
+  ${FILE}zlib1.dll"
+
+!macroend
+
+!macro FileListNetpbmBin COMMAND DIRECTORY
+
+  ${FILE}libnetpbm10.dll"
+  ${FILE}pnmcrop.exe"
+  
+!macroend
+
+!macro FileListDTLBin COMMAND DIRECTORY
+
+  ${FILE}dt2dv.exe"
+  ${FILE}dv2dt.exe"
+  
+!macroend
+
+!macro FileListPDFToolsBin COMMAND DIRECTORY
+
+  ${FILE}pdfopen.exe"
+  ${FILE}pdfclose.exe"
+  
+!macroend
+
+!macro FileListPDFViewBin COMMAND DIRECTORY
+
+  ${FILE}pdfview.exe"
+
+!macroend
+
+!macro FileListFonts COMMAND DIRECTORY
+
+  ${FILE}cmex10.ttf"
+  ${FILE}cmmi10.ttf"
+  ${FILE}cmr10.ttf"
+  ${FILE}cmsy10.ttf"
+  ${FILE}eufm10.ttf"
+  ${FILE}msam10.ttf"
+  ${FILE}msbm10.ttf"
+  ${FILE}wasy10.ttf"
+  
+!macroend
+
+!macro FileListPythonBin COMMAND DIRECTORY
+
+  ${FILE}python.exe"
+
+!macroend
+
+!macro FileListPythonDll COMMAND DIRECTORY
+
+  ${FILE}python25.dll"
+  ${FILE}msvcr71.dll"
+
+!macroend
+
+!macro FileListUnicodeDll COMMAND DIRECTORY
+
+  ${FILE}unicodedata.pyd"
+
+!macroend
+
+!macro FileListPythonLib COMMAND DIRECTORY
+
+  ${FILE}__future__.py"
+  ${FILE}UserDict.py"
+  ${FILE}codecs.py"
+  ${FILE}copy_reg.py"
+  ${FILE}fnmatch.py"
+  ${FILE}getopt.py"
+  ${FILE}glob.py"
+  ${FILE}gzip.py"
+  ${FILE}linecache.py"
+  ${FILE}locale.py"
+  ${FILE}ntpath.py"
+  ${FILE}os.py"
+  ${FILE}optparse.py"
+  ${FILE}pipes.py"
+  ${FILE}posixpath.py"
+  ${FILE}random.py"
+  ${FILE}re.py"
+  ${FILE}shutil.py"
+  ${FILE}site.py"
+  ${FILE}sre.py"
+  ${FILE}sre_compile.py"
+  ${FILE}sre_constants.py"
+  ${FILE}sre_parse.py"
+  ${FILE}stat.py"
+  ${FILE}string.py"
+  ${FILE}struct.py"  
+  ${FILE}tempfile.py"
+  ${FILE}tempfile.py"
+  ${FILE}textwrap.py"
+  ${FILE}types.py"
+  ${FILE}warnings.py"
+
+!macroend
+
+!macro FileListPythonLibEncodings COMMAND DIRECTORY
+
+  ${FILE}aliases.py"
+  ${FILE}ascii.py"
+  ${FILE}base64_codec.py"
+  ${FILE}big5.py"
+  ${FILE}big5hkscs.py"
+  ${FILE}bz2_codec.py"
+  ${FILE}charmap.py"
+  ${FILE}cp037.py"
+  ${FILE}cp1006.py"
+  ${FILE}cp1026.py"
+  ${FILE}cp1140.py"
+  ${FILE}cp1250.py"
+  ${FILE}cp1251.py"
+  ${FILE}cp1252.py"
+  ${FILE}cp1253.py"
+  ${FILE}cp1254.py"
+  ${FILE}cp1255.py"
+  ${FILE}cp1256.py"
+  ${FILE}cp1257.py"
+  ${FILE}cp1258.py"
+  ${FILE}cp424.py"
+  ${FILE}cp437.py"
+  ${FILE}cp500.py"
+  ${FILE}cp737.py"
+  ${FILE}cp775.py"
+  ${FILE}cp850.py"
+  ${FILE}cp852.py"
+  ${FILE}cp855.py"
+  ${FILE}cp856.py"
+  ${FILE}cp857.py"
+  ${FILE}cp860.py"
+  ${FILE}cp861.py"
+  ${FILE}cp862.py"
+  ${FILE}cp863.py"
+  ${FILE}cp864.py"
+  ${FILE}cp865.py"
+  ${FILE}cp866.py"
+  ${FILE}cp869.py"
+  ${FILE}cp874.py"
+  ${FILE}cp875.py"
+  ${FILE}cp932.py"
+  ${FILE}cp949.py"
+  ${FILE}cp950.py"
+  ${FILE}euc_jisx0213.py"
+  ${FILE}euc_jis_2004.py"
+  ${FILE}euc_jp.py"
+  ${FILE}euc_kr.py"
+  ${FILE}gb18030.py"
+  ${FILE}gb2312.py"
+  ${FILE}gbk.py"
+  ${FILE}hex_codec.py"
+  ${FILE}hp_roman8.py"
+  ${FILE}hz.py"
+  ${FILE}idna.py"
+  ${FILE}iso2022_jp.py"
+  ${FILE}iso2022_jp_1.py"
+  ${FILE}iso2022_jp_2.py"
+  ${FILE}iso2022_jp_2004.py"
+  ${FILE}iso2022_jp_3.py"
+  ${FILE}iso2022_jp_ext.py"
+  ${FILE}iso2022_kr.py"
+  ${FILE}iso8859_1.py"
+  ${FILE}iso8859_10.py"
+  ${FILE}iso8859_11.py"
+  ${FILE}iso8859_13.py"
+  ${FILE}iso8859_14.py"
+  ${FILE}iso8859_15.py"
+  ${FILE}iso8859_16.py"
+  ${FILE}iso8859_2.py"
+  ${FILE}iso8859_3.py"
+  ${FILE}iso8859_4.py"
+  ${FILE}iso8859_5.py"
+  ${FILE}iso8859_6.py"
+  ${FILE}iso8859_7.py"
+  ${FILE}iso8859_8.py"
+  ${FILE}iso8859_9.py"
+  ${FILE}johab.py"
+  ${FILE}koi8_r.py"
+  ${FILE}koi8_u.py"
+  ${FILE}latin_1.py"
+  ${FILE}mac_arabic.py"
+  ${FILE}mac_centeuro.py"
+  ${FILE}mac_croatian.py"
+  ${FILE}mac_cyrillic.py"
+  ${FILE}mac_farsi.py"
+  ${FILE}mac_greek.py"
+  ${FILE}mac_iceland.py"
+  ${FILE}mac_latin2.py"
+  ${FILE}mac_roman.py"
+  ${FILE}mac_romanian.py"
+  ${FILE}mac_turkish.py"
+  ${FILE}mbcs.py"
+  ${FILE}palmos.py"
+  ${FILE}ptcp154.py"
+  ${FILE}punycode.py"
+  ${FILE}quopri_codec.py"
+  ${FILE}raw_unicode_escape.py"
+  ${FILE}rot_13.py"
+  ${FILE}shift_jis.py"
+  ${FILE}shift_jisx0213.py"
+  ${FILE}shift_jis_2004.py"
+  ${FILE}string_escape.py"
+  ${FILE}tis_620.py"
+  ${FILE}undefined.py"
+  ${FILE}unicode_escape.py"
+  ${FILE}unicode_internal.py"
+  ${FILE}utf_16.py"
+  ${FILE}utf_16_be.py"
+  ${FILE}utf_16_le.py"
+  ${FILE}utf_7.py"
+  ${FILE}utf_8.py"
+  ${FILE}utf_8_sig.py"
+  ${FILE}uu_codec.py"
+  ${FILE}zlib_codec.py"
+  ${FILE}__init__.py"
+  
+!macroend
+
+!macro FileListAiksaurusData COMMAND DIRECTORY
+
+  ${FILE}words.dat"
+  ${FILE}meanings.dat"
+  
+!macroend
+
+!macro FileListNSISPluginsStandard COMMAND DIRECTORY
+
+  ${FILE}System.dll"
+
+!macroend
+
+!macro FileListNSISPlugins COMMAND DIRECTORY
+
+  ${FILE}Console.dll"
+
+!macroend
diff --git a/development/Win32/packaging/installer/include/filelists.nsh b/development/Win32/packaging/installer/include/filelists.nsh
deleted file mode 100644 (file)
index 095b352..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
-
-Lists of files to include in the installer
-
-*/
-
-!define FILE '${COMMAND} "${DIRECTORY}'
-
-!macro FileListLyXBin COMMAND DIRECTORY
-
-  ${FILE}tex2lyx.exe"
-
-!macroend
-
-!macro FileListLyXIcons COMMAND DIRECTORY
-
-  ${FILE}lyx_32x32.ico"
-  ${FILE}lyx_doc_32x32.ico"
-
-!macroend
-
-!macro FileListLyXScriptsCleanDVI COMMAND DIRECTORY
-
-  ${FILE}clean_dvi.py"
-
-!macroend
-
-!macro FileListQtBin COMMAND DIRECTORY
-
-  ${FILE}QtCore4.dll"
-  ${FILE}QtGui4.dll"  
-
-!macroend
-
-!macro FileListMSVCBin COMMAND DIRECTORY
-
-  ${FILE}msvcr90.dll"
-  ${FILE}msvcp90.dll"
-  
-!macroend
-
-!macro FileListMSVCManifest COMMAND DIRECTORY
-
-  ${FILE}\Microsoft.VC90.CRT.manifest"
-  
-!macroend
-
-!macro FileListDllMSVCBin COMMAND DIRECTORY
-
-  ${FILE}iconv.dll"
-  ${FILE}intl.dll"
-  ${FILE}aspell.dll"
-  ${FILE}Aiksaurus.dll"
-  ${FILE}zlib1.dll"
-
-!macroend
-
-!macro FileListNetpbmBin COMMAND DIRECTORY
-
-  ${FILE}libnetpbm10.dll"
-  ${FILE}pnmcrop.exe"
-  
-!macroend
-
-!macro FileListDTLBin COMMAND DIRECTORY
-
-  ${FILE}dt2dv.exe"
-  ${FILE}dv2dt.exe"
-  
-!macroend
-
-!macro FileListDvipostBin COMMAND DIRECTORY
-
-  ${FILE}pplatex.exe"
-  
-!macroend
-
-!macro FileListPDFToolsBin COMMAND DIRECTORY
-
-  ${FILE}pdfopen.exe"
-  ${FILE}pdfclose.exe"
-  
-!macroend
-
-!macro FileListPDFViewBin COMMAND DIRECTORY
-
-  ${FILE}pdfview.exe"
-
-!macroend
-
-!macro FileListFonts COMMAND DIRECTORY
-
-  ${FILE}cmex10.ttf"
-  ${FILE}cmmi10.ttf"
-  ${FILE}cmr10.ttf"
-  ${FILE}cmsy10.ttf"
-  ${FILE}eufm10.ttf"
-  ${FILE}msam10.ttf"
-  ${FILE}msbm10.ttf"
-  ${FILE}wasy10.ttf"
-  
-!macroend
-
-!macro FileListPythonBin COMMAND DIRECTORY
-
-  ${FILE}python.exe"
-
-!macroend
-
-!macro FileListPythonDll COMMAND DIRECTORY
-
-  ${FILE}python25.dll"
-  ${FILE}msvcr71.dll"
-
-!macroend
-
-!macro FileListUnicodeDll COMMAND DIRECTORY
-
-  ${FILE}unicodedata.pyd"
-
-!macroend
-
-!macro FileListPythonLib COMMAND DIRECTORY
-
-  ${FILE}__future__.py"
-  ${FILE}UserDict.py"
-  ${FILE}codecs.py"
-  ${FILE}copy_reg.py"
-  ${FILE}fnmatch.py"
-  ${FILE}getopt.py"
-  ${FILE}glob.py"
-  ${FILE}gzip.py"
-  ${FILE}linecache.py"
-  ${FILE}locale.py"
-  ${FILE}ntpath.py"
-  ${FILE}os.py"
-  ${FILE}optparse.py"
-  ${FILE}pipes.py"
-  ${FILE}posixpath.py"
-  ${FILE}random.py"
-  ${FILE}re.py"
-  ${FILE}shutil.py"
-  ${FILE}site.py"
-  ${FILE}sre.py"
-  ${FILE}sre_compile.py"
-  ${FILE}sre_constants.py"
-  ${FILE}sre_parse.py"
-  ${FILE}stat.py"
-  ${FILE}string.py"
-  ${FILE}struct.py"  
-  ${FILE}tempfile.py"
-  ${FILE}tempfile.py"
-  ${FILE}textwrap.py"
-  ${FILE}types.py"
-  ${FILE}warnings.py"
-
-!macroend
-
-!macro FileListPythonLibEncodings COMMAND DIRECTORY
-
-  ${FILE}aliases.py"
-  ${FILE}ascii.py"
-  ${FILE}base64_codec.py"
-  ${FILE}big5.py"
-  ${FILE}big5hkscs.py"
-  ${FILE}bz2_codec.py"
-  ${FILE}charmap.py"
-  ${FILE}cp037.py"
-  ${FILE}cp1006.py"
-  ${FILE}cp1026.py"
-  ${FILE}cp1140.py"
-  ${FILE}cp1250.py"
-  ${FILE}cp1251.py"
-  ${FILE}cp1252.py"
-  ${FILE}cp1253.py"
-  ${FILE}cp1254.py"
-  ${FILE}cp1255.py"
-  ${FILE}cp1256.py"
-  ${FILE}cp1257.py"
-  ${FILE}cp1258.py"
-  ${FILE}cp424.py"
-  ${FILE}cp437.py"
-  ${FILE}cp500.py"
-  ${FILE}cp737.py"
-  ${FILE}cp775.py"
-  ${FILE}cp850.py"
-  ${FILE}cp852.py"
-  ${FILE}cp855.py"
-  ${FILE}cp856.py"
-  ${FILE}cp857.py"
-  ${FILE}cp860.py"
-  ${FILE}cp861.py"
-  ${FILE}cp862.py"
-  ${FILE}cp863.py"
-  ${FILE}cp864.py"
-  ${FILE}cp865.py"
-  ${FILE}cp866.py"
-  ${FILE}cp869.py"
-  ${FILE}cp874.py"
-  ${FILE}cp875.py"
-  ${FILE}cp932.py"
-  ${FILE}cp949.py"
-  ${FILE}cp950.py"
-  ${FILE}euc_jisx0213.py"
-  ${FILE}euc_jis_2004.py"
-  ${FILE}euc_jp.py"
-  ${FILE}euc_kr.py"
-  ${FILE}gb18030.py"
-  ${FILE}gb2312.py"
-  ${FILE}gbk.py"
-  ${FILE}hex_codec.py"
-  ${FILE}hp_roman8.py"
-  ${FILE}hz.py"
-  ${FILE}idna.py"
-  ${FILE}iso2022_jp.py"
-  ${FILE}iso2022_jp_1.py"
-  ${FILE}iso2022_jp_2.py"
-  ${FILE}iso2022_jp_2004.py"
-  ${FILE}iso2022_jp_3.py"
-  ${FILE}iso2022_jp_ext.py"
-  ${FILE}iso2022_kr.py"
-  ${FILE}iso8859_1.py"
-  ${FILE}iso8859_10.py"
-  ${FILE}iso8859_11.py"
-  ${FILE}iso8859_13.py"
-  ${FILE}iso8859_14.py"
-  ${FILE}iso8859_15.py"
-  ${FILE}iso8859_16.py"
-  ${FILE}iso8859_2.py"
-  ${FILE}iso8859_3.py"
-  ${FILE}iso8859_4.py"
-  ${FILE}iso8859_5.py"
-  ${FILE}iso8859_6.py"
-  ${FILE}iso8859_7.py"
-  ${FILE}iso8859_8.py"
-  ${FILE}iso8859_9.py"
-  ${FILE}johab.py"
-  ${FILE}koi8_r.py"
-  ${FILE}koi8_u.py"
-  ${FILE}latin_1.py"
-  ${FILE}mac_arabic.py"
-  ${FILE}mac_centeuro.py"
-  ${FILE}mac_croatian.py"
-  ${FILE}mac_cyrillic.py"
-  ${FILE}mac_farsi.py"
-  ${FILE}mac_greek.py"
-  ${FILE}mac_iceland.py"
-  ${FILE}mac_latin2.py"
-  ${FILE}mac_roman.py"
-  ${FILE}mac_romanian.py"
-  ${FILE}mac_turkish.py"
-  ${FILE}mbcs.py"
-  ${FILE}palmos.py"
-  ${FILE}ptcp154.py"
-  ${FILE}punycode.py"
-  ${FILE}quopri_codec.py"
-  ${FILE}raw_unicode_escape.py"
-  ${FILE}rot_13.py"
-  ${FILE}shift_jis.py"
-  ${FILE}shift_jisx0213.py"
-  ${FILE}shift_jis_2004.py"
-  ${FILE}string_escape.py"
-  ${FILE}tis_620.py"
-  ${FILE}undefined.py"
-  ${FILE}unicode_escape.py"
-  ${FILE}unicode_internal.py"
-  ${FILE}utf_16.py"
-  ${FILE}utf_16_be.py"
-  ${FILE}utf_16_le.py"
-  ${FILE}utf_7.py"
-  ${FILE}utf_8.py"
-  ${FILE}utf_8_sig.py"
-  ${FILE}uu_codec.py"
-  ${FILE}zlib_codec.py"
-  ${FILE}__init__.py"
-  
-!macroend
-
-!macro FileListAiksaurusData COMMAND DIRECTORY
-
-  ${FILE}words.dat"
-  ${FILE}meanings.dat"
-  
-!macroend
-
-!macro FileListNSISPluginsStandard COMMAND DIRECTORY
-
-  ${FILE}System.dll"
-
-!macroend
-
-!macro FileListNSISPlugins COMMAND DIRECTORY
-
-  ${FILE}Console.dll"
-
-!macroend
index ba8d361e82e406694364b11a26f568996b0b6724..d3b9d7da7bd42419e52c69320fb4aafe4d0ac203 100644 (file)
@@ -1,20 +1,22 @@
 /*
 
-Installer User Interface
+gui.nsh
+
+Installer user interface settings
 
 */
 
 #--------------------------------
-#General
+# General
 
 Name "${APP_NAME} ${APP_VERSION}"
 BrandingText " "
 
-#Default installation folder
+# Default installation folder
 InstallDir "${SETUP_DEFAULT_DIRECTORY}"
 
 #--------------------------------
-#Interface settings
+# Interface settings
 
 !define MUI_ABORTWARNING
 !define MUI_ICON "${SETUP_ICON}"
@@ -28,28 +30,27 @@ InstallDir "${SETUP_DEFAULT_DIRECTORY}"
 !define MUI_COMPONENTSPAGE_NODESC
 
 #--------------------------------
-#Pages
+# Pages
 
-#Installer
+# Installer
 
 !define MUI_WELCOMEPAGE_TITLE_3LINES
 !define MUI_WELCOMEPAGE_TEXT $(TEXT_WELCOME_${SETUPTYPE_NAME})
 !insertmacro MUI_PAGE_WELCOME
 !insertmacro MUI_PAGE_LICENSE "${FILES_LICENSE}"
+!insertmacro MULTIUSER_PAGE_INSTALLMODE
 
-Page custom PageUser PageUserValidate
 Page custom PageReinstall PageReinstallValidate
 Page custom PageExternalLaTeX PageExternalLaTeXValidate
 Page custom PageExternalImageMagick PageExternalImageMagickValidate
 Page custom PageExternalGhostscript PageExternalGhostscriptValidate
-Page custom PageViewer PageViewerValidate
 Page custom PageLanguage PageLanguageValidate
 
 !define MUI_PAGE_HEADER_TEXT $(TEXT_DICT_TITLE)
 !define MUI_PAGE_HEADER_SUBTEXT $(TEXT_DICT_SUBTITLE)
 !define MUI_COMPONENTSPAGE_TEXT_TOP $(TEXT_DICT_TOP)
 !define MUI_COMPONENTSPAGE_TEXT_COMPLIST $(TEXT_DICT_LIST)
-!insertmacro MUI_PAGE_COMPONENTS ;For spell checker dictionaries
+!insertmacro MUI_PAGE_COMPONENTS For spell checker dictionaries
 
 !insertmacro MUI_PAGE_DIRECTORY
 !insertmacro MUI_PAGE_INSTFILES
@@ -61,10 +62,10 @@ Page custom PageLanguage PageLanguageValidate
 !define MUI_FINISHPAGE_SHOWREADME_TEXT $(TEXT_FINISH_DESKTOP)
 !define MUI_FINISHPAGE_LINK $(TEXT_FINISH_WEBSITE)
 !define MUI_FINISHPAGE_LINK_LOCATION "http://www.lyx.org/"
-!define MUI_PAGE_CUSTOMFUNCTION_PRE CheckDesktopShortcut
+!define MUI_PAGE_CUSTOMFUNCTION_SHOW CheckDesktopShortcut
 !insertmacro MUI_PAGE_FINISH
 
-#Uninstaller
+# Uninstaller
 
 !define MUI_WELCOMEPAGE_TITLE_3LINES
 !define MUI_WELCOMEPAGE_TEXT $(UNTEXT_WELCOME)
@@ -76,15 +77,22 @@ Page custom PageLanguage PageLanguageValidate
 !insertmacro MUI_UNPAGE_FINISH
 
 #--------------------------------
-#Installer Languages
+# Installer Languages
+
+!macro LANG LANG_NAME
+  # NSIS language file
+  !insertmacro MUI_LANGUAGE "${LANG_NAME}"
+  # LyX language file
+  !insertmacro LANGFILE_INCLUDE_WITHDEFAULT "lang\${LANG_NAME}.nsh" "lang\English.nsh"
+!macroend
 
-!insertmacro IncludeLang "english"
-!insertmacro IncludeLang "french"
-!insertmacro IncludeLang "german"
-!insertmacro IncludeLang "italian"
+!insertmacro LANG "english"
+!insertmacro LANG "french"
+!insertmacro LANG "german"
+!insertmacro LANG "italian"
 
 #--------------------------------
-#Version information
+# Version information
 
 VIProductVersion "${APP_VERSION_NUMBER}"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APP_NAME}"
@@ -92,122 +100,14 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${APP_INFO}"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APP_VERSION}"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "${APP_COPYRIGHT}"
 
-#--------------------------------
-#Macros
-
-!macro InitDialogExternal COMPONENT CURRENTUSER_POSSIBLE
-
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 1" "Text" $(TEXT_EXTERNAL_${COMPONENT}_INFO_${SETUPTYPE_NAME})
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "Text" $(TEXT_EXTERNAL_${COMPONENT}_FOLDER)
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 5" "Text" $(TEXT_EXTERNAL_${COMPONENT}_FOLDER_INFO)
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 6" "Text" $(TEXT_EXTERNAL_${COMPONENT}_NONE)
-  
-  !if ${CURRENTUSER_POSSIBLE} == ${TRUE}
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME})"
-  !else  
-    ${if} $AdminOrPowerUser == ${TRUE}
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME})"
-    ${else}
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Text" "$(TEXT_EXTERNAL_${COMPONENT}_${SETUPTYPE_NAME}) $(TEXT_EXTERNAL_NOPRIVILEDGES)"
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "Flags" "DISABLED"
-    ${endif}
-  !endif
-  
-!macroend
-
-!macro InitDialogExternalDir COMPONENT CURRENTUSER_POSSIBLE
-
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 4" "State" $Path${COMPONENT}
-  
-  !if ${CURRENTUSER_POSSIBLE} == ${FALSE}
-    ${if} $AdminOrPowerUser == ${TRUE}
-  !endif
-  
-    ${if} $Path${COMPONENT} == ""
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 2" "State" "1"
-    ${else}
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "State" "1"
-    ${endif}
-    
-  !if ${CURRENTUSER_POSSIBLE} == ${FALSE}
-    ${else}
-      !insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "State" "1"
-    ${endif}
-  !endif
-  
-!macroend
-
-!macro InitDialogLang VAR LANGNAME LANGISOCODE LANGID
-
-  StrCpy ${VAR} `${VAR}|${LANGNAME}`
-
-!macroend
-
-#--------------------------------
-#Functions
-
-Function InitDialogs
-
-  Push $R0
-
-  #Extract dialogs
-  
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\user.ini" "user.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\reinstall.ini" "reinstall.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_latex.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_imagemagick.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\external.ini" "external_ghostscript.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\viewer.ini" "viewer.ini"
-  !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "dialogs\langselect.ini" "langselect.ini"
-  
-  #Write texts
-  
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 1" "Text" $(TEXT_USER_INFO)
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "Text" $(TEXT_USER_ALL)
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "Text" $(TEXT_USER_CURRENT)
-  
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "reinstall.ini" "Field 1" "Text" $(TEXT_REINSTALL_INFO)
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "reinstall.ini" "Field 2" "Text" $(TEXT_REINSTALL_ENABLE)
-  
-  !insertmacro InitDialogExternal latex ${TRUE}
-  !insertmacro InitDialogExternal imagemagick ${FALSE}
-  !insertmacro InitDialogExternal ghostscript ${FALSE}
-  
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "viewer.ini" "Field 1" "Text" $(TEXT_VIEWER_INFO_${SETUPTYPE_NAME})
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "viewer.ini" "Field 2" "Text" $(TEXT_VIEWER_${SETUPTYPE_NAME})
-  
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 1" "Text" $(TEXT_LANGUAGE_INFO)
-  StrCpy $R0 ""
-  !insertmacro LanguageList '!insertmacro InitDialogLang $R0'
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "ListItems" $R0
-  !insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "State" "English" ;Default language
-  
-  #Set state of user dialog
-  ${if} $CurrentUserInstall == ${TRUE}
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "State" "0"
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "State" "1"
-  ${else}
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 2" "State" "1"
-    !insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "State" "0"
-  ${endif}
-  
-  Pop $R0
-
-FunctionEnd
-
 Function InitInterface
 
-  ${if} $AdminOrPowerUser != ${TRUE}
-    MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
-  ${endif}
-
-  Banner::show /NOUNLOAD "Preparing wizard"
+  # Warn the user when no Administrator or Power user privileges are available
+  # These privileges are required to install ImageMagick or Ghostscript
 
-  Call InitDialogs
-  Call InitLanguage  
-  Call InitSizeExternal
-  Call InitSizeViewer
-  
-  Banner::destroy
+  ${If} $MultiUser.Privileges != "Admin"
+  ${andif} $MultiUser.Privileges != "Power"
+    MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
+  ${EndIf}
 
 FunctionEnd
index d5b5b5cb236ae8a27685a2ea3d6d0958ac37e60a..19e533e0669108dee6b918546143fab96f421709 100644 (file)
 /*
 
-Installer and uninstaller initialization
+init.nsh
+
+Initialization function
 
 */
 
 #--------------------------------
-#Functions
-
-Function CommandLineParameter
-
-  Exch $R0
-  Push $R1
-  Push $R2
-  
-  StrLen $R1 $R0
-  
-  Push $CMDLINE
-  Push $R0
-  Call StrStr
-  Pop $R2
-  
-  StrCpy $R2 $R2 $R1
-  
-  ${if} $R2 == $R0
-    StrCpy $R0 ${TRUE}
-  ${else}
-    StrCpy $R0 ${FALSE} 
-  ${endif}
-  
-  Push $R2
-  Push $R1
-  Exch $R0
-
-FunctionEnd
+# Installer initialization
 
 Function .onInit
 
+  ${IfNot} ${IsNT}
+  ${OrIfNot} ${AtLeastWin2000}
+    MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} requires Windows 2000 or later."
+    Quit
+  ${EndIf}
+
+  !insertmacro MULTIUSER_INIT
+  
   ${unless} ${silent}
     Banner::show /NOUNLOAD "Checking system"
-  ${endif}
+  ${EndIf}
   
-  #Check all dependencies
-  
-  Call CheckWindows
-  Call CheckPrivileges
-  Call LoadInstaller
-  Call SearchAll
+  Call SearchExternal
+  Call InitExternal
 
   ${unless} ${silent}
     Banner::destroy
-  ${endif}
+  ${EndIf}
 
 FunctionEnd
 
 Function un.onInit
 
-  Call un.CheckPrivileges
-  Call un.LoadUnInstaller
-  
-FunctionEnd
+  !insertmacro MULTIUSER_UNINIT
 
-Function LoadInstaller
+FunctionEnd
 
-  #Set the correct shell context depending on command line parameter
-  #and priviledges
+#--------------------------------
+# User initialization
 
-  Push $R0
+Var ComponentPath
+Var LyXPath
+Var LyXLangName
 
-  Push "/CurrentUser"
-  Call CommandLineParameter
-  Pop $CurrentUserInstall
+# COMPONENT can be LaTeX ImageMagick and Ghostscript
+!macro EXTERNAL_INIT COMPONENT
 
-  ${if} $CurrentUserInstall == ${TRUE}
-  
-    SetShellVarContext current
+  # APP_REGKEY_SETUP = "Software\${APP_NAME}${APP_SERIES_KEY}\Setup"
+  # where ${APP_NAME}${APP_SERIES_KEY} is something like LyX16
+  ReadRegStr $ComponentPath SHELL_CONTEXT "${APP_REGKEY_SETUP}" "${COMPONENT} Path"
   
-  ${else}
-  
-    ${if} $AdminOrPowerUser == ${TRUE}
-      
-      SetShellVarContext all
-      
-    ${else}
-    
-      #Display an error when the /AllUsers command line parameter is used
-      #by a user without Administrator or Power User priviledges
-       
-      Push "/AllUsers"
-      Call CommandLineParameter
-      Pop $R0
-  
-      ${if} $R0 == ${TRUE}
-        MessageBox MB_OK|MB_ICONSTOP "You need Administrator or Power User privileges to install ${APP_NAME} for all users."
-        Quit
-      ${endif}
-      
-      SetShellVarContext current
-      StrCpy $CurrentUserInstall ${TRUE}
-    
-    ${endif}
-    
-  ${endif}
-  
-  ${if} ${silent}
-    Call InitUser
-  ${endif}
-  
-  Pop $R0
+  # BIN_LATEX etc are defined in settings.nsh
+  ${If} ${FileExists} "$ComponentPath\${BIN_${COMPONENT}}"
+    # set variables like PathLaTeX
+    StrCpy $Path${COMPONENT} $ComponentPath
+  ${EndIf}
 
-FunctionEnd
+!macroend
 
-Function un.LoadUnInstaller
+Function InitUser
 
-  #Set the correct shell context depending on whether LyX has been installed
-  #for the current user or all users
+  # Get directories of components from registry
 
-  ReadRegStr $R0 HKCU ${APP_REGKEY} ""
+  ReadRegStr $LyXPath SHELL_CONTEXT "${APP_REGKEY}" ""
   
-  ${if} $R0 == $INSTDIR
-    StrCpy $CurrentUserInstall ${TRUE}
-  ${endif}
+  ${If} $LyXPath != ""
+    StrCpy $INSTDIR $LyXPath
+  ${EndIf}
 
-  ${if} $CurrentUserInstall == ${TRUE}
+  !insertmacro EXTERNAL_INIT LaTeX
+  !insertmacro EXTERNAL_INIT ImageMagick
+  !insertmacro EXTERNAL_INIT Ghostscript
   
-    SetShellVarContext current
+  # Get LyX language
   
-  ${else}
+  ReadRegStr $LyXLangName SHELL_CONTEXT "${APP_REGKEY_SETUP}" "LyX Language"
   
-    ${if} $AdminOrPowerUser == ${FALSE}
-      MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} has been installed for all users. Therefore you need Administrator or Power User privileges to uninstall."
-      Quit
-    ${else}
-      SetShellVarContext all
-    ${endif}
+  ${If} $LyXLangName != ""
+    StrCpy $LangName $LyXLangName
+  ${EndIf}
   
-  ${endif}
-
 FunctionEnd
diff --git a/development/Win32/packaging/installer/include/lang.nsh b/development/Win32/packaging/installer/include/lang.nsh
deleted file mode 100644 (file)
index cc68023..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-
-Translations for installer and LyX itself
-
-*/
-
-!macro LanguageList COMMAND
-
-  #List of LyX translations with ISO code and language identifier
-
-  ${COMMAND} "Bokmål" nb_NO 1044
-  ${COMMAND} "Català" ca_ES 1027
-  ${COMMAND} "Ce\9atina" cs_CZ 1029
-  ${COMMAND} "Chinese (Simplified)" zh_CN 2052
-  ${COMMAND} "Chinese (Traditional)" zh_TW 1028
-  # ${COMMAND} "Dansk" da_DK 1030
-  ${COMMAND} "Deutsch" de_DE 1031
-  ${COMMAND} "English" en_EN 1033
-  ${COMMAND} "Español" es_ES 1034
-  ${COMMAND} "Euskara" eu_EU 1069
-  ${COMMAND} "Français" fr_FR 1036
-  ${COMMAND} "Galego" gl_ES 1036
-  ${COMMAND} "Hebrew" he_IL 1037
-  ${COMMAND} "Italiano" it_IT 1057
-  ${COMMAND} "Japanese" ja_JP 1041
-  # ${COMMAND} "Korean" ko 1042
-  ${COMMAND} "Magyar" hu_HU 1038
-  # ${COMMAND} "Nederlands" nl_NL 1043
-  ${COMMAND} "Nynorsk" nn_NO 2068
-  ${COMMAND} "Português" pt_PT 1046
-  ${COMMAND} "Polski"  pl_PL 1045
-  ${COMMAND} "Româna" ro_RO 1048
-  # ${COMMAND} "Russian" ru_RU 1049
-  # ${COMMAND} "Slovencina" sk_SK 1060
-  # ${COMMAND} "Sloven\9acina" sl_SI 1051
-  ${COMMAND} "Suomi" fi_FI 1035
-  # ${COMMAND} "Svenska" sv_SE 1053
-  # ${COMMAND} "Türkçe" tr_TR 1055
-  # ${COMMAND} "Walon" wa_BE 1055
-
-!macroend
-
-!macro LanguageString name text
-
-  !ifndef "${name}"
-    !define "${name}" "${text}"
-  !endif
-  
-!macroend
-
-!macro LanguageStringAdd lang_name name
-
-  #Takes a define and puts that into a language string
-  LangString "${name}" "${LANG_${lang_name}}" "${${name}}"
-  !undef "${name}"
-
-!macroend
-
-!macro LanguageStringCreateExternal component
-
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_TITLE
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_SUBTITLE
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_INFO_${SETUPTYPE_NAME}
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_${SETUPTYPE_NAME}
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_FOLDER
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_FOLDER_INFO
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_NONE
-  ${LanguageStringAdd} TEXT_EXTERNAL_${component}_NOTFOUND
-  
-!macroend
-
-!macro LanguageStringCreate lang_name
-
-  #Creates all language strings
-  !insertmacro ReDef LanguageStringAdd '!insertmacro LanguageStringAdd "${lang_name}"'
-
-  ${LanguageStringAdd} TEXT_NO_PRIVILEDGES
-  
-  ${LanguageStringAdd} TEXT_INSTALL_CURRENTUSER
-
-  ${LanguageStringAdd} TEXT_WELCOME_${SETUPTYPE_NAME}
-
-  ${LanguageStringAdd} TEXT_USER_TITLE
-  ${LanguageStringAdd} TEXT_USER_SUBTITLE
-  ${LanguageStringAdd} TEXT_USER_INFO  
-  ${LanguageStringAdd} TEXT_USER_CURRENT
-  ${LanguageStringAdd} TEXT_USER_ALL
-  
-  ${LanguageStringAdd} TEXT_REINSTALL_TITLE
-  ${LanguageStringAdd} TEXT_REINSTALL_SUBTITLE
-  ${LanguageStringAdd} TEXT_REINSTALL_INFO
-  ${LanguageStringAdd} TEXT_REINSTALL_ENABLE
-  
-  ${LanguageStringAdd} TEXT_EXTERNAL_NOPRIVILEDGES
-
-  !insertmacro LanguageStringCreateExternal LaTeX
-  !insertmacro LanguageStringCreateExternal ImageMagick
-  !insertmacro LanguageStringCreateExternal Ghostscript
-
-  ${LanguageStringAdd} TEXT_VIEWER_TITLE
-  ${LanguageStringAdd} TEXT_VIEWER_SUBTITLE
-  ${LanguageStringAdd} TEXT_VIEWER_INFO_${SETUPTYPE_NAME}
-  ${LanguageStringAdd} TEXT_VIEWER_${SETUPTYPE_NAME}
-  
-  ${LanguageStringAdd} TEXT_DICT_TITLE
-  ${LanguageStringAdd} TEXT_DICT_SUBTITLE
-  ${LanguageStringAdd} TEXT_DICT_TOP
-  ${LanguageStringAdd} TEXT_DICT_LIST
-  
-  ${LanguageStringAdd} TEXT_LANGUAGE_TITLE
-  ${LanguageStringAdd} TEXT_LANGUAGE_SUBTITLE
-  ${LanguageStringAdd} TEXT_LANGUAGE_INFO 
-
-  !ifndef SETUPTYPE_BUNDLE
-    ${LanguageStringAdd} TEXT_DOWNLOAD_FAILED_LATEX
-    ${LanguageStringAdd} TEXT_DOWNLOAD_FAILED_IMAGEMAGICK
-    ${LanguageStringAdd} TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT
-    ${LanguageStringAdd} TEXT_DOWNLOAD_FAILED_VIEWER
-  !endif 
-  ${LanguageStringAdd} TEXT_DOWNLOAD_FAILED_DICT
-  
-  ${LanguageStringAdd} TEXT_NOTINSTALLED_LATEX
-  ${LanguageStringAdd} TEXT_NOTINSTALLED_IMAGEMAGICK
-  ${LanguageStringAdd} TEXT_NOTINSTALLED_GHOSTSCRIPT
-  ${LanguageStringAdd} TEXT_NOTINSTALLED_VIEWER
-  ${LanguageStringAdd} TEXT_NOTINSTALLED_DICT
-  
-  ${LanguageStringAdd} TEXT_FINISH_DESKTOP
-  ${LanguageStringAdd} TEXT_FINISH_WEBSITE
-  
-  ${LanguageStringAdd} UNTEXT_WELCOME
-
-!macroend
-
-!macro IncludeLang langname
-
-  !ifndef DICT_NAME
-    !define DICT_NAME $R1
-  !endif
-
-  #Include both NSIS/LyX language file
-  
-  !insertmacro MUI_LANGUAGE "${langname}"
-  
-  !include "lang\${langname}.nsh"
-  !include "lang\English.nsh" ;Use English for missing strings in translation
-  
-  !insertmacro LanguageStringCreate "${langname}"
-  
-!macroend
diff --git a/development/Win32/packaging/installer/include/langlist.nsh b/development/Win32/packaging/installer/include/langlist.nsh
new file mode 100644 (file)
index 0000000..0135b24
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+
+langlist.nsh
+
+List of langauges supported by the LyX
+
+*/
+
+!macro Languages COMMAND
+
+  # List of LyX translations with ISO code and language identifier
+
+  ${COMMAND} "Bokmål" nb_NO 1044
+  ${COMMAND} "Català" ca_ES 1027
+  ${COMMAND} "Ce\9atina" cs_CZ 1029
+  ${COMMAND} "Chinese (Simplified)" zh_CN 2052
+  ${COMMAND} "Chinese (Traditional)" zh_TW 1028
+  # ${COMMAND} "Dansk" da_DK 1030
+  ${COMMAND} "Deutsch" de_DE 1031
+  ${COMMAND} "English" en_EN 1033
+  ${COMMAND} "Español" es_ES 1034
+  ${COMMAND} "Euskara" eu_EU 1069
+  ${COMMAND} "Français" fr_FR 1036
+  ${COMMAND} "Galego" gl_ES 1036
+  ${COMMAND} "Hebrew" he_IL 1037
+  ${COMMAND} "Italiano" it_IT 1057
+  ${COMMAND} "Japanese" ja_JP 1041
+  # ${COMMAND} "Korean" ko 1042
+  ${COMMAND} "Magyar" hu_HU 1038
+  # ${COMMAND} "Nederlands" nl_NL 1043
+  ${COMMAND} "Nynorsk" nn_NO 2068
+  ${COMMAND} "Português" pt_PT 1046
+  ${COMMAND} "Polski"  pl_PL 1045
+  ${COMMAND} "Româna" ro_RO 1048
+  # ${COMMAND} "Russian" ru_RU 1049
+  # ${COMMAND} "Slovencina" sk_SK 1060
+  # ${COMMAND} "Sloven\9acina" sl_SI 1051
+  ${COMMAND} "Suomi" fi_FI 1035
+  # ${COMMAND} "Svenska" sv_SE 1053
+  # ${COMMAND} "Türkçe" tr_TR 1055
+  # ${COMMAND} "Walon" wa_BE 1055
+
+!macroend
diff --git a/development/Win32/packaging/installer/include/windows.nsh b/development/Win32/packaging/installer/include/windows.nsh
deleted file mode 100644 (file)
index 3e4deeb..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-
-Checks for Windows version
-
-*/
-
-#--------------------------------
-#Macros
-
-!macro CheckPrivileges
-
-  Push $R0
-
-  UserInfo::GetAccountType
-  Pop $R0
-  
-  ${if} $R0 == "Admin"
-    StrCpy $AdminOrPowerUser ${TRUE}
-  ${elseif} $R0 == "Power"
-    StrCpy $AdminOrPowerUser ${TRUE}
-  ${else}
-    StrCpy $AdminOrPowerUser ${FALSE}
-  ${endif}
-  
-  Pop $R0
-
-!macroend
-
-#--------------------------------
-#Functions
-
-Function CheckPrivileges
-  !insertmacro CheckPrivileges
-FunctionEnd
-
-Function un.CheckPrivileges
-  !insertmacro CheckPrivileges
-FunctionEnd
-
-Function CheckWindows
-
-  #Check for Windows NT 5.0 or later (2000, XP, 2003 etc.)
-
-  ${unless} ${IsNT}
-    ${andunless} ${AtLeastWin2000}
-
-    MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} only supports Windows 2000, XP, 2003 and later."
-
-  ${endif}
-
-FunctionEnd
-
-Function UpdatePathEnvironment
-
-  Push $R0
-  Push $R1
-  
-  #Updates the path environment variable of the instaler process to the latest system value
-  
-  ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Path
-  ReadRegStr $R1 HKCU "Environment" Path
-  
-  System::Call 'kernel32::SetEnvironmentVariableA(t, t) i("Path", "$R0;$R1").r0'
-  
-  Pop $R1
-  Pop $R0
-
-FunctionEnd
index ce5d5230fc522d269d56082591dba7dd04debddb..a2fbb7a197d245badde7d669f1924f24b58b907d 100644 (file)
@@ -6,88 +6,84 @@ Author: Joost Verburg
 
 */
 
-!insertmacro LanguageString TEXT_NO_PRIVILEDGES "You do not have Administrator or Power User privileges.$\r$\n$\r$\nAlthough you can install ${APP_NAME} and the typesetting system, the utilities for image conversion and previewing cannot be installed without these priviledges."
-
-!insertmacro LanguageString TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
-
-!insertmacro LanguageString TEXT_WELCOME_DOWNLOAD "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.\r\n\r\nThis installer will setup a complete environment to use ${APP_NAME} and can download missing components automatically.\r\n\r\n$(^ClickNext)"
-!insertmacro LanguageString TEXT_WELCOME_INSTALL "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.\r\n\r\nThis installer will setup a complete environment to use ${APP_NAME} and can install missing components automatically.\r\n\r\n$(^ClickNext)"
-
-!insertmacro LanguageString TEXT_USER_TITLE "Choose Users"
-!insertmacro LanguageString TEXT_USER_SUBTITLE "Choose for which users you want to install $(^NameDA)."
-!insertmacro LanguageString TEXT_USER_INFO "Select whether want to install $(^NameDA) for yourself only or for all users on this sytem. $(^ClickNext)"
-!insertmacro LanguageString TEXT_USER_CURRENT "Install just for me"
-!insertmacro LanguageString TEXT_USER_ALL "Install for anyone using this computer"
-
-!insertmacro LanguageString TEXT_REINSTALL_TITLE "Reinstall"
-!insertmacro LanguageString TEXT_REINSTALL_SUBTITLE "Choose whether you want to reinstall the $(^NameDA) program files."
-!insertmacro LanguageString TEXT_REINSTALL_INFO "$(^NameDA) is already installed. This installer will allow you to change the interface language and locations of external applications or download additional dictionaries. If you also want to reinstall the program files, check the box below. $(^ClickNext)"
-!insertmacro LanguageString TEXT_REINSTALL_ENABLE "Reinstall $(^NameDA) program files"
-
-!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Administrator or Power User privileges required)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_TITLE "LaTeX Typesetting System"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_SUBTITLE "A typesetting system is required to be able to create documents for printing or publishing."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Please specify whether you want to download MiKTeX or want to use an existing LaTeX system. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_INSTALL "Please specify whether you want to install MiKTeX or want to use an existing LaTeX system. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_DOWNLOAD "Download MiKTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INSTALL "Install MiKTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER "Use an existing LaTeX system in the following folder:"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER_INFO "This folder should contain ${BIN_LATEX}."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NONE "Install without a LaTeX typesetting system (not recommended)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} does not exist in the folder you specified."
-
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick is required to support various image formats."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Please specify whether you want to download ImageMagick or have it already installed. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Please specify whether you want to install ImageMagick or have it already installed. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Download ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Install ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Use an existing ImageMagick installation in the following folder:"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "This folder should contain ${BIN_IMAGEMAGICK}."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NONE "Install without ImageMagick (not recommended)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} does not exist in the folder you specified."
-
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript is required to preview images in PostScript format."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Please specify whether you want to download Ghostscript or have it already installed. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Please specify whether you want to install Ghostscript or have it already installed. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Download Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Install Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Use an existing Ghostscript installation in the following folder:"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "This folder should contain ${BIN_GHOSTSCRIPT}."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Install without GhostScript (not recommended)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} does not exist in the folder you specified."
-
-!insertmacro LanguageString TEXT_VIEWER_TITLE "Document Viewer"
-!insertmacro LanguageString TEXT_VIEWER_SUBTITLE "A viewer is required to be able to display typeset documents on your screen."
-!insertmacro LanguageString TEXT_VIEWER_INFO_DOWNLOAD "There is no viewer installed on your system to preview both PDF and Postscript files, which are common formats for typeset documents. If you check the box below, the PDF/Postscript viewer GSView will be downloaded. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_INFO_INSTALL "There is no viewer installed on your system to preview both PDF and Postscript files, which are common formats for typeset documents. If you check the box below, the PDF/Postscript viewer GSView will be installed. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_DOWNLOAD "Download GSView"
-!insertmacro LanguageString TEXT_VIEWER_INSTALL "Install GSView"
-
-!insertmacro LanguageString TEXT_DICT_TITLE "Spell Checker Dictionaries"
-!insertmacro LanguageString TEXT_DICT_SUBTITLE "Choose the languages you want the spell checker to support."
-!insertmacro LanguageString TEXT_DICT_TOP "In order to spell check documents in a certain language, a dictionary with valid words has to be downloaded. $_CLICK"
-!insertmacro LanguageString TEXT_DICT_LIST "Select dictionaries to download:"
-
-!insertmacro LanguageString TEXT_LANGUAGE_TITLE "Choose Language"
-!insertmacro LanguageString TEXT_LANGUAGE_SUBTITLE "Choose the language in which you want to use $(^NameDA)."
-!insertmacro LanguageString TEXT_LANGUAGE_INFO "Select the language to use for the ${APP_NAME} interface. $(^ClickNext)"
-
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_LATEX "Downloading MiKTeX failed. Would you like to try again?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Downloading ImageMagick failed. Would you like to try again?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Downloading Ghostscript failed. Would you like to try again?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_VIEWER "Downloading GSView failed. Would you like to try again?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_DICT "Failed to download the ${DICT_NAME} spell checker dictionary. Would you like to try again?"
-
-!insertmacro LanguageString TEXT_NOTINSTALLED_LATEX "The MiKTeX setup wizard was not completed. Do you want to run MiKTeX setup again?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_IMAGEMAGICK "The ImageMagick was not completed. Do you want to run ImageMagick setup again?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_GHOSTSCRIPT "The Ghostscript setup wizard was not completed. Do you want to run Ghostscript setup again?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_VIEWER "You did not associate GSView with the PDF/Postscript file types. Do you want to run GSView setup again?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_DICT "The setup wizard of the ${DICT_NAME} spell checker dictionary was not completed. Do you want to run the setup again?"
-
-!insertmacro LanguageString TEXT_FINISH_DESKTOP "Create desktop shortcut"
-!insertmacro LanguageString TEXT_FINISH_WEBSITE "Visit lyx.org for the latest news, support and tips"
-
-!insertmacro LanguageString UNTEXT_WELCOME "This wizard will guide you through the uninstallation of $(^NameDA). Please close $(^NameDA) before you continue.\r\n\r\nNote that this wizard will only uninstall LyX itself. If you want to uninstall other applications you installed for use with LyX, uninstall them using their entry in Add/Remove Programs.\r\n\r\n$_CLICK"
+!insertmacro LANGFILE_EXT "English"
+
+${LangFileString} TEXT_NO_PRIVILEDGES "You do not have Administrator or Power User privileges.$\r$\n$\r$\nAlthough you can install ${APP_NAME} and the typesetting system, the utilities for image conversion and previewing cannot be installed without these priviledges."
+
+${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
+
+${LangFileString} TEXT_WELCOME_DOWNLOAD "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.$\r$\n$\r$\nThis installer will setup a complete environment to use ${APP_NAME} and can download missing components automatically.$\r$\n$\r$\n$(^ClickNext)"
+${LangFileString} TEXT_WELCOME_INSTALL "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.$\r$\n$\r$\nThis installer will setup a complete environment to use ${APP_NAME} and can install missing components automatically.$\r$\n$\r$\n$(^ClickNext)"
+
+${LangFileString} TEXT_REINSTALL_TITLE "Reinstall"
+${LangFileString} TEXT_REINSTALL_SUBTITLE "Choose whether you want to reinstall the $(^NameDA) program files."
+${LangFileString} TEXT_REINSTALL_INFO "$(^NameDA) is already installed. This installer will allow you to change the interface language and locations of external applications or download additional dictionaries. If you also want to reinstall the program files, check the box below. $(^ClickNext)"
+${LangFileString} TEXT_REINSTALL_ENABLE "Reinstall $(^NameDA) program files"
+
+${LangFileString} TEXT_EXTERNAL_NOPRIVILEDGES "(Administrator or Power User privileges required)"
+
+${LangFileString} TEXT_EXTERNAL_LATEX_TITLE "LaTeX Typesetting System"
+${LangFileString} TEXT_EXTERNAL_LATEX_SUBTITLE "A typesetting system is required to be able to create documents for printing or publishing."
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Please specify whether you want to download MiKTeX or want to use an existing LaTeX system. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_INSTALL "Please specify whether you want to install MiKTeX or want to use an existing LaTeX system. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_DOWNLOAD "Download MiKTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_INSTALL "Install MiKTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER "Use an existing LaTeX system in the following folder:"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER_INFO "This folder should contain ${BIN_LATEX}."
+${LangFileString} TEXT_EXTERNAL_LATEX_NONE "Install without a LaTeX typesetting system (not recommended)"
+${LangFileString} TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} does not exist in the folder you specified."
+
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick is required to support various image formats."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Please specify whether you want to download ImageMagick or have it already installed. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Please specify whether you want to install ImageMagick or have it already installed. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Download ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Install ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Use an existing ImageMagick installation in the following folder:"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "This folder should contain ${BIN_IMAGEMAGICK}."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NONE "Install without ImageMagick (not recommended)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} does not exist in the folder you specified."
+
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript is required to preview images in PostScript format."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Please specify whether you want to download Ghostscript or have it already installed. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Please specify whether you want to install Ghostscript or have it already installed. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Download Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Install Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Use an existing Ghostscript installation in the following folder:"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "This folder should contain ${BIN_GHOSTSCRIPT}."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Install without GhostScript (not recommended)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} does not exist in the folder you specified."
+
+${LangFileString} TEXT_VIEWER_TITLE "Document Viewer"
+${LangFileString} TEXT_VIEWER_SUBTITLE "A viewer is required to be able to display typeset documents on your screen."
+${LangFileString} TEXT_VIEWER_INFO_DOWNLOAD "There is no viewer installed on your system to preview both PDF and Postscript files, which are common formats for typeset documents. If you check the box below, the PDF/Postscript viewer GSView will be downloaded. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_INFO_INSTALL "There is no viewer installed on your system to preview both PDF and Postscript files, which are common formats for typeset documents. If you check the box below, the PDF/Postscript viewer GSView will be installed. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_DOWNLOAD "Download GSView"
+${LangFileString} TEXT_VIEWER_INSTALL "Install GSView"
+
+${LangFileString} TEXT_DICT_TITLE "Spell Checker Dictionaries"
+${LangFileString} TEXT_DICT_SUBTITLE "Choose the languages you want the spell checker to support."
+${LangFileString} TEXT_DICT_TOP "In order to spell check documents in a certain language, a dictionary with valid words has to be downloaded. $_CLICK"
+${LangFileString} TEXT_DICT_LIST "Select dictionaries to download:"
+
+${LangFileString} TEXT_LANGUAGE_TITLE "Choose Language"
+${LangFileString} TEXT_LANGUAGE_SUBTITLE "Choose the language in which you want to use $(^NameDA)."
+${LangFileString} TEXT_LANGUAGE_INFO "Select the language to use for the ${APP_NAME} interface. $(^ClickNext)"
+
+${LangFileString} TEXT_DOWNLOAD_FAILED_LATEX "Downloading MiKTeX failed. Would you like to try again?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Downloading ImageMagick failed. Would you like to try again?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Downloading Ghostscript failed. Would you like to try again?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_VIEWER "Downloading GSView failed. Would you like to try again?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_DICT "Failed to download the $DictionaryLangName spell checker dictionary. Would you like to try again?"
+
+${LangFileString} TEXT_NOTINSTALLED_LATEX "The MiKTeX setup wizard was not completed. Do you want to run MiKTeX setup again?"
+${LangFileString} TEXT_NOTINSTALLED_IMAGEMAGICK "The ImageMagick was not completed. Do you want to run ImageMagick setup again?"
+${LangFileString} TEXT_NOTINSTALLED_GHOSTSCRIPT "The Ghostscript setup wizard was not completed. Do you want to run Ghostscript setup again?"
+${LangFileString} TEXT_NOTINSTALLED_VIEWER "You did not associate GSView with the PDF/Postscript file types. Do you want to run GSView setup again?"
+${LangFileString} TEXT_NOTINSTALLED_DICT "The setup wizard of the $DictionaryLangName spell checker dictionary was not completed. Do you want to run the setup again?"
+
+${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
+${LangFileString} TEXT_FINISH_WEBSITE "Visit lyx.org for the latest news, support and tips"
+
+${LangFileString} UNTEXT_WELCOME "This wizard will guide you through the uninstallation of $(^NameDA). Please close $(^NameDA) before you continue.$\r$\n$\r$\nNote that this wizard will only uninstall LyX itself. If you want to uninstall other applications you installed for use with LyX, uninstall them using their entry in Add/Remove Programs.$\r$\n$\r$\n$_CLICK"
index 49f26689f31cb12483bae5e352ae966fa342ca03..88b7684ba85ca0e224b2bad18da36d4b49878e29 100644 (file)
@@ -6,86 +6,82 @@ Author: Jean-Pierre Chr
 
 */
 
-!insertmacro LanguageString TEXT_NO_PRIVILEDGES "Vous n'avez pas les privilèges d'administrateur.$\r$\n$\r$\nBien que vous puissiez installer ${APP_NAME} et le système typographique, les utilitaires de conversion de format graphique et de prévisualisation ne peuvent être installés sans ces privilèges."
-
-!insertmacro LanguageString TEXT_WELCOME_DOWNLOAD "Cet assistant va vous guider tout au long de l'installation de $(^NameDA), le constructeur de documents qui encourage une saisie fondée sur la structure du document plutôt que sur son apparence.\r\n\r\nCet assistant d'installation va paramétrer un environnement complet d'utilisation de ${APP_NAME} et peut télécharger automatiquement les composants manquants.\r\n\r\n$(^ClickNext)"
-!insertmacro LanguageString TEXT_WELCOME_INSTALL "Cet assistant va vous guider tout au long de l'installation de $(^NameDA), le constructeur de documents qui encourage une saisie fondée sur la structure du document plutôt que sur son apparence.\r\n\r\nCet assistant d'installation va paramétrer un environnement complet d'utilisation de ${APP_NAME} et peut installer automatiquement les composants manquants.\r\n\r\n$(^ClickNext)"
-
-!insertmacro LanguageString TEXT_USER_TITLE "Choix des utilisateurs"
-!insertmacro LanguageString TEXT_USER_SUBTITLE "Sélection des utilisateurs désirant utiliser $(^NameDA)."
-!insertmacro LanguageString TEXT_USER_INFO "Choix entre installer $(^NameDA) seulement pour vous-même  ou bien pour tous les utilisateurs du système. $(^ClickNext)"
-!insertmacro LanguageString TEXT_USER_CURRENT "Installer seulement pour moi."
-!insertmacro LanguageString TEXT_USER_ALL "Installer pour tous les utilisateurs."
-
-!insertmacro LanguageString TEXT_REINSTALL_TITLE "Réinstallation"
-!insertmacro LanguageString TEXT_REINSTALL_SUBTITLE "Réinstallation éventuelle des fichiers programmes de $(^NameDA)."
-!insertmacro LanguageString TEXT_REINSTALL_INFO "$(^NameDA) est déjà installé. Cet assistant vous permettra de modifier le langage de l'interface ou l'emplacement des applications externes, ou de télécharger de nouveaux dictionnaires. Si vous souhaitez réinstaller aussi les fichiers programmes, cochez la case ci-dessous. $(^ClickNext)"
-!insertmacro LanguageString TEXT_REINSTALL_ENABLE "Réinstaller les fichiers programmes $(^NameDA)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Privilèges d'administration requis)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_TITLE "Système typographique LaTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_SUBTITLE "Un système typographique est requis pour pouvoir créer des documents imprimables ou publiables."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger MikTeX ou si vous voulez utiliser une distribution LaTeX existante. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_INSTALL "Merci de préciser si vous désirez installer MikTeX ou si vous voulez utiliser une distribution LaTeX existante. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_DOWNLOAD "Télécharger MikTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INSTALL "Installer MikTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER "Utiliser une distribution LaTeX existante dans le répertoire suivant :"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER_INFO "Ce répertoire doit contenir ${BIN_LATEX}."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NONE "Installer sans distribution LaTeX (non recommandé)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} n'existe pas dans le répertoire spécifié."
-
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick est requis pour les conversions de formats graphiques variés."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger ImageMagick ou si vous en disposez déjà. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Merci de préciser si vous désirez installer ImageMagick ou si vous en disposez déjà. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Télécharger ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Installer ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Utiliser une installation ImageMagick existante dans le répertoire suivant :"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Ce répertoire doit contenir ${BIN_IMAGEMAGICK}."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installer sans ImageMagick (non recommandé)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} n'existe pas dans le répertoire spécifié."
-
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript est requis pour prévisualiser les documents au format PostScript."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger Ghostscript ou si vous en disposez déjà. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Merci de préciser si vous désirez installer Ghostscript ou si vous en disposez déjà. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Télécharger Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Installer Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Utiliser une installation Ghostscript existante dans le répertoire suivant :"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Ce répertoire doit contenir ${BIN_GHOSTSCRIPT}."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installer sans GhostScript (non recommandé)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} n'existe pas dans le répertoire spécifié."
-
-!insertmacro LanguageString TEXT_VIEWER_TITLE "Visualisation des documents"
-!insertmacro LanguageString TEXT_VIEWER_SUBTITLE "Un afficheur est requis pour présenter les résultats des traitements à l'écran."
-!insertmacro LanguageString TEXT_VIEWER_INFO_DOWNLOAD "Il n'y a pas d'afficheur installé sur votre système pour prévisualiser les fichiers PDF et PostScript , formats courants de la version typographique des documents. Si vous cochez la case ci-dessous, l'afficheur PDF/PostScript Gaviez sera téléchargé. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_INFO_INSTALL "Il n'y a pas d'afficheur installé sur votre système pour prévisualiser les fichiers PDF et PostScript , formats courants de la version typographique des documents. Si vous cochez la case ci-dessous, l'afficheur PDF/PostScript GSView sera installé. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_DOWNLOAD "Télécharger GSView"
-!insertmacro LanguageString TEXT_VIEWER_INSTALL "Installer GSView"
-
-!insertmacro LanguageString TEXT_DICT_TITLE "Dictionnaires orthographiques"
-!insertmacro LanguageString TEXT_DICT_SUBTITLE "Sélection des langues pour lesquelles vous désirez un dictionnaire orthographique."
-!insertmacro LanguageString TEXT_DICT_TOP "Pour vérifier l'orthographe des documents dans un langage donné, un dictionnaire contenant les mots admis dot être téléchargé. Sélectionner les dictionnaires à télécharger. $_CLICK"
-!insertmacro LanguageString TEXT_DICT_LIST "Sélectionner les dictionnaires à télécharger :"
-
-!insertmacro LanguageString TEXT_LANGUAGE_TITLE "Choix de la langue"
-!insertmacro LanguageString TEXT_LANGUAGE_SUBTITLE "Choix de la langue de l'interface $(^NameDA)."
-!insertmacro LanguageString TEXT_LANGUAGE_INFO "Sélectionner la langue à utiliser dans l'interface ${APP_NAME}. $(^ClickNext)"
-
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_LATEX "Le téléchargement de MikTeX a échoué. Voulez-vous réessayer ?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Le téléchargement de ImageMagick a échoué. Voulez-vous réessayer ?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Le téléchargement de Ghostscript a échoué. Voulez-vous réessayer ?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_VIEWER "Le téléchargement de GSView a échoué. Voulez-vous réessayer ?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_DICT "Le téléchargement du dictionnaire orthographique ${DICT_NAME} a échoué. Voulez-vous réessayer ?"
-
-!insertmacro LanguageString TEXT_NOTINSTALLED_LATEX "L'installation de MikTeX est restée incomplète. Voulez-vous relancer l'installation de MikTeX ?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_IMAGEMAGICK "L'installation de ImageMagick est restée incomplète. Voulez-vous relancer l'installation de ImageMagick ?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_GHOSTSCRIPT "L'installation de Ghostscript est restée incomplète. Voulez-vous relancer l'installation de Ghostscript ?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_VIEWER "Vous n'avez pas associé GSView aux types de fichier PDF/PostScript. Voulez-vous relancer l'installation de GSView ?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_DICT "L'installation du dictionnaire orthographique ${DICT_NAME} est restée incomplète. Voulez-vous relancer l'installation ?"
-
-!insertmacro LanguageString TEXT_FINISH_DESKTOP "Créer un raccourci sur le bureau"
-!insertmacro LanguageString TEXT_FINISH_WEBSITE "Consulter les dernières nouvelles, trucs et astuces sur le site lyx.org"
-
-!insertmacro LanguageString UNTEXT_WELCOME "Cet assistant va vous guider tout au long de la désinstallation de $(^NameDA). Merci de quitter $(^NameDA) avant de poursuivre.\r\n\r\nNotez bien que cet assistant ne désinstallera que LyX proprement dit. Si vous désirez désinstaller d'autres applications que vous avez installées pour les besoins de $(^NameDA), effectuez cette désinstallation via la page « Ajout/Suppression de programmes ».\r\n\r\n$_CLICK"
+!insertmacro LANGFILE_EXT "French"
+
+${LangFileString} TEXT_NO_PRIVILEDGES "Vous n'avez pas les privilèges d'administrateur.$\r$\n$\r$\nBien que vous puissiez installer ${APP_NAME} et le système typographique, les utilitaires de conversion de format graphique et de prévisualisation ne peuvent être installés sans ces privilèges."
+
+${LangFileString} TEXT_WELCOME_DOWNLOAD "Cet assistant va vous guider tout au long de l'installation de $(^NameDA), le constructeur de documents qui encourage une saisie fondée sur la structure du document plutôt que sur son apparence.$\r$\n$\r$\nCet assistant d'installation va paramétrer un environnement complet d'utilisation de ${APP_NAME} et peut télécharger automatiquement les composants manquants.$\r$\n$\r$\n$(^ClickNext)"
+${LangFileString} TEXT_WELCOME_INSTALL "Cet assistant va vous guider tout au long de l'installation de $(^NameDA), le constructeur de documents qui encourage une saisie fondée sur la structure du document plutôt que sur son apparence.$\r$\n$\r$\nCet assistant d'installation va paramétrer un environnement complet d'utilisation de ${APP_NAME} et peut installer automatiquement les composants manquants.$\r$\n$\r$\n$(^ClickNext)"
+
+${LangFileString} TEXT_REINSTALL_TITLE "Réinstallation"
+${LangFileString} TEXT_REINSTALL_SUBTITLE "Réinstallation éventuelle des fichiers programmes de $(^NameDA)."
+${LangFileString} TEXT_REINSTALL_INFO "$(^NameDA) est déjà installé. Cet assistant vous permettra de modifier le langage de l'interface ou l'emplacement des applications externes, ou de télécharger de nouveaux dictionnaires. Si vous souhaitez réinstaller aussi les fichiers programmes, cochez la case ci-dessous. $(^ClickNext)"
+${LangFileString} TEXT_REINSTALL_ENABLE "Réinstaller les fichiers programmes $(^NameDA)"
+
+${LangFileString} TEXT_EXTERNAL_NOPRIVILEDGES "(Privilèges d'administration requis)"
+
+${LangFileString} TEXT_EXTERNAL_LATEX_TITLE "Système typographique LaTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_SUBTITLE "Un système typographique est requis pour pouvoir créer des documents imprimables ou publiables."
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger MikTeX ou si vous voulez utiliser une distribution LaTeX existante. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_INSTALL "Merci de préciser si vous désirez installer MikTeX ou si vous voulez utiliser une distribution LaTeX existante. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_DOWNLOAD "Télécharger MikTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_INSTALL "Installer MikTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER "Utiliser une distribution LaTeX existante dans le répertoire suivant :"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER_INFO "Ce répertoire doit contenir ${BIN_LATEX}."
+${LangFileString} TEXT_EXTERNAL_LATEX_NONE "Installer sans distribution LaTeX (non recommandé)"
+${LangFileString} TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} n'existe pas dans le répertoire spécifié."
+
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick est requis pour les conversions de formats graphiques variés."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger ImageMagick ou si vous en disposez déjà. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Merci de préciser si vous désirez installer ImageMagick ou si vous en disposez déjà. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Télécharger ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Installer ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Utiliser une installation ImageMagick existante dans le répertoire suivant :"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Ce répertoire doit contenir ${BIN_IMAGEMAGICK}."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installer sans ImageMagick (non recommandé)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} n'existe pas dans le répertoire spécifié."
+
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript est requis pour prévisualiser les documents au format PostScript."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Merci de préciser si vous désirez télécharger Ghostscript ou si vous en disposez déjà. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Merci de préciser si vous désirez installer Ghostscript ou si vous en disposez déjà. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Télécharger Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Installer Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Utiliser une installation Ghostscript existante dans le répertoire suivant :"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Ce répertoire doit contenir ${BIN_GHOSTSCRIPT}."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installer sans GhostScript (non recommandé)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} n'existe pas dans le répertoire spécifié."
+
+${LangFileString} TEXT_VIEWER_TITLE "Visualisation des documents"
+${LangFileString} TEXT_VIEWER_SUBTITLE "Un afficheur est requis pour présenter les résultats des traitements à l'écran."
+${LangFileString} TEXT_VIEWER_INFO_DOWNLOAD "Il n'y a pas d'afficheur installé sur votre système pour prévisualiser les fichiers PDF et PostScript , formats courants de la version typographique des documents. Si vous cochez la case ci-dessous, l'afficheur PDF/PostScript Gaviez sera téléchargé. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_INFO_INSTALL "Il n'y a pas d'afficheur installé sur votre système pour prévisualiser les fichiers PDF et PostScript , formats courants de la version typographique des documents. Si vous cochez la case ci-dessous, l'afficheur PDF/PostScript GSView sera installé. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_DOWNLOAD "Télécharger GSView"
+${LangFileString} TEXT_VIEWER_INSTALL "Installer GSView"
+
+${LangFileString} TEXT_DICT_TITLE "Dictionnaires orthographiques"
+${LangFileString} TEXT_DICT_SUBTITLE "Sélection des langues pour lesquelles vous désirez un dictionnaire orthographique."
+${LangFileString} TEXT_DICT_TOP "Pour vérifier l'orthographe des documents dans un langage donné, un dictionnaire contenant les mots admis dot être téléchargé. Sélectionner les dictionnaires à télécharger. $_CLICK"
+${LangFileString} TEXT_DICT_LIST "Sélectionner les dictionnaires à télécharger :"
+
+${LangFileString} TEXT_LANGUAGE_TITLE "Choix de la langue"
+${LangFileString} TEXT_LANGUAGE_SUBTITLE "Choix de la langue de l'interface $(^NameDA)."
+${LangFileString} TEXT_LANGUAGE_INFO "Sélectionner la langue à utiliser dans l'interface ${APP_NAME}. $(^ClickNext)"
+
+${LangFileString} TEXT_DOWNLOAD_FAILED_LATEX "Le téléchargement de MikTeX a échoué. Voulez-vous réessayer ?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Le téléchargement de ImageMagick a échoué. Voulez-vous réessayer ?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Le téléchargement de Ghostscript a échoué. Voulez-vous réessayer ?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_VIEWER "Le téléchargement de GSView a échoué. Voulez-vous réessayer ?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_DICT "Le téléchargement du dictionnaire orthographique $DictionaryLangName a échoué. Voulez-vous réessayer ?"
+
+${LangFileString} TEXT_NOTINSTALLED_LATEX "L'installation de MikTeX est restée incomplète. Voulez-vous relancer l'installation de MikTeX ?"
+${LangFileString} TEXT_NOTINSTALLED_IMAGEMAGICK "L'installation de ImageMagick est restée incomplète. Voulez-vous relancer l'installation de ImageMagick ?"
+${LangFileString} TEXT_NOTINSTALLED_GHOSTSCRIPT "L'installation de Ghostscript est restée incomplète. Voulez-vous relancer l'installation de Ghostscript ?"
+${LangFileString} TEXT_NOTINSTALLED_VIEWER "Vous n'avez pas associé GSView aux types de fichier PDF/PostScript. Voulez-vous relancer l'installation de GSView ?"
+${LangFileString} TEXT_NOTINSTALLED_DICT "L'installation du dictionnaire orthographique $DictionaryLangName est restée incomplète. Voulez-vous relancer l'installation ?"
+
+${LangFileString} TEXT_FINISH_DESKTOP "Créer un raccourci sur le bureau"
+${LangFileString} TEXT_FINISH_WEBSITE "Consulter les dernières nouvelles, trucs et astuces sur le site lyx.org"
+
+${LangFileString} UNTEXT_WELCOME "Cet assistant va vous guider tout au long de la désinstallation de $(^NameDA). Merci de quitter $(^NameDA) avant de poursuivre.$\r$\n$\r$\nNotez bien que cet assistant ne désinstallera que LyX proprement dit. Si vous désirez désinstaller d'autres applications que vous avez installées pour les besoins de $(^NameDA), effectuez cette désinstallation via la page « Ajout/Suppression de programmes ».$\r$\n$\r$\n$_CLICK"
index b77336d65bf72cd8f63d9a71c017da6c288e8ae8..93c5322f8a2ca3d896c856665ee3f980fb44bd0a 100644 (file)
@@ -6,86 +6,82 @@ Author: Andreas Deininger
 
 */
 
-!insertmacro LanguageString TEXT_NO_PRIVILEDGES "Sie gehören weder der Gruppe der Administratoren noch der Gruppe der Hauptbenutzer an.$\r$\n$\r$\nSie können zwar ${APP_NAME} installieren und ebenso auch das Satzprogramm. Die Werkzeuge zur Grafikkonvertierung und für die Vorschau können jedoch ohne diese Rechte nicht installiert werden."
-
-!insertmacro LanguageString TEXT_WELCOME_DOWNLOAD "Dieses Installationsprogramm wird Sie durch die Installation von $(^NameDA) leiten, des Dokumentenverarbeitungsprogramms welches das Verfassen von Texten basierend auf ihrer Struktur unterstützt, nicht das Verfassen von Texten ausgerichtet auf ihr Erscheinungsbild.\r\n\r\nDieses Installationsprogramm wird ein Komplettsystem zur Nutzung von ${APP_NAME} auf Ihrem Rechner erzeugen, dabei können fehlende Komponenten automatisch heruntergeladen werden.\r\n\r\n$(^ClickNext)"
-!insertmacro LanguageString TEXT_WELCOME_INSTALL "Dieses Installationsprogramm wird Sie durch die Installation von $(^NameDA) leiten, des Dokumentenverarbeitungsprogramms welches das Verfassen von Texten basierend auf ihrer Struktur unterstützt, nicht das Verfassen von Texten ausgerichtet auf ihr Erscheinungsbild.\r\n\r\nDieses Installationsprogramm wird ein Komplettsystem zur Nutzung von ${APP_NAME} auf Ihrem Rechner erzeugen, dabei können fehlende Komponenten automatisch heruntergeladen werden.\r\n\r\n$(^ClickNext)"
-
-!insertmacro LanguageString TEXT_USER_TITLE "Benutzer auswählen"
-!insertmacro LanguageString TEXT_USER_SUBTITLE "Wählen Sie die Benutzer aus, für die Sie $(^NameDA) installieren wollen."
-!insertmacro LanguageString TEXT_USER_INFO "Wählen Sie aus, ob Sie $(^NameDA) nur für den eigenen Gebrauch oder für die Nutzung durch alle Benutzer dieses Systems installieren möchten. $(^ClickNext)"
-!insertmacro LanguageString TEXT_USER_CURRENT "Installation nur für mich"
-!insertmacro LanguageString TEXT_USER_ALL "Installation für alle Benutzer dieses Computers"
-
-!insertmacro LanguageString TEXT_REINSTALL_TITLE "Erneute Installation"
-!insertmacro LanguageString TEXT_REINSTALL_SUBTITLE "Wählen Sie aus, ob Sie die $(^NameDA) Programmdateien erneut installieren möchten."
-!insertmacro LanguageString TEXT_REINSTALL_INFO "$(^NameDA) ist bereits installiert. Das Installationsprogramm gestattet Ihnen die Spracheinstellungen der Benutzeroberfläche oder den Ort externer Anwendungen abzuändern, ferner können Sie zusätzliche Wörterbücher herunterladen. Falls Sie die Programmdateien erneut installieren möchten, markieren Sie das untenstehende Kästchen. $(^ClickNext)"
-!insertmacro LanguageString TEXT_REINSTALL_ENABLE "$(^NameDA) Programmdateien erneut installieren"
-
-!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Rechte als Administrator oder Hauptbenutzer erforderlich)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_TITLE "LaTeX Satzsystem"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_SUBTITLE "Es wird ein Satzsystem benötigt, um Dokumente zum Druck oder zur Publikation erzeugen zu können."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Bitte geben Sie an, ob sie MiKTeX herunterladen wollen oder ob Sie eine bereits existierendes LaTeX-System nutzen wollen. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_INSTALL "Bitte geben Sie an, ob sie MiKTeX installieren wollen oder ob Sie eine bereits existierendes LaTeX -System nutzen wollen. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_DOWNLOAD "MiKTeX herunterladen"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INSTALL "MiKTeX installieren"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER "Ein bereits existierendes LaTeX-System im folgenden Verzeichnis nutzen:"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_LATEX} enthalten."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NONE "Installation ohne das LaTeX Satzsystem (nicht empfohlen)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
-
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick wird benötigt, damit verschiedene Bildformate unterstützt werden können."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Bitte geben Sie an, ob sie ImageMagick herunterladen wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Bitte geben Sie an, ob sie ImageMagick installieren wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "ImageMagick herunterladen"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "ImageMagick installieren"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Eine bereits bestehende ImageMagick-Installation aus dem folgenden Verzeichnis nutzen:"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_IMAGEMAGICK} enthalten."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installation ohne ImageMagick (nicht empfohlen)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
-
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript wird für die Vorschauansicht von Bildern im PostScript-Format benötigt."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Bitte geben Sie an, ob sie Ghostscript herunterladen wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Bitte geben Sie an, ob sie Ghostscript installieren wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Ghostscript herunterladen"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Ghostscript installieren"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Eine bereits bestehende Ghostscript-Installation aus dem folgenden Verzeichnis nutzen:"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_GHOSTSCRIPT} enthalten."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installation ohne Ghostscript (nicht empfohlen)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
-
-!insertmacro LanguageString TEXT_VIEWER_TITLE "Dokumentenbetrachter"
-!insertmacro LanguageString TEXT_VIEWER_SUBTITLE "Um von Ihnen verfasste Dokumente auf Ihrem Bildschirm anzuzeigen, wird ein Anzeigeprogramm benötigt."
-!insertmacro LanguageString TEXT_VIEWER_INFO_DOWNLOAD "Auf Ihrem System ist kein Anzeigeprogramm für die Vorschauansicht von sowohl PDF- als auch Postscript-Dateien installiert, beides sind gebräuchliche Formate beim Dokumentensatz. Falls Sie das untenstehende Kästchen markieren, wird GSView heruntergeladen, ein Anzeigeprogramm für PDF- und Postscript-Dateien. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_INFO_INSTALL "Auf Ihrem System ist kein Anzeigeprogramm für die Vorschauansicht von sowohl PDF- als auch Postscript-Dateien installiert, beides sind gebräuchliche Formate beim Dokumentensatz. Falls Sie das untenstehende Kästchen markieren, wird GSView installiert, ein Anzeigeprogramm für PDF- und Postscript-Dateien. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_DOWNLOAD "GSView herunterladen"
-!insertmacro LanguageString TEXT_VIEWER_INSTALL "GSView installieren"
-
-!insertmacro LanguageString TEXT_DICT_TITLE "Wörterbücher zur Rechtschreibprüfung"
-!insertmacro LanguageString TEXT_DICT_SUBTITLE "Wählen Sie die Sprachen aus, für die eine Rechtschreibprüfung möglich sein soll."
-!insertmacro LanguageString TEXT_DICT_TOP "Um für Dokumente in einer bestimmten Sprache die Rechtschreibprüfung zu benutzen, muss ein Wörterbuch heruntergeladen werden. $_CLICK"
-!insertmacro LanguageString TEXT_DICT_LIST "Wählen Sie die Wörterbucher aus, die Sie herunterladen möchten:"
-
-!insertmacro LanguageString TEXT_LANGUAGE_TITLE "Wählen Sie die Sprache aus"
-!insertmacro LanguageString TEXT_LANGUAGE_SUBTITLE "Wählen Sie die Sprache aus, in der Sie $(^NameDA) nutzen wollen."
-!insertmacro LanguageString TEXT_LANGUAGE_INFO "Wählen Sie die Sprache aus, die Sie für die ${APP_NAME} Benutzeroberfläche nutzen wollen. $(^ClickNext)"
-
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_LATEX "Das Herunterladen von MiKTeX ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Das Herunterladen von ImageMagick ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Das Herunterladen von Ghostscript ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_VIEWER "Das Herunterladen von GSView ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_DICT "Das Herunterladen von Wöterbüchern für die ${DICT_NAME} Rechtschreibprüfung ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
-
-!insertmacro LanguageString TEXT_NOTINSTALLED_LATEX "Die Installation von MiKTeX konnte nicht erfolgreich abgeschlossen werden. Möchten Sie MiKTeX erneut installieren?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_IMAGEMAGICK "Die Installation von ImageMagick konnte nicht erfolgreich abgeschlossen werden. Möchten Sie ImageMagick erneut installieren?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_GHOSTSCRIPT "Die Installation von Ghostscript konnte nicht erfolgreich abgeschlossen werden. Möchten Sie Ghostscript erneut installieren?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_VIEWER "GSView ist nicht für die Anzeige von PDF- oder Postscript-Dateien konfiguriert. Möchten Sie GSView erneut installieren?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_DICT "Die Installation der Wörterbucher für die ${DICT_NAME} Rechtschreibprüfung konnte nicht erfolgreich abgeschlossen werden. Möchten Sie die Installation erneut versuchen?"
-
-!insertmacro LanguageString TEXT_FINISH_DESKTOP "Ein Symbol auf der Arbeitsoberfläche erzeugen"
-!insertmacro LanguageString TEXT_FINISH_WEBSITE "Besuchen Sie lyx.org für aktuelle Neuigkeiten"
-
-!insertmacro LanguageString UNTEXT_WELCOME "Dieses Installationsprogramm wird Sie durch die Deinstallation von $(^NameDA) leiten. Bitte schließen Sie $(^NameDA) bevor Sie fortfahren.\r\n\r\nBeachten Sie bitte, dass im folgenden nur LyX selbst deinstalliert wird. Falls Sie andere Anwendungen aus ihrem System entfernen möchten, die zur Nutzung von Lyx installiert wurden, benutzen Sie hierzu bitte den Eintrag Software im Menü Systemsteuerung und wählen Sie dort dann den entsprechenden Eintrag für das Programm aus.\r\n\r\n$_CLICK"
+!insertmacro LANGFILE_EXT "German"
+
+${LangFileString} TEXT_NO_PRIVILEDGES "Sie gehören weder der Gruppe der Administratoren noch der Gruppe der Hauptbenutzer an.$\r$\n$\r$\nSie können zwar ${APP_NAME} installieren und ebenso auch das Satzprogramm. Die Werkzeuge zur Grafikkonvertierung und für die Vorschau können jedoch ohne diese Rechte nicht installiert werden."
+
+${LangFileString} TEXT_WELCOME_DOWNLOAD "Dieses Installationsprogramm wird Sie durch die Installation von $(^NameDA) leiten, des Dokumentenverarbeitungsprogramms welches das Verfassen von Texten basierend auf ihrer Struktur unterstützt, nicht das Verfassen von Texten ausgerichtet auf ihr Erscheinungsbild.$\r$\n$\r$\nDieses Installationsprogramm wird ein Komplettsystem zur Nutzung von ${APP_NAME} auf Ihrem Rechner erzeugen, dabei können fehlende Komponenten automatisch heruntergeladen werden.$\r$\n$\r$\n$(^ClickNext)"
+${LangFileString} TEXT_WELCOME_INSTALL "Dieses Installationsprogramm wird Sie durch die Installation von $(^NameDA) leiten, des Dokumentenverarbeitungsprogramms welches das Verfassen von Texten basierend auf ihrer Struktur unterstützt, nicht das Verfassen von Texten ausgerichtet auf ihr Erscheinungsbild.$\r$\n$\r$\nDieses Installationsprogramm wird ein Komplettsystem zur Nutzung von ${APP_NAME} auf Ihrem Rechner erzeugen, dabei können fehlende Komponenten automatisch heruntergeladen werden.$\r$\n$\r$\n$(^ClickNext)"
+
+${LangFileString} TEXT_REINSTALL_TITLE "Erneute Installation"
+${LangFileString} TEXT_REINSTALL_SUBTITLE "Wählen Sie aus, ob Sie die $(^NameDA) Programmdateien erneut installieren möchten."
+${LangFileString} TEXT_REINSTALL_INFO "$(^NameDA) ist bereits installiert. Das Installationsprogramm gestattet Ihnen die Spracheinstellungen der Benutzeroberfläche oder den Ort externer Anwendungen abzuändern, ferner können Sie zusätzliche Wörterbücher herunterladen. Falls Sie die Programmdateien erneut installieren möchten, markieren Sie das untenstehende Kästchen. $(^ClickNext)"
+${LangFileString} TEXT_REINSTALL_ENABLE "$(^NameDA) Programmdateien erneut installieren"
+
+${LangFileString} TEXT_EXTERNAL_NOPRIVILEDGES "(Rechte als Administrator oder Hauptbenutzer erforderlich)"
+
+${LangFileString} TEXT_EXTERNAL_LATEX_TITLE "LaTeX Satzsystem"
+${LangFileString} TEXT_EXTERNAL_LATEX_SUBTITLE "Es wird ein Satzsystem benötigt, um Dokumente zum Druck oder zur Publikation erzeugen zu können."
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Bitte geben Sie an, ob sie MiKTeX herunterladen wollen oder ob Sie eine bereits existierendes LaTeX-System nutzen wollen. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_INSTALL "Bitte geben Sie an, ob sie MiKTeX installieren wollen oder ob Sie eine bereits existierendes LaTeX -System nutzen wollen. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_DOWNLOAD "MiKTeX herunterladen"
+${LangFileString} TEXT_EXTERNAL_LATEX_INSTALL "MiKTeX installieren"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER "Ein bereits existierendes LaTeX-System im folgenden Verzeichnis nutzen:"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_LATEX} enthalten."
+${LangFileString} TEXT_EXTERNAL_LATEX_NONE "Installation ohne das LaTeX Satzsystem (nicht empfohlen)"
+${LangFileString} TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
+
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick wird benötigt, damit verschiedene Bildformate unterstützt werden können."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Bitte geben Sie an, ob sie ImageMagick herunterladen wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Bitte geben Sie an, ob sie ImageMagick installieren wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "ImageMagick herunterladen"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "ImageMagick installieren"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Eine bereits bestehende ImageMagick-Installation aus dem folgenden Verzeichnis nutzen:"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_IMAGEMAGICK} enthalten."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installation ohne ImageMagick (nicht empfohlen)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
+
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript wird für die Vorschauansicht von Bildern im PostScript-Format benötigt."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Bitte geben Sie an, ob sie Ghostscript herunterladen wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Bitte geben Sie an, ob sie Ghostscript installieren wollen oder ob Sie es bereits installiert haben. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Ghostscript herunterladen"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Ghostscript installieren"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Eine bereits bestehende Ghostscript-Installation aus dem folgenden Verzeichnis nutzen:"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Dieses Verzeichnis sollte ${BIN_GHOSTSCRIPT} enthalten."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installation ohne Ghostscript (nicht empfohlen)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} existiert nicht in dem von Ihnen angegebenen Verzeichnis."
+
+${LangFileString} TEXT_VIEWER_TITLE "Dokumentenbetrachter"
+${LangFileString} TEXT_VIEWER_SUBTITLE "Um von Ihnen verfasste Dokumente auf Ihrem Bildschirm anzuzeigen, wird ein Anzeigeprogramm benötigt."
+${LangFileString} TEXT_VIEWER_INFO_DOWNLOAD "Auf Ihrem System ist kein Anzeigeprogramm für die Vorschauansicht von sowohl PDF- als auch Postscript-Dateien installiert, beides sind gebräuchliche Formate beim Dokumentensatz. Falls Sie das untenstehende Kästchen markieren, wird GSView heruntergeladen, ein Anzeigeprogramm für PDF- und Postscript-Dateien. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_INFO_INSTALL "Auf Ihrem System ist kein Anzeigeprogramm für die Vorschauansicht von sowohl PDF- als auch Postscript-Dateien installiert, beides sind gebräuchliche Formate beim Dokumentensatz. Falls Sie das untenstehende Kästchen markieren, wird GSView installiert, ein Anzeigeprogramm für PDF- und Postscript-Dateien. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_DOWNLOAD "GSView herunterladen"
+${LangFileString} TEXT_VIEWER_INSTALL "GSView installieren"
+
+${LangFileString} TEXT_DICT_TITLE "Wörterbücher zur Rechtschreibprüfung"
+${LangFileString} TEXT_DICT_SUBTITLE "Wählen Sie die Sprachen aus, für die eine Rechtschreibprüfung möglich sein soll."
+${LangFileString} TEXT_DICT_TOP "Um für Dokumente in einer bestimmten Sprache die Rechtschreibprüfung zu benutzen, muss ein Wörterbuch heruntergeladen werden. $_CLICK"
+${LangFileString} TEXT_DICT_LIST "Wählen Sie die Wörterbucher aus, die Sie herunterladen möchten:"
+
+${LangFileString} TEXT_LANGUAGE_TITLE "Wählen Sie die Sprache aus"
+${LangFileString} TEXT_LANGUAGE_SUBTITLE "Wählen Sie die Sprache aus, in der Sie $(^NameDA) nutzen wollen."
+${LangFileString} TEXT_LANGUAGE_INFO "Wählen Sie die Sprache aus, die Sie für die ${APP_NAME} Benutzeroberfläche nutzen wollen. $(^ClickNext)"
+
+${LangFileString} TEXT_DOWNLOAD_FAILED_LATEX "Das Herunterladen von MiKTeX ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Das Herunterladen von ImageMagick ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Das Herunterladen von Ghostscript ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_VIEWER "Das Herunterladen von GSView ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_DICT "Das Herunterladen von Wöterbüchern für die $DictionaryLangName Rechtschreibprüfung ist fehlgeschlagen. Möchten Sie es erneut versuchen?"
+
+${LangFileString} TEXT_NOTINSTALLED_LATEX "Die Installation von MiKTeX konnte nicht erfolgreich abgeschlossen werden. Möchten Sie MiKTeX erneut installieren?"
+${LangFileString} TEXT_NOTINSTALLED_IMAGEMAGICK "Die Installation von ImageMagick konnte nicht erfolgreich abgeschlossen werden. Möchten Sie ImageMagick erneut installieren?"
+${LangFileString} TEXT_NOTINSTALLED_GHOSTSCRIPT "Die Installation von Ghostscript konnte nicht erfolgreich abgeschlossen werden. Möchten Sie Ghostscript erneut installieren?"
+${LangFileString} TEXT_NOTINSTALLED_VIEWER "GSView ist nicht für die Anzeige von PDF- oder Postscript-Dateien konfiguriert. Möchten Sie GSView erneut installieren?"
+${LangFileString} TEXT_NOTINSTALLED_DICT "Die Installation der Wörterbucher für die $DictionaryLangName Rechtschreibprüfung konnte nicht erfolgreich abgeschlossen werden. Möchten Sie die Installation erneut versuchen?"
+
+${LangFileString} TEXT_FINISH_DESKTOP "Ein Symbol auf der Arbeitsoberfläche erzeugen"
+${LangFileString} TEXT_FINISH_WEBSITE "Besuchen Sie lyx.org für aktuelle Neuigkeiten"
+
+${LangFileString} UNTEXT_WELCOME "Dieses Installationsprogramm wird Sie durch die Deinstallation von $(^NameDA) leiten. Bitte schließen Sie $(^NameDA) bevor Sie fortfahren.$\r$\n$\r$\nBeachten Sie bitte, dass im folgenden nur LyX selbst deinstalliert wird. Falls Sie andere Anwendungen aus ihrem System entfernen möchten, die zur Nutzung von Lyx installiert wurden, benutzen Sie hierzu bitte den Eintrag Software im Menü Systemsteuerung und wählen Sie dort dann den entsprechenden Eintrag für das Programm aus.$\r$\n$\r$\n$_CLICK"
index 4ac15bc34003182d5da59b32168434423646efe0..33d92afdeb4ee304955f2b79495747497e4f248c 100644 (file)
@@ -6,86 +6,82 @@ Author: Enrico Forestieri
 
 */
 
-!insertmacro LanguageString TEXT_NO_PRIVILEDGES "Non si hanno privilegi da amministratore o utente avanzato.$\r$\n$\r$\nSebbene sia possibile installare ${APP_NAME} ed il sistema di composizione tipografica, le utilità per la conversione delle immagini e per l'anteprima non possono essere installate senza tali privilegi."
-
-!insertmacro LanguageString TEXT_WELCOME_DOWNLOAD "Verrete guidati nell'installazione di $(^NameDA), il compilatore di documenti che incoraggia un approccio alla scrittura basato sulla struttura dei vostri testi, non sulla loro apparenza.\r\n\r\nQuesto installer preparerà un ambiente completo per usare ${APP_NAME} ed è in grado di scaricare automaticamente dalla rete i componenti mancanti.\r\n\r\n$(^ClickNext)"
-!insertmacro LanguageString TEXT_WELCOME_INSTALL "Verrete guidati nell'installazione di $(^NameDA), il compilatore di documenti che incoraggia un approccio alla scrittura basato sulla struttura dei vostri testi, non sulla loro apparenza.\r\n\r\nQuesto installer preparerà un ambiente completo per usare ${APP_NAME} ed è in grado di installare automaticamente i componenti mancanti.\r\n\r\n$(^ClickNext)"
-
-!insertmacro LanguageString TEXT_USER_TITLE "Scelta degli Utenti"
-!insertmacro LanguageString TEXT_USER_SUBTITLE "Scegliete per quali utenti volete installare $(^NameDA)."
-!insertmacro LanguageString TEXT_USER_INFO "Scegliete se volete installare $(^NameDA) solo per voi o per tutti gli utenti di questo sistema. $(^ClickNext)"
-!insertmacro LanguageString TEXT_USER_CURRENT "Installazione personale"
-!insertmacro LanguageString TEXT_USER_ALL "Installazione per tutti gli utenti"
-
-!insertmacro LanguageString TEXT_REINSTALL_TITLE "Reinstallazione"
-!insertmacro LanguageString TEXT_REINSTALL_SUBTITLE "Scegliete se volete reinstallare i file di $(^NameDA)."
-!insertmacro LanguageString TEXT_REINSTALL_INFO "$(^NameDA) è già installato. Questo installer vi consentirà di cambiare la lingua dell'interfaccia, l'ubicazione di applicazioni esterne o di scaricare dalla rete dizionari aggiuntivi. Se volete anche reinstallare i file del programma, selezionate la casella sottostante. $(^ClickNext)"
-!insertmacro LanguageString TEXT_REINSTALL_ENABLE "Reinstallazione dei file di $(^NameDA)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(sono richiesti privilegi da amministratore o utente avanzato)"
-
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_TITLE "Sistema di Composizione Tipografica LaTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_SUBTITLE "È necessario il sistema di composizione tipografica LaTeX per potere creare documenti adatti per la stampa o la pubblicazione."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete MiKTeX o volete usare un sistema LaTeX preesistente. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INFO_INSTALL "Specificate se volete installare MiKTeX o volete usare un sistema LaTeX preesistente. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_DOWNLOAD "Scarica MiKTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_INSTALL "Installa MiKTeX"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER "Usa il sistema LaTeX preesistente nella seguente cartella:"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_FOLDER_INFO "Questa cartella deve contenere ${BIN_LATEX}."
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NONE "Installa senza un sistema di composizione tipografica LaTeX (sconsigliato)"
-!insertmacro LanguageString TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} non è presente nella cartella specificata."
-
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick è necessario per il supporto di vari formati grafici."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete ImageMagick o se è già installato. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Specificate se volete installare ImageMagick o se è già installato. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Scarica ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Installa ImageMagick"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Usa l'installazione di ImageMagick preesistente nella seguente cartella:"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Questa cartella deve contenere ${BIN_IMAGEMAGICK}."
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installa senza ImageMagick (sconsigliato)"
-!insertmacro LanguageString TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} non è presente nella cartella specificata."
-
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript è necessario per l'anteprima di immagini in formato PostScript."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete Ghostscript o se è già installato. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Specificate se volete installare Ghostscript o se è già installato. $(^ClickNext)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Scarica Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Installa Ghostscript"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Usa l'installazione di Ghostscript preesistente nella seguente cartella:"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Questa cartella deve contenere ${BIN_GHOSTSCRIPT}."
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installa senza GhostScript (sconsigliato)"
-!insertmacro LanguageString TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} non è presente nella cartella specificata."
-
-!insertmacro LanguageString TEXT_VIEWER_TITLE "Visualizzatore di Documenti"
-!insertmacro LanguageString TEXT_VIEWER_SUBTITLE "Un visualizzatore è necessario per mostrare sullo schermo i documenti compilati."
-!insertmacro LanguageString TEXT_VIEWER_INFO_DOWNLOAD "Non è installato nessun visualizzatore in grado di mostrare file sia PDF che Postscript, ovvero i formati comuni per i documenti compilati. Selezionando la casella sottostante, verrà scaricato dalla rete il visualizzatore PDF/Postscript GSView. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_INFO_INSTALL "Non è installato nessun visualizzatore in grado di mostrare file sia PDF che Postscript, ovvero i formati comuni per i documenti compilati. Selezionando la casella sottostante, verrà installato il visualizzatore PDF/Postscript GSView. $(^ClickNext)"
-!insertmacro LanguageString TEXT_VIEWER_DOWNLOAD "Scarica GSView"
-!insertmacro LanguageString TEXT_VIEWER_INSTALL "Installa GSView"
-
-!insertmacro LanguageString TEXT_DICT_TITLE "Dizionari per il Correttore Ortografico"
-!insertmacro LanguageString TEXT_DICT_SUBTITLE "Scegliete le lingue che volete usare per il correttore ortografico."
-!insertmacro LanguageString TEXT_DICT_TOP "Per verificare l'ortografia dei documenti in una data lingua, è necessario scaricare dalla rete un dizionario di parole valide. Selezionate i dizionari da scaricare. $_CLICK"
-!insertmacro LanguageString TEXT_DICT_LIST "Selezionate i dizionari da scaricare:"
-
-!insertmacro LanguageString TEXT_LANGUAGE_TITLE "Scelta della Lingua"
-!insertmacro LanguageString TEXT_LANGUAGE_SUBTITLE "Scegliete la lingua nella quale volete usare $(^NameDA)."
-!insertmacro LanguageString TEXT_LANGUAGE_INFO "Scegliete la lingua da usare per l'interfaccia di ${APP_NAME}. $(^ClickNext)"
-
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_LATEX "Non sono riuscito a scaricare MiKTeX. Volete provare ancora?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Non sono riuscito a scaricare ImageMagick. Volete provare ancora?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Non sono riuscito a scaricare Ghostscript. Volete provare ancora?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_VIEWER "Non sono riuscito a scaricare GSView. Volete provare ancora?"
-!insertmacro LanguageString TEXT_DOWNLOAD_FAILED_DICT "Non sono riuscito a scaricare il dizionario ortografico ${DICT_NAME}. Volete provare ancora?"
-
-!insertmacro LanguageString TEXT_NOTINSTALLED_LATEX "L'installazione di MiKTeX non è stata completata. Volete rilanciare il programma di installazione di MiKTeX?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_IMAGEMAGICK "L'installazione di ImageMagick non è stata completata. Volete rilanciare il programma di installazione di ImageMagick?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_GHOSTSCRIPT "L'installazione di Ghostscript non è stata completata. Volete rilanciare il programma di installazione di Ghostscript?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_VIEWER "Non avete associato GSView ai file di tipo PDF/Postscript. Volete rilanciare il programma di installazione di GSView?"
-!insertmacro LanguageString TEXT_NOTINSTALLED_DICT "L'installazione del dizionario ortografico ${DICT_NAME} non è stata completata. Volete riprovarla?"
-
-!insertmacro LanguageString TEXT_FINISH_DESKTOP "Crea icona sul desktop"
-!insertmacro LanguageString TEXT_FINISH_WEBSITE "Visitate lyx.org per ultime novità, aiuto e suggerimenti"
-
-!insertmacro LanguageString UNTEXT_WELCOME "Verrete guidati nella disinstallazione di $(^NameDA). Per favore, chiudete $(^NameDA) prima di continuare.\r\n\r\nNotate che verrà disinstallato solamente LyX. Se volete disinstallare le altre applicazioni installate insieme a LyX, dovrete farlo mediante la voce corrispondente in 'Installazione applicazioni'.\r\n\r\n$_CLICK"
+!insertmacro LANGFILE_EXT "Italian"
+
+${LangFileString} TEXT_NO_PRIVILEDGES "Non si hanno privilegi da amministratore o utente avanzato.$\r$\n$\r$\nSebbene sia possibile installare ${APP_NAME} ed il sistema di composizione tipografica, le utilità per la conversione delle immagini e per l'anteprima non possono essere installate senza tali privilegi."
+
+${LangFileString} TEXT_WELCOME_DOWNLOAD "Verrete guidati nell'installazione di $(^NameDA), il compilatore di documenti che incoraggia un approccio alla scrittura basato sulla struttura dei vostri testi, non sulla loro apparenza.$\r$\n$\r$\nQuesto installer preparerà un ambiente completo per usare ${APP_NAME} ed è in grado di scaricare automaticamente dalla rete i componenti mancanti.$\r$\n$\r$\n$(^ClickNext)"
+${LangFileString} TEXT_WELCOME_INSTALL "Verrete guidati nell'installazione di $(^NameDA), il compilatore di documenti che incoraggia un approccio alla scrittura basato sulla struttura dei vostri testi, non sulla loro apparenza.$\r$\n$\r$\nQuesto installer preparerà un ambiente completo per usare ${APP_NAME} ed è in grado di installare automaticamente i componenti mancanti.$\r$\n$\r$\n$(^ClickNext)"
+
+${LangFileString} TEXT_REINSTALL_TITLE "Reinstallazione"
+${LangFileString} TEXT_REINSTALL_SUBTITLE "Scegliete se volete reinstallare i file di $(^NameDA)."
+${LangFileString} TEXT_REINSTALL_INFO "$(^NameDA) è già installato. Questo installer vi consentirà di cambiare la lingua dell'interfaccia, l'ubicazione di applicazioni esterne o di scaricare dalla rete dizionari aggiuntivi. Se volete anche reinstallare i file del programma, selezionate la casella sottostante. $(^ClickNext)"
+${LangFileString} TEXT_REINSTALL_ENABLE "Reinstallazione dei file di $(^NameDA)"
+
+${LangFileString} TEXT_EXTERNAL_NOPRIVILEDGES "(sono richiesti privilegi da amministratore o utente avanzato)"
+
+${LangFileString} TEXT_EXTERNAL_LATEX_TITLE "Sistema di Composizione Tipografica LaTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_SUBTITLE "È necessario il sistema di composizione tipografica LaTeX per potere creare documenti adatti per la stampa o la pubblicazione."
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete MiKTeX o volete usare un sistema LaTeX preesistente. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_INFO_INSTALL "Specificate se volete installare MiKTeX o volete usare un sistema LaTeX preesistente. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_LATEX_DOWNLOAD "Scarica MiKTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_INSTALL "Installa MiKTeX"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER "Usa il sistema LaTeX preesistente nella seguente cartella:"
+${LangFileString} TEXT_EXTERNAL_LATEX_FOLDER_INFO "Questa cartella deve contenere ${BIN_LATEX}."
+${LangFileString} TEXT_EXTERNAL_LATEX_NONE "Installa senza un sistema di composizione tipografica LaTeX (sconsigliato)"
+${LangFileString} TEXT_EXTERNAL_LATEX_NOTFOUND "${BIN_LATEX} non è presente nella cartella specificata."
+
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_TITLE "ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_SUBTITLE "ImageMagick è necessario per il supporto di vari formati grafici."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete ImageMagick o se è già installato. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INFO_INSTALL "Specificate se volete installare ImageMagick o se è già installato. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_DOWNLOAD "Scarica ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_INSTALL "Installa ImageMagick"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER "Usa l'installazione di ImageMagick preesistente nella seguente cartella:"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_FOLDER_INFO "Questa cartella deve contenere ${BIN_IMAGEMAGICK}."
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NONE "Installa senza ImageMagick (sconsigliato)"
+${LangFileString} TEXT_EXTERNAL_IMAGEMAGICK_NOTFOUND "${BIN_IMAGEMAGICK} non è presente nella cartella specificata."
+
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_TITLE "Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_SUBTITLE "Ghostscript è necessario per l'anteprima di immagini in formato PostScript."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_DOWNLOAD "Specificate se volete scaricare dalla rete Ghostscript o se è già installato. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INFO_INSTALL "Specificate se volete installare Ghostscript o se è già installato. $(^ClickNext)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_DOWNLOAD "Scarica Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_INSTALL "Installa Ghostscript"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER "Usa l'installazione di Ghostscript preesistente nella seguente cartella:"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_FOLDER_INFO "Questa cartella deve contenere ${BIN_GHOSTSCRIPT}."
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NONE "Installa senza GhostScript (sconsigliato)"
+${LangFileString} TEXT_EXTERNAL_GHOSTSCRIPT_NOTFOUND "${BIN_GHOSTSCRIPT} non è presente nella cartella specificata."
+
+${LangFileString} TEXT_VIEWER_TITLE "Visualizzatore di Documenti"
+${LangFileString} TEXT_VIEWER_SUBTITLE "Un visualizzatore è necessario per mostrare sullo schermo i documenti compilati."
+${LangFileString} TEXT_VIEWER_INFO_DOWNLOAD "Non è installato nessun visualizzatore in grado di mostrare file sia PDF che Postscript, ovvero i formati comuni per i documenti compilati. Selezionando la casella sottostante, verrà scaricato dalla rete il visualizzatore PDF/Postscript GSView. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_INFO_INSTALL "Non è installato nessun visualizzatore in grado di mostrare file sia PDF che Postscript, ovvero i formati comuni per i documenti compilati. Selezionando la casella sottostante, verrà installato il visualizzatore PDF/Postscript GSView. $(^ClickNext)"
+${LangFileString} TEXT_VIEWER_DOWNLOAD "Scarica GSView"
+${LangFileString} TEXT_VIEWER_INSTALL "Installa GSView"
+
+${LangFileString} TEXT_DICT_TITLE "Dizionari per il Correttore Ortografico"
+${LangFileString} TEXT_DICT_SUBTITLE "Scegliete le lingue che volete usare per il correttore ortografico."
+${LangFileString} TEXT_DICT_TOP "Per verificare l'ortografia dei documenti in una data lingua, è necessario scaricare dalla rete un dizionario di parole valide. Selezionate i dizionari da scaricare. $_CLICK"
+${LangFileString} TEXT_DICT_LIST "Selezionate i dizionari da scaricare:"
+
+${LangFileString} TEXT_LANGUAGE_TITLE "Scelta della Lingua"
+${LangFileString} TEXT_LANGUAGE_SUBTITLE "Scegliete la lingua nella quale volete usare $(^NameDA)."
+${LangFileString} TEXT_LANGUAGE_INFO "Scegliete la lingua da usare per l'interfaccia di ${APP_NAME}. $(^ClickNext)"
+
+${LangFileString} TEXT_DOWNLOAD_FAILED_LATEX "Non sono riuscito a scaricare MiKTeX. Volete provare ancora?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_IMAGEMAGICK "Non sono riuscito a scaricare ImageMagick. Volete provare ancora?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_GHOSTSCRIPT "Non sono riuscito a scaricare Ghostscript. Volete provare ancora?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_VIEWER "Non sono riuscito a scaricare GSView. Volete provare ancora?"
+${LangFileString} TEXT_DOWNLOAD_FAILED_DICT "Non sono riuscito a scaricare il dizionario ortografico $DictionaryLangName. Volete provare ancora?"
+
+${LangFileString} TEXT_NOTINSTALLED_LATEX "L'installazione di MiKTeX non è stata completata. Volete rilanciare il programma di installazione di MiKTeX?"
+${LangFileString} TEXT_NOTINSTALLED_IMAGEMAGICK "L'installazione di ImageMagick non è stata completata. Volete rilanciare il programma di installazione di ImageMagick?"
+${LangFileString} TEXT_NOTINSTALLED_GHOSTSCRIPT "L'installazione di Ghostscript non è stata completata. Volete rilanciare il programma di installazione di Ghostscript?"
+${LangFileString} TEXT_NOTINSTALLED_VIEWER "Non avete associato GSView ai file di tipo PDF/Postscript. Volete rilanciare il programma di installazione di GSView?"
+${LangFileString} TEXT_NOTINSTALLED_DICT "L'installazione del dizionario ortografico $DictionaryLangName non è stata completata. Volete riprovarla?"
+
+${LangFileString} TEXT_FINISH_DESKTOP "Crea icona sul desktop"
+${LangFileString} TEXT_FINISH_WEBSITE "Visitate lyx.org per ultime novità, aiuto e suggerimenti"
+
+${LangFileString} UNTEXT_WELCOME "Verrete guidati nella disinstallazione di $(^NameDA). Per favore, chiudete $(^NameDA) prima di continuare.$\r$\n$\r$\nNotate che verrà disinstallato solamente LyX. Se volete disinstallare le altre applicazioni installate insieme a LyX, dovrete farlo mediante la voce corrispondente in 'Installazione applicazioni'.$\r$\n$\r$\n$_CLICK"
index 5b8e3ba40221ef0853b1cf61286fcee9e42e2cc2..334c7b3116533cb30e1053c2fc9a4a6ebbc892b9 100644 (file)
@@ -1,62 +1,67 @@
 /*\r
 \r
-NSIS Script - LyX 1.4 Installer for Win32\r
+NSIS Script - LyX 1.5/1.6 Installer for Win32\r
 Authors: Joost Verburg, Angus Leeming, Uwe Stöhr\r
-Requires NSIS 2.21 or later\r
+Requires NSIS 2.36 or later\r
 \r
-Licence details for all installer scripts can be found\r
-in the file COPYING or at http://www.lyx.org/about/license.php\r
+Licence details for all installer scripts can be found in the file COPYING\r
 \r
 */\r
 \r
-SetCompressor /SOLID lzma\r
-\r
-!include "include\declarations.nsh"\r
+!include settings.nsh\r
 \r
 #--------------------------------\r
 # The following commands use makensis to compile two applications.\r
 # Although these applications are written in NSIS, they do not install anything.\r
 \r
-#--------------------------------\r
-#Compile the launcher\r
-\r
+# Compile the launcher\r
 !system '"${NSISDIR}\makensis.exe" "${FILES_LAUNCHER}\launcher.nsi"'\r
 \r
-#--------------------------------\r
-#Compile Windows PDF view helper\r
-\r
+# Compile Windows PDF view helper\r
 !system '"${NSISDIR}\makensis.exe" "${FILES_PDFVIEW}\pdfview.nsi"'\r
 \r
 #--------------------------------\r
-#LyX Installer, output file can be specified using command line option\r
+# Output file can be specified using command line option\r
 # /DExeFile=/path/to/installer or /DBundleExeFile=/path/to/installer if \r
 # SETUPTYPE_BUNDLE is defined.\r
 \r
-# bundle installer\r
 !ifdef SETUPTYPE_BUNDLE\r
-!ifdef BundleExeFile\r
-OutFile "${BundleExeFile}"\r
-!else\r
-Outfile "${SETUP_EXE}"\r
-!endif\r
-# regular installer \r
-!else\r
-!ifdef ExeFile\r
-OutFile "${ExeFile}"\r
+  # Bundle installer\r
+  !ifdef BundleExeFile\r
+    OutFile "${BundleExeFile}"\r
+  !else\r
+    Outfile "${SETUP_EXE}"\r
+ !endif \r
 !else\r
-Outfile "${SETUP_EXE}"\r
-!endif\r
+  # Regular installer\r
+  !ifdef ExeFile\r
+    OutFile "${ExeFile}"\r
+  !else\r
+    Outfile "${SETUP_EXE}"\r
+  !endif\r
 !endif\r
 \r
 #--------------------------------\r
-#Components\r
-\r
-!include "components\core.nsh"\r
-!include "components\user.nsh"\r
-!include "components\reinstall.nsh"\r
-!include "components\external.nsh"\r
-!include "components\viewer.nsh"\r
-!include "components\dicts.nsh"\r
-!include "components\langselect.nsh"\r
-!include "components\configure.nsh"\r
-!include "components\uninstall.nsh"\r
+# Header files  \r
+\r
+!include include\declarations.nsh\r
+!include include\detection.nsh\r
+!include include\dictlist.nsh\r
+!include include\filelist.nsh\r
+!include include\gui.nsh\r
+!include include\init.nsh\r
+!include include\langlist.nsh\r
+\r
+#--------------------------------\r
+# Setup\r
+\r
+!include setup\configure.nsh\r
+!include setup\install.nsh\r
+!include setup\uninstall.nsh\r
+\r
+#--------------------------------\r
+# User interface (wizard pages)\r
+\r
+!include gui\external.nsh\r
+!include gui\langselect.nsh\r
+!include gui\reinstall.nsh\r
index 7307fda908ab337537840c56a59a3687c0e3cde2..2d7526a477c732dd15414a0f98391fea43aaf8bd 100644 (file)
@@ -4,8 +4,40 @@ Settings for LyX installer
 \r
 */\r
 \r
+SetCompressor /SOLID lzma\r
+\r
+#--------------------------------\r
+# Location of LyX files and dependencies\r
+\r
+!ifdef FilesLyX\r
+  !define FILES_LYX "${FilesLyX}"\r
+!else\r
+  !define FILES_LYX "..\..\..\..\build-msvc"\r
+!endif\r
+\r
+!ifdef FilesDeps\r
+  !define FILES_DEPS "${FilesDeps}"\r
+!else\r
+  !define FILES_DEPS "..\..\..\..\lyx-windows-deps-msvc2008"\r
+!endif\r
+\r
+!ifdef FilesBundle\r
+  !define FILES_BUNDLE "${FilesBundle}"\r
+!else\r
+  !define FILES_BUNDLE "..\..\..\..\lyx-windows-bundle-deps"\r
+!endif\r
+\r
+#--------------------------------\r
+# Location of Python 2.5\r
+\r
+!ifdef FilesPython\r
+  !define FILES_PYTHON "${FilesPython}"\r
+!else\r
+  !define FILES_PYTHON "C:\Python25"\r
+!endif\r
+\r
 #--------------------------------\r
-#File locations\r
+# File locations\r
 \r
 !define FILES_LICENSE "license.rtf"\r
 \r
@@ -17,18 +49,15 @@ Settings for LyX installer
 !define FILES_NETPBM "${FILES_DEPS}\netpbm"\r
 !define FILES_DTL "${FILES_DEPS}\dtl"\r
 !define FILES_AIKSAURUS "${FILES_DEPS}\aiksaurus\"\r
-!define FILES_DVIPOST "${FILES_DEPS}\dvipost"\r
-!define FILES_DVIPOST_PKG "${FILES_DVIPOST}"\r
 !define FILES_PDFTOOLS "${FILES_DEPS}\pdftools"\r
 \r
 !define FILES_QT "${FILES_DEPS}\qt-4"\r
-!define FILES_DVIPOSTDATA "${FILES_DEPS}\dvipost"\r
 !define FILES_ASPELLDATA "${FILES_DEPS}\aspell"\r
 \r
 !define FILES_NSISPLUGINS "${FILES_DEPS}\nsis"\r
 \r
 #--------------------------------\r
-#Locations of components to download\r
+# Locations of components to download\r
 \r
 !define MIRROR_SF1 "http://superb-west.dl.sourceforge.net/sourceforge"\r
 !define MIRROR_SF2 "http://mesh.dl.sourceforge.net/sourceforge"\r
@@ -42,38 +71,31 @@ Settings for LyX installer
 !insertmacro SourceForgeMirror IMAGEMAGICK "imagemagick/ImageMagick-6.3.7-8-Q16-windows-dll.exe"\r
 !insertmacro SourceForgeMirror GHOSTSCRIPT "ghostscript/gs861w32.exe"\r
 \r
-!define DOWNLOAD_VIEWER "http://tug.ctan.org/tex-archive/nonfree/support/ghostscript/ghostgum/gsv49w32.exe"\r
-!define DOWNLOADALT_VIEWER "http://ctan.basemirror.de/nonfree/support/ghostscript/ghostgum/gsv49w32.exe"\r
-\r
 !define DOWNLOAD_ASPELLDICTS "ftp://ftp.lyx.org/pub/lyx/contrib/aspell6-windows"\r
 !define DOWNLOADALT_ASPELLDICTS "http://www.lyx.org/~bpeng/aspell6-windows"\r
 \r
 #--------------------------------\r
-#Download size (in KB)\r
+# Download size (in KB)\r
 \r
 !define SIZE_DOWNLOAD_LATEX 78493\r
 !define SIZE_DOWNLOAD_IMAGEMAGICK 7330\r
 !define SIZE_DOWNLOAD_GHOSTSCRIPT 12469\r
-!define SIZE_DOWNLOAD_VIEWER 1467\r
 \r
 #--------------------------------\r
-#Approximations of space required for components (in KB)\r
+# Approximations of space required for components (in KB)\r
 \r
 !define SIZE_LATEX 225000\r
 !define SIZE_IMAGEMAGICK 18700\r
 !define SIZE_GHOSTSCRIPT 31500\r
-!define SIZE_VIEWER 4000\r
-\r
 #--------------------------------\r
-#Locations of setup files for components (for bundled setup)\r
+# Locations of setup files for components (for bundled setup)\r
 \r
 !define INSTALL_LATEX "basic-miktex-2.7.2904.exe"\r
 !define INSTALL_IMAGEMAGICK "ImageMagick-6.3.7-8-Q16-windows-dll.exe"\r
 !define INSTALL_GHOSTSCRIPT "gs861w32.exe"\r
-!define INSTALL_VIEWER "gsv49w32.exe"\r
 \r
 #--------------------------------\r
-#Names and version\r
+# Names and version\r
 \r
 !define APP_NAME "LyX"\r
 !define /date APP_VERSION "1.6svn %Y%m%d"\r
@@ -96,12 +118,22 @@ Settings for LyX installer
 !define APP_MIME_TYPE "application/lyx"\r
 \r
 #--------------------------------\r
-#Setup settings\r
+# Setup settings\r
+\r
+# Output file name can be configured using command line paramater\r
+# /DExeFile=/path/to/installer or /DBundleExeFile=/path/to/installer if \r
+# SETUPTYPE_BUNDLE is defined.\r
 \r
 !ifndef SETUPTYPE_BUNDLE\r
-  !define /date SETUP_EXE "lyx-16svn-%Y%m%d.exe"\r
+  !ifndef ExeFile\r
+    !define /date ExeFile "LyX-16svn-%Y%m%d-Installer.exe"\r
+  !endif\r
+  !define SETUP_EXE "${ExeFile}"\r
 !else\r
-  !define /date SETUP_EXE "lyx-16svn-%Y%m%d-bundle.exe"\r
+  !ifndef SETUPTYPE_BUNDLE\r
+    !define /date BundleExeFile "LyX-16svn-%Y%m%d-Installer-Bundle.exe"\r
+  !endif\r
+  !define SETUP_EXE "${BundleExeFile}"  \r
 !endif\r
 \r
 !define SETUP_DEFAULT_DIRECTORY "$PROGRAMFILES\${APP_NAME}${APP_SERIES_KEY}"\r
@@ -112,13 +144,13 @@ Settings for LyX installer
 !define SETUP_UNINSTALLER_KEY "${APP_NAME}"\r
 \r
 #--------------------------------\r
-#Names of binaries to identify compontents\r
+# Names of binaries to identify compontents\r
 \r
 !define BIN_LATEX "tex.exe"\r
 !define BIN_IMAGEMAGICK "convert.exe"\r
 !define BIN_GHOSTSCRIPT "gswin32c.exe"\r
 \r
 #--------------------------------\r
-#Custom NSIS plug-ins\r
+# Custom NSIS plug-ins\r
 \r
 !addplugindir "${FILES_NSISPLUGINS}"\r
diff --git a/development/Win32/packaging/installer/settings.user.nsh b/development/Win32/packaging/installer/settings.user.nsh
deleted file mode 100644 (file)
index 52e3a77..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#LyX Windows Installer\r
-#User Settings, all these macros can be redefined from command line, \r
-#using options like /DFilesLyX="..\..\..\..\lyx-install"\r
-\r
-#Location of LyX files and dependencies\r
-\r
-!ifdef FilesLyX\r
-  !define FILES_LYX "${FilesLyX}"\r
-!else\r
-  !define FILES_LYX "..\..\..\..\build-msvc"\r
-!endif\r
-\r
-!ifdef FilesDeps\r
-  !define FILES_DEPS "${FilesDeps}"\r
-!else\r
-  !define FILES_DEPS "..\..\..\..\lyx-windows-deps-msvc2008"\r
-!endif\r
-\r
-!ifdef FilesBundle\r
-  !define FILES_BUNDLE "${FilesBundle}"\r
-!else\r
-  !define FILES_BUNDLE "..\..\..\..\lyx-windows-bundle-deps"\r
-!endif\r
-\r
-#Location of Python 2.5\r
-\r
-!ifdef FilesPython\r
-  !define FILES_PYTHON "${FilesPython}"\r
-!else\r
-  !define FILES_PYTHON "C:\Python25"\r
-!endif\r
diff --git a/development/Win32/packaging/installer/setup/configure.nsh b/development/Win32/packaging/installer/setup/configure.nsh
new file mode 100644 (file)
index 0000000..0d0ca74
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+
+configure.nsh
+
+Write registry information and configure LyX
+
+*/
+
+Var DistFile
+Var PathPrefix
+
+!define SHORTCUT '${APP_NAME} ${APP_SERIES_NAME}.lnk" "$INSTDIR\${APP_RUN}" "" "$INSTDIR\${APP_RUN}" "" "" "" "${APP_INFO}"'
+
+#--------------------------------
+# File associations
+
+Section -FileAssociations
+
+  # Associate .lyx files with LyX for current user of all users
+
+  # Write information about file type
+  !define REG_FILETYPE 'WriteRegStr SHELL_CONTEXT "Software\Classes\${APP_REGNAME_DOC}'
+  
+  ${REG_FILETYPE}" "" "${APP_NAME} Document"
+  ${REG_FILETYPE}\DefaultIcon" "" "$INSTDIR\bin\lyx_doc_32x32.ico"
+  ${REG_FILETYPE}\Shell\open\command" "" '"$INSTDIR\${APP_RUN}" "%1"'
+  
+  !define REG_FILEEXT 'WriteRegStr SHELL_CONTEXT "Software\Classes\${APP_EXT}"'
+  
+  ${REG_FILEEXT} "" "${APP_REGNAME_DOC}"
+  ${REG_FILEEXT} "Content Type" "${APP_MIME_TYPE}"  
+  
+  # Refresh shell
+  System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
+
+SectionEnd
+
+#--------------------------------
+# Registry information
+
+Section -InstallData
+
+  # Registry information
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY} "" $INSTDIR
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY} "Version" "${APP_VERSION}"
+
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "LaTeX Path" $PathLaTeX
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "ImageMagick Path" $PathImageMagick
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "Ghostscript Path" $PathGhostscript
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETUP} "LyX Language" $LangName
+
+  # Start Menu shortcut
+  # There is only one shortcut to the application, so it should be in the main group
+  CreateShortCut "$SMPROGRAMS\${SHORTCUT}
+    
+  # Uninstaller information
+  !define REG_UNINSTALL 'WriteRegStr SHELL_CONTEXT "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"'
+  
+  ${If} $MultiUser.InstallMode == "CurrentUser"
+    ${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION} $(TEXT_INSTALL_CURRENTUSER)"
+  ${Else}
+    ${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION}"
+  ${EndIf}
+  
+  ${REG_UNINSTALL} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}"'
+  ${REG_UNINSTALL} "DisplayVersion" "${APP_VERSION}"
+  ${REG_UNINSTALL} "DisplayIcon" "$INSTDIR\bin\lyx_32x32.ico"
+  ${REG_UNINSTALL} "URLUpdateInfo" "http://www.lyx.org/"
+  ${REG_UNINSTALL} "URLInfoAbout" "http://www.lyx.org/about/"
+  ${REG_UNINSTALL} "Publisher" "LyX Team"
+  ${REG_UNINSTALL} "HelpLink" "http://www.lyx.org/internet/mailing.php"  
+  
+SectionEnd
+
+#--------------------------------
+# Write LyX configuration file
+
+Section -Configure
+
+  # Windows specific configuration in lyxrc.dist
+
+  Delete "$INSTDIR\Resources\lyxrc.dist"
+  FileOpen $DistFile "$INSTDIR\Resources\lyxrc.dist" w
+
+  # Path prefix
+
+  StrCpy $PathPrefix "$INSTDIR\bin;$INSTDIR\python"
+  
+  ${If} $PathLaTeX != ""
+    StrCpy $PathPrefix "$PathPrefix;$PathLaTeX"
+  ${EndIf}
+  ${If} $PathGhostscript != ""
+    StrCpy $PathPrefix "$PathPrefix;$PathGhostscript"
+  ${EndIf}
+  ${If} $PathImageMagick != ""
+    StrCpy $PathPrefix "$PathPrefix;$PathImageMagick"
+  ${EndIf}
+
+  FileWrite $DistFile '\path_prefix "$PathPrefix"$\r$\n'
+
+  # Default screen fonts
+  FileWrite $DistFile '\screen_font_roman "Times New Roman"$\r$\n'
+  FileWrite $DistFile '\screen_font_sans "Arial"$\r$\n'
+  FileWrite $DistFile '\screen_font_typewriter "Courier New"$\r$\n'
+  FileWrite $DistFile '\preview_scale_factor 1.0$\r$\n' # Fit instant preview font size to screen fonts
+  # PDF view helper
+  FileWrite $DistFile '\format "pdf" "pdf" "PDF (ps2pdf)" "P" "pdfview" "" "document,vector"$\r$\n'  
+  FileWrite $DistFile '\format "pdf2" "pdf" "PDF (pdflatex)" "F" "pdfview" "" "document,vector"$\r$\n'
+  FileWrite $DistFile '\format "pdf3" "pdf" "PDF (dvipdfm)" "m" "pdfview" "" "document,vector"$\r$\n'
+
+  FileClose $DistFile
+
+  # Set language
+  WriteRegStr SHELL_CONTEXT ${APP_REGKEY_SETTINGS} "Language" $LangISOCode
+
+SectionEnd
+
+#--------------------------------
+# Desktop shortcut
+
+Function CheckDesktopShortcut
+
+  # Enable desktop icon creation when there is an icon already
+  # Old shortcuts need to be updated
+  
+  ${If} ${FileExists} "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
+    ${NSD_SetState} $mui.FinishPage.ShowReadme ${BST_CHECKED}
+  ${EndIf}
+
+FunctionEnd
+
+Function CreateDesktopShortcut
+
+  # Desktop icon creation is an option on the finish page
+
+  CreateShortCut "$DESKTOP\${SHORTCUT}
+
+FunctionEnd
diff --git a/development/Win32/packaging/installer/setup/install.nsh b/development/Win32/packaging/installer/setup/install.nsh
new file mode 100644 (file)
index 0000000..57d83a1
--- /dev/null
@@ -0,0 +1,310 @@
+/*
+
+install.nsh
+
+Installation of program files, dictionaries and external components
+
+*/
+
+#--------------------------------
+# Program files
+
+Section -ProgramFiles SecProgramFiles
+
+  # Install and register the core LyX files
+  # Initializes the plug-ins dir ($PLUGINSDIR) if not already initialized.
+  # $PLUGINSDIR is automatically deleted when the installer exits.
+  InitPluginsDir
+  
+  # Binaries
+  
+  SetOutPath "$INSTDIR\bin"
+
+  # launcher becomes lyx.exe while the real lyx.exe is renamed to lyxc.exe
+  File "${FILES_LAUNCHER}\lyx.exe"
+  File /oname=lyxc.exe "${FILES_LYX}\bin\lyx.exe"
+  
+  # The macros are defined in filelists.nsh
+  # the parameters are COMMAND DIRECTORY that form command '${COMMAND} "${DIRECTORY}files"
+  !insertmacro FileListLyXBin File "${FILES_LYX}\bin\"
+  !insertmacro FileListQtBin File "${FILES_QT}\bin\"
+  
+  !insertmacro FileListDllMSVCBin File "${FILES_DEPS}\bin\"
+  !insertmacro FileListMSVCBin File "${FILES_MSVC}\"
+  !insertmacro FileListMSVCManifest File "..\"    
+
+  !insertmacro FileListNetpbmBin File "${FILES_NETPBM}\"
+  !insertmacro FileListDTLBin File "${FILES_DTL}\"
+  !insertmacro FileListPDFViewBin File "${FILES_PDFVIEW}\"
+  !insertmacro FileListPDFToolsBin File "${FILES_PDFTOOLS}\"
+
+  # Icons
+  
+  SetOutPath "$INSTDIR\bin"
+  !insertmacro FileListLyXIcons File "${FILES_ICONS}\"
+
+  # Resources
+  
+  SetOutPath "$INSTDIR"
+  # recursively copy all files under Resources
+  File /r "${FILES_LYX}\Resources"
+  
+  # Components of Python
+  
+  SetOutPath "$INSTDIR\python"
+  !insertmacro FileListPythonBin File "${FILES_PYTHON}\"
+  !insertmacro FileListPythonDll File "$%SystemRoot%\System32\"
+  !insertmacro FileListUnicodeDll File "${FILES_PYTHON}\DLLs\"
+  SetOutPath "$INSTDIR\python\Lib"
+  !insertmacro FileListPythonLib File "${FILES_PYTHON}\Lib\"
+  SetOutPath "$INSTDIR\python\Lib\encodings"
+  !insertmacro FileListPythonLibEncodings File "${FILES_PYTHON}\Lib\encodings\"
+  
+  # Aspell
+
+  # Copy installer to pluginsdir (a temp dir)
+  File /oname=$PLUGINSDIR\AspellData.exe "${FILES_ASPELLDATA}\AspellData.exe"
+
+  # Silently install AspellData.exe (/S option)
+  ${If} $MultiUser.InstallMode == "CurrentUser"
+    ExecWait '"$PLUGINSDIR\AspellData.exe" /S /CurrentUser'
+  ${Else}
+    ExecWait '"$PLUGINSDIR\AspellData.exe" /S /AllUsers'
+  ${EndIf}
+
+  # Remove the installer
+  Delete "$PLUGINSDIR\AspellData.exe"
+
+  # Aiksarus data
+  
+  SetOutPath "$INSTDIR\aiksaurus"
+  !insertmacro FileListAiksaurusData File "${FILES_AIKSAURUS}\"
+  
+  # Helper DLLs for NSIS-based tools
+  
+  SetOutPath "$INSTDIR\bin"
+  !insertmacro FileListNSISPluginsStandard File "${NSISDIR}\Plugins\"
+  !insertmacro FileListNSISPlugins File "${FILES_NSISPLUGINS}\"
+  
+  # Create uninstaller
+  WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
+
+SectionEnd
+
+#--------------------------------
+# Support code for file downloads
+
+!macro DOWNLOAD_FILE RET ID FILENAME APPEND
+
+  # Downloads a file using the InetLoad plug-in (HTTP or FTP)
+  
+  # RET = Return value (OK if succesful)
+  # ID = Name of the download in settings.nsh
+  # FILENAME = Location to store file
+  # APPEND = Filename to append to server location in settings.nsh
+
+  # Try first mirror server
+  InetLoad::load "${DOWNLOAD_${ID}}${APPEND}" "$PLUGINSDIR\${FILENAME}" /END
+  Pop ${RET} # Return value (OK if succesful)
+
+  ${If} ${RET} != "OK"
+    # Download failed, try second mirror server
+    InetLoad::load "${DOWNLOADALT_${ID}}${APPEND}" "$PLUGINSDIR\${FILENAME}" /END
+    Pop ${RET}
+  ${EndIf}
+
+!macroend
+
+#--------------------------------
+# Aspell dictionaries
+
+Var DictionaryFile
+Var DictionaryLangName
+Var DictionaryLangCode
+Var DictionaryPath
+
+Var AspellHive
+Var AspellPath
+
+Var DownloadResult
+
+Section -AspellDicts
+
+  # Check whether the system or local version of Aspell should be used
+  # The patched Aspell uses the same logic
+
+  ReadRegStr $AspellPath HKCU "Software\Aspell" "Base Path"
+
+  ${If} $AspellPath == ""
+    StrCpy $AspellHive HKLM
+  ${Else}
+    StrCpy $AspellHive HKCU
+  ${EndIf}
+
+SectionEnd
+
+!macro SECTION_DICT FILE LANGNAME LANGCODE SIZE
+
+  # One section for each dictionary
+
+  Section /o "${LANGNAME}"
+
+    AddSize ${SIZE}
+
+    StrCpy $DictionaryFile "${FILE}"
+    StrCpy $DictionaryLangName "${LANGNAME}"
+    StrCpy $DictionaryLangCode ${LANGCODE}
+
+    Call DownloadDictionary
+
+  SectionEnd
+
+!macroend
+
+# Include all sections
+!insertmacro Dictionaries '!insertmacro SECTION_DICT'
+
+Function DownloadDictionary
+
+  # Download and install a dictionary
+
+  dict_download:
+  
+    !insertmacro DOWNLOAD_FILE $DownloadResult ASPELLDICTS aspell6-$DictionaryFile.exe /aspell6-$DictionaryFile.exe
+
+    ${If} $DownloadResult != "OK"
+      # Download failed
+      MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_DICT) ($DownloadResult)" IDYES dict_download
+      Goto dict_noinstall
+    ${EndIf}
+
+    install_dict:
+
+      ExecWait '"$PLUGINSDIR\aspell6-$DictionaryFile.exe" /NoDirChange /AutoClose'
+
+      ${If} $AspellHive == HKLM
+        ReadRegStr $DictionaryPath HKLM "Software\Aspell\Dictionaries" $DictionaryLangCode
+      ${Else}
+        ReadRegStr $DictionaryPath HKCU "Software\Aspell\Dictionaries" $DictionaryLangCode
+      ${EndIf}
+
+      ${If} $DictionaryPath == ""
+        MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_NOTINSTALLED_DICT)" IDYES install_dict
+      ${EndIf}
+
+      Delete "$PLUGINSDIR\aspell6-$DictionaryFile.exe"
+
+    dict_noinstall:
+
+FunctionEnd
+
+#--------------------------------
+# Extenral components
+
+Var PathAllUsers
+Var PathCurrentUser
+
+!macro EXTERNAL COMPONENT
+
+  # Download/Install the component
+  
+  ${If} $Setup${component} == ${TRUE}
+  
+    StrCpy $Path${component} "" ;A new one will be installed
+  
+    !ifndef SETUPTYPE_BUNDLE
+      !insertmacro EXTERNAL_DOWNLOAD ${component}
+    !else
+      !insertmacro EXTERNAL_INSTALL ${component}
+    !endif
+    
+  ${EndIf}
+
+!macroend
+
+!macro EXTERNAL_RUNINSTALLER COMPONENT
+
+  # Run the installer application of the component that does the actual installation.
+
+  install_${COMPONENT}:
+      
+    ExecWait '"$PLUGINSDIR\${COMPONENT}Setup.exe"'
+    
+    # Updates the path environment variable of the instaler process to the latest system value
+    ReadRegStr $PathAllUsers HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Path
+    ReadRegStr $PathCurrentUser HKCU "Environment" Path
+    System::Call 'kernel32::SetEnvironmentVariableA(t, t) i("Path", "$PathAllUsers;$PathCurrentUser").'
+
+    Call Search${COMPONENT}
+    
+    ${If} $Path${COMPONENT} == ""  
+      MessageBox MB_YESNO|MB_ICONEXCLAMATION $(TEXT_NOTINSTALLED_${COMPONENT}) IDYES install_${COMPONENT}
+    ${EndIf}
+      
+    Delete "$PLUGINSDIR\${COMPONENT}Setup.exe"
+     
+!macroend
+
+!ifndef SETUPTYPE_BUNDLE
+
+  !macro EXTERNAL_DOWNLOAD COMPONENT
+
+    download_${COMPONENT}:
+
+      !insertmacro DOWNLOAD_FILE $DownloadResult "${COMPONENT}" "${COMPONENT}Setup.exe" ""
+      ${If} $DownloadResult != "OK"
+        # Download failed
+        MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_${COMPONENT}) ($DownloadResult)" IDYES download_${COMPONENT}
+        Goto noinstall_${COMPONENT}
+      ${EndIf}
+      
+      !insertmacro EXTERNAL_RUNINSTALLER ${COMPONENT}
+      
+    noinstall_${COMPONENT}:
+
+  !macroend
+
+!else
+
+  !macro EXTERNAL_INSTALL COMPONENT
+
+    # Extract
+    File /oname=$PLUGINSDIR\${COMPONENT}Setup.exe ${FILES_BUNDLE}\${INSTALL_${COMPONENT}}
+    
+    !insertmacro EXTERNAL_RUNINSTALLER ${COMPONENT}
+    
+  !macroend
+
+!endif
+
+# Sections for external components
+
+Section -LaTeX ExternalLaTeX
+  !insertmacro EXTERNAL LaTeX
+SectionEnd
+
+Section -ImageMagick ExternalImageMagick
+  !insertmacro EXTERNAL ImageMagick
+SectionEnd
+
+Section -Ghostscript ExternalGhostscript
+  !insertmacro EXTERNAL Ghostscript
+SectionEnd
+
+Function InitExternal
+
+  # Get sizes of external component installers
+  
+  SectionGetSize ${ExternalLaTeX} $SizeLaTeX
+  SectionGetSize ${ExternalImageMagick} $SizeImageMagick
+  SectionGetSize ${ExternalGhostscript} $SizeGhostscript
+  
+  !ifndef SETUPTYPE_BUNDLE
+    # Add download size
+    IntOp $SizeLaTeX $SizeLaTeX + ${SIZE_DOWNLOAD_LATEX}
+    IntOp $SizeImagemagick $SizeImagemagick + ${SIZE_DOWNLOAD_IMAGEMAGICK}
+    IntOp $SizeGhostscript $SizeGhostscript + ${SIZE_DOWNLOAD_GHOSTSCRIPT}
+  !endif
+  
+FunctionEnd
diff --git a/development/Win32/packaging/installer/setup/uninstall.nsh b/development/Win32/packaging/installer/setup/uninstall.nsh
new file mode 100644 (file)
index 0000000..6ba0246
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+
+uninstall.nsh
+
+Uninstall 
+
+*/
+
+Var FileAssociation
+
+Section "un.Program Files" un.SecProgramFiles
+
+  # Binaries
+  
+  Delete "$INSTDIR\bin\lyx.exe"
+  Delete "$INSTDIR\bin\lyxc.exe"
+  !insertmacro FileListLyXBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListQtBin Delete "$INSTDIR\bin\"
+  
+  !insertmacro FileListDllMSVCBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListMSVCBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListMSVCManifest Delete "$INSTDIR\bin\"
+
+  !insertmacro FileListNetpbmBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListDTLBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListPDFToolsBin Delete "$INSTDIR\bin\"
+  !insertmacro FileListPDFViewBin Delete "$INSTDIR\bin\"
+  
+  # Icons
+  
+  !insertmacro FileListLyXIcons Delete "$INSTDIR\bin\"  
+  
+  # Resources
+  
+  RMDir /r "$INSTDIR\Resources"
+  
+  # Components of Python
+  
+  RMDir /r "$INSTDIR\python"
+  
+  # Aiksaurus Data
+  
+  !insertmacro FileListAiksaurusData Delete "$INSTDIR\aiksaurus\"
+  RMDir "$INSTDIR\aiksaurus"
+  
+  # Helper DLLs for NSIS-based tools
+
+  !insertmacro FileListNSISPluginsStandard Delete "$INSTDIR\bin\"
+  !insertmacro FileListNSISPlugins Delete "$INSTDIR\bin\"   
+  
+  # Shortcuts
+  
+  Delete "$SMPROGRAMS\${APP_NAME} ${APP_SERIES_NAME}.lnk"
+  Delete "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
+
+  # Uninstaller itself
+  
+  Delete "$INSTDIR\${SETUP_UNINSTALLER}"
+  RMDir "$INSTDIR\bin"
+  
+  # Application folder
+  
+  SetOutPath "$PROGRAMFILES"
+  RMDir "$INSTDIR"
+  
+  # Registry keys
+  
+  DeleteRegKey SHELL_CONTEXT "${APP_REGKEY_SETUP}"
+  DeleteRegKey SHELL_CONTEXT "${APP_REGKEY}"
+  DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_REGNAME_DOC}"
+  DeleteRegKey SHELL_CONTEXT "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"
+  
+  # File associations
+  
+  ReadRegStr $FileAssociation SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""
+  
+  ${If} $FileAssociation == "${APP_REGNAME_DOC}"
+     DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_EXT}"
+  ${EndIf}
+  
+SectionEnd
+
+Section "un.User Preferences and Custom Files" un.SecUserFiles
+
+  SetShellVarContext current
+  RMDir /r "$APPDATA\${APP_DIR_USERDATA}"
+  
+SectionEnd