lots of installer improvements:

* 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
This commit is contained in:
Joost Verburg 2008-03-30 21:37:53 +00:00
parent 1674089d2e
commit d1a3055578
38 changed files with 1481 additions and 2203 deletions

View File

@ -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

View File

@ -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

View File

@ -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ština" 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šcina" 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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###

View File

@ -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=

View File

@ -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###

View File

@ -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=

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@ -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

View File

@ -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

View File

@ -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

View 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
# 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 constants
!define SHCNE_ASSOCCHANGED 0x08000000
!define SHCNF_IDLIST 0x0000
#--------------------------------
#Windows Vista settings
RequestExecutionLevel highest
#--------------------------------
#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"
#--------------------------------
#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"

View File

@ -1,314 +1,154 @@
/*
Detection functions for all components
detection.nsh
Detection of external component locations
*/
#--------------------------------
#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
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
#--------------------------------
# MiKTeX
#Trim a trailing backslash of a directory
Var ProcessReturn
Var CommandLineOutput
Var LastChar
Var PathLength
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
!macro SEARCH_MIKTEX25
Function GetPathPrefix
# Search location of MiKTeX installation using initexmf
# Works for version 2.5 and later
nsExec::ExecToStack "initexmf.exe --report"
Pop $ProcessReturn
Pop $CommandLineOutput
${WordFind2X} $CommandLineOutput "BinDir: " "$\r" "+1" $PathLaTeX
Push $R0
!macroend
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
!macro SEARCH_MIKTEX24 ROOTKEY
Function SearchViewer
Push $R0
Push $R1
!insertmacro CallFunc DetectViewerByExtension "pdf" $R0
!insertmacro CallFunc DetectViewerByExtension "ps" $R1
StrCpy $PathViewer ""
ReadRegStr $PathLaTeX ${ROOTKEY} "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root"
${if} $R0 != ""
${if} $R1 != ""
StrCpy $PathViewer "associated"
${endif}
${endif}
${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}
Pop $R1
Pop $R0
FunctionEnd
Function DetectViewerByExtension
#Input on stack: file extension without dot
Exch $R0
Push $R1
Push $R2
InitPluginsDir
StrCpy $R1 "$PLUGINSDIR\ViewerDetect.$R0"
FileOpen $R2 $R1 w
FileClose $R2
StrCpy $R0 ""
System::Call "shell32::FindExecutableA(t R1, n, t .R0)"
Delete $R1
Pop $R2
Pop $R1
Exch $R0
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
#--------------------------------
# Ghostscript
#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
FunctionEnd
Var Counter
Var EnumReturn
Var CompareReturn
Var AFPLVersion
Var GPLVersion
Function SearchGhostscript
#Search where Ghostscript is installed
# 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
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
FunctionEnd

View File

@ -0,0 +1,49 @@
/*
dictlist.nsh
List of Aspell dictionaries supported by LyX
*/
!macro Dictionaries DICT
${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ština" 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šcina" 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
!macroend

View File

@ -1,26 +0,0 @@
/*
Support code for file downloads
*/
!macro DownloadFile 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

View File

@ -1,5 +1,7 @@
/*
filelist.nsh
Lists of files to include in the installer
*/
@ -69,12 +71,6 @@ Lists of files to include in the installer
!macroend
!macro FileListDvipostBin COMMAND DIRECTORY
${FILE}pplatex.exe"
!macroend
!macro FileListPDFToolsBin COMMAND DIRECTORY
${FILE}pdfopen.exe"

View 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
!insertmacro IncludeLang "english"
!insertmacro IncludeLang "french"
!insertmacro IncludeLang "german"
!insertmacro IncludeLang "italian"
!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 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}
# Warn the user when no Administrator or Power user privileges are available
# These privileges are required to install ImageMagick or Ghostscript
${If} $MultiUser.Privileges != "Admin"
${andif} $MultiUser.Privileges != "Power"
MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
${endif}
Banner::show /NOUNLOAD "Preparing wizard"
Call InitDialogs
Call InitLanguage
Call InitSizeExternal
Call InitSizeViewer
Banner::destroy
${EndIf}
FunctionEnd

View File

@ -1,139 +1,85 @@
/*
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
Function LoadInstaller
#Set the correct shell context depending on command line parameter
#and priviledges
Push $R0
Push "/CurrentUser"
Call CommandLineParameter
Pop $CurrentUserInstall
${if} $CurrentUserInstall == ${TRUE}
SetShellVarContext current
${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
!insertmacro MULTIUSER_UNINIT
FunctionEnd
Function un.LoadUnInstaller
#--------------------------------
# User initialization
#Set the correct shell context depending on whether LyX has been installed
#for the current user or all users
Var ComponentPath
Var LyXPath
Var LyXLangName
ReadRegStr $R0 HKCU ${APP_REGKEY} ""
${if} $R0 == $INSTDIR
StrCpy $CurrentUserInstall ${TRUE}
${endif}
# COMPONENT can be LaTeX ImageMagick and Ghostscript
!macro EXTERNAL_INIT COMPONENT
${if} $CurrentUserInstall == ${TRUE}
# 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"
SetShellVarContext current
${else}
${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}
${endif}
# BIN_LATEX etc are defined in settings.nsh
${If} ${FileExists} "$ComponentPath\${BIN_${COMPONENT}}"
# set variables like PathLaTeX
StrCpy $Path${COMPONENT} $ComponentPath
${EndIf}
!macroend
Function InitUser
# Get directories of components from registry
ReadRegStr $LyXPath SHELL_CONTEXT "${APP_REGKEY}" ""
${If} $LyXPath != ""
StrCpy $INSTDIR $LyXPath
${EndIf}
!insertmacro EXTERNAL_INIT LaTeX
!insertmacro EXTERNAL_INIT ImageMagick
!insertmacro EXTERNAL_INIT Ghostscript
# Get LyX language
ReadRegStr $LyXLangName SHELL_CONTEXT "${APP_REGKEY_SETUP}" "LyX Language"
${If} $LyXLangName != ""
StrCpy $LangName $LyXLangName
${EndIf}
FunctionEnd

View File

@ -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ština" 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šcina" 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

View File

@ -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ština" 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šcina" 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

View File

@ -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

View 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 LANGFILE_EXT "English"
!insertmacro LanguageString TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
${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."
!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)"
${LangFileString} TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
!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"
${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)"
!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"
${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"
!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Administrator or Power User privileges required)"
${LangFileString} 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."
${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."
!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."
${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."
!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."
${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."
!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"
${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"
!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:"
${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:"
!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)"
${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)"
!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?"
${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?"
!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?"
${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?"
!insertmacro LanguageString TEXT_FINISH_DESKTOP "Create desktop shortcut"
!insertmacro LanguageString TEXT_FINISH_WEBSITE "Visit lyx.org for the latest news, support and tips"
${LangFileString} TEXT_FINISH_DESKTOP "Create desktop shortcut"
${LangFileString} 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"
${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"

View 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 LANGFILE_EXT "French"
!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)"
${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."
!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."
${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)"
!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)"
${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)"
!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Privilèges d'administration requis)"
${LangFileString} 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é."
${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é."
!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é."
${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é."
!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é."
${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é."
!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"
${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"
!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 :"
${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 :"
!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)"
${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)"
!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 ?"
${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 ?"
!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 ?"
${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 ?"
!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"
${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"
!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"
${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"

View 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 LANGFILE_EXT "German"
!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)"
${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."
!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"
${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)"
!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"
${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"
!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(Rechte als Administrator oder Hauptbenutzer erforderlich)"
${LangFileString} 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."
${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."
!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."
${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."
!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."
${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."
!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"
${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"
!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:"
${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:"
!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)"
${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)"
!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?"
${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?"
!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?"
${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?"
!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"
${LangFileString} TEXT_FINISH_DESKTOP "Ein Symbol auf der Arbeitsoberfläche erzeugen"
${LangFileString} 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"
${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"

View 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 LANGFILE_EXT "Italian"
!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)"
${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."
!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"
${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)"
!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)"
${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)"
!insertmacro LanguageString TEXT_EXTERNAL_NOPRIVILEDGES "(sono richiesti privilegi da amministratore o utente avanzato)"
${LangFileString} 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."
${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."
!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."
${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."
!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."
${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."
!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"
${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"
!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:"
${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:"
!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)"
${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)"
!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?"
${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?"
!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?"
${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?"
!insertmacro LanguageString TEXT_FINISH_DESKTOP "Crea icona sul desktop"
!insertmacro LanguageString TEXT_FINISH_WEBSITE "Visitate lyx.org per ultime novità, aiuto e suggerimenti"
${LangFileString} TEXT_FINISH_DESKTOP "Crea icona sul desktop"
${LangFileString} 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"
${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"

View File

@ -1,62 +1,67 @@
/*
NSIS Script - LyX 1.4 Installer for Win32
NSIS Script - LyX 1.5/1.6 Installer for Win32
Authors: Joost Verburg, Angus Leeming, Uwe Stöhr
Requires NSIS 2.21 or later
Requires NSIS 2.36 or later
Licence details for all installer scripts can be found
in the file COPYING or at http://www.lyx.org/about/license.php
Licence details for all installer scripts can be found in the file COPYING
*/
SetCompressor /SOLID lzma
!include "include\declarations.nsh"
!include settings.nsh
#--------------------------------
# The following commands use makensis to compile two applications.
# Although these applications are written in NSIS, they do not install anything.
#--------------------------------
#Compile the launcher
# Compile the launcher
!system '"${NSISDIR}\makensis.exe" "${FILES_LAUNCHER}\launcher.nsi"'
#--------------------------------
#Compile Windows PDF view helper
# Compile Windows PDF view helper
!system '"${NSISDIR}\makensis.exe" "${FILES_PDFVIEW}\pdfview.nsi"'
#--------------------------------
#LyX Installer, output file can be specified using command line option
# Output file can be specified using command line option
# /DExeFile=/path/to/installer or /DBundleExeFile=/path/to/installer if
# SETUPTYPE_BUNDLE is defined.
# bundle installer
!ifdef SETUPTYPE_BUNDLE
!ifdef BundleExeFile
OutFile "${BundleExeFile}"
# Bundle installer
!ifdef BundleExeFile
OutFile "${BundleExeFile}"
!else
Outfile "${SETUP_EXE}"
!endif
!else
Outfile "${SETUP_EXE}"
!endif
# regular installer
!else
!ifdef ExeFile
OutFile "${ExeFile}"
!else
Outfile "${SETUP_EXE}"
!endif
# Regular installer
!ifdef ExeFile
OutFile "${ExeFile}"
!else
Outfile "${SETUP_EXE}"
!endif
!endif
#--------------------------------
#Components
# Header files
!include "components\core.nsh"
!include "components\user.nsh"
!include "components\reinstall.nsh"
!include "components\external.nsh"
!include "components\viewer.nsh"
!include "components\dicts.nsh"
!include "components\langselect.nsh"
!include "components\configure.nsh"
!include "components\uninstall.nsh"
!include include\declarations.nsh
!include include\detection.nsh
!include include\dictlist.nsh
!include include\filelist.nsh
!include include\gui.nsh
!include include\init.nsh
!include include\langlist.nsh
#--------------------------------
# Setup
!include setup\configure.nsh
!include setup\install.nsh
!include setup\uninstall.nsh
#--------------------------------
# User interface (wizard pages)
!include gui\external.nsh
!include gui\langselect.nsh
!include gui\reinstall.nsh

View File

@ -4,8 +4,40 @@ Settings for LyX installer
*/
SetCompressor /SOLID lzma
#--------------------------------
#File locations
# Location of LyX files and dependencies
!ifdef FilesLyX
!define FILES_LYX "${FilesLyX}"
!else
!define FILES_LYX "..\..\..\..\build-msvc"
!endif
!ifdef FilesDeps
!define FILES_DEPS "${FilesDeps}"
!else
!define FILES_DEPS "..\..\..\..\lyx-windows-deps-msvc2008"
!endif
!ifdef FilesBundle
!define FILES_BUNDLE "${FilesBundle}"
!else
!define FILES_BUNDLE "..\..\..\..\lyx-windows-bundle-deps"
!endif
#--------------------------------
# Location of Python 2.5
!ifdef FilesPython
!define FILES_PYTHON "${FilesPython}"
!else
!define FILES_PYTHON "C:\Python25"
!endif
#--------------------------------
# File locations
!define FILES_LICENSE "license.rtf"
@ -17,18 +49,15 @@ Settings for LyX installer
!define FILES_NETPBM "${FILES_DEPS}\netpbm"
!define FILES_DTL "${FILES_DEPS}\dtl"
!define FILES_AIKSAURUS "${FILES_DEPS}\aiksaurus\"
!define FILES_DVIPOST "${FILES_DEPS}\dvipost"
!define FILES_DVIPOST_PKG "${FILES_DVIPOST}"
!define FILES_PDFTOOLS "${FILES_DEPS}\pdftools"
!define FILES_QT "${FILES_DEPS}\qt-4"
!define FILES_DVIPOSTDATA "${FILES_DEPS}\dvipost"
!define FILES_ASPELLDATA "${FILES_DEPS}\aspell"
!define FILES_NSISPLUGINS "${FILES_DEPS}\nsis"
#--------------------------------
#Locations of components to download
# Locations of components to download
!define MIRROR_SF1 "http://superb-west.dl.sourceforge.net/sourceforge"
!define MIRROR_SF2 "http://mesh.dl.sourceforge.net/sourceforge"
@ -42,38 +71,31 @@ Settings for LyX installer
!insertmacro SourceForgeMirror IMAGEMAGICK "imagemagick/ImageMagick-6.3.7-8-Q16-windows-dll.exe"
!insertmacro SourceForgeMirror GHOSTSCRIPT "ghostscript/gs861w32.exe"
!define DOWNLOAD_VIEWER "http://tug.ctan.org/tex-archive/nonfree/support/ghostscript/ghostgum/gsv49w32.exe"
!define DOWNLOADALT_VIEWER "http://ctan.basemirror.de/nonfree/support/ghostscript/ghostgum/gsv49w32.exe"
!define DOWNLOAD_ASPELLDICTS "ftp://ftp.lyx.org/pub/lyx/contrib/aspell6-windows"
!define DOWNLOADALT_ASPELLDICTS "http://www.lyx.org/~bpeng/aspell6-windows"
#--------------------------------
#Download size (in KB)
# Download size (in KB)
!define SIZE_DOWNLOAD_LATEX 78493
!define SIZE_DOWNLOAD_IMAGEMAGICK 7330
!define SIZE_DOWNLOAD_GHOSTSCRIPT 12469
!define SIZE_DOWNLOAD_VIEWER 1467
#--------------------------------
#Approximations of space required for components (in KB)
# Approximations of space required for components (in KB)
!define SIZE_LATEX 225000
!define SIZE_IMAGEMAGICK 18700
!define SIZE_GHOSTSCRIPT 31500
!define SIZE_VIEWER 4000
#--------------------------------
#Locations of setup files for components (for bundled setup)
# Locations of setup files for components (for bundled setup)
!define INSTALL_LATEX "basic-miktex-2.7.2904.exe"
!define INSTALL_IMAGEMAGICK "ImageMagick-6.3.7-8-Q16-windows-dll.exe"
!define INSTALL_GHOSTSCRIPT "gs861w32.exe"
!define INSTALL_VIEWER "gsv49w32.exe"
#--------------------------------
#Names and version
# Names and version
!define APP_NAME "LyX"
!define /date APP_VERSION "1.6svn %Y%m%d"
@ -96,12 +118,22 @@ Settings for LyX installer
!define APP_MIME_TYPE "application/lyx"
#--------------------------------
#Setup settings
# Setup settings
# Output file name can be configured using command line paramater
# /DExeFile=/path/to/installer or /DBundleExeFile=/path/to/installer if
# SETUPTYPE_BUNDLE is defined.
!ifndef SETUPTYPE_BUNDLE
!define /date SETUP_EXE "lyx-16svn-%Y%m%d.exe"
!ifndef ExeFile
!define /date ExeFile "LyX-16svn-%Y%m%d-Installer.exe"
!endif
!define SETUP_EXE "${ExeFile}"
!else
!define /date SETUP_EXE "lyx-16svn-%Y%m%d-bundle.exe"
!ifndef SETUPTYPE_BUNDLE
!define /date BundleExeFile "LyX-16svn-%Y%m%d-Installer-Bundle.exe"
!endif
!define SETUP_EXE "${BundleExeFile}"
!endif
!define SETUP_DEFAULT_DIRECTORY "$PROGRAMFILES\${APP_NAME}${APP_SERIES_KEY}"
@ -112,13 +144,13 @@ Settings for LyX installer
!define SETUP_UNINSTALLER_KEY "${APP_NAME}"
#--------------------------------
#Names of binaries to identify compontents
# Names of binaries to identify compontents
!define BIN_LATEX "tex.exe"
!define BIN_IMAGEMAGICK "convert.exe"
!define BIN_GHOSTSCRIPT "gswin32c.exe"
#--------------------------------
#Custom NSIS plug-ins
# Custom NSIS plug-ins
!addplugindir "${FILES_NSISPLUGINS}"

View File

@ -1,31 +0,0 @@
#LyX Windows Installer
#User Settings, all these macros can be redefined from command line,
#using options like /DFilesLyX="..\..\..\..\lyx-install"
#Location of LyX files and dependencies
!ifdef FilesLyX
!define FILES_LYX "${FilesLyX}"
!else
!define FILES_LYX "..\..\..\..\build-msvc"
!endif
!ifdef FilesDeps
!define FILES_DEPS "${FilesDeps}"
!else
!define FILES_DEPS "..\..\..\..\lyx-windows-deps-msvc2008"
!endif
!ifdef FilesBundle
!define FILES_BUNDLE "${FilesBundle}"
!else
!define FILES_BUNDLE "..\..\..\..\lyx-windows-bundle-deps"
!endif
#Location of Python 2.5
!ifdef FilesPython
!define FILES_PYTHON "${FilesPython}"
!else
!define FILES_PYTHON "C:\Python25"
!endif

View File

@ -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

View File

@ -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

View File

@ -1,15 +1,16 @@
/*
Uninstaller
uninstall.nsh
Uninstall
*/
#--------------------------------
#Sections
Var FileAssociation
Section "un.Program Files" un.SecProgramFiles
#Binaries
# Binaries
Delete "$INSTDIR\bin\lyx.exe"
Delete "$INSTDIR\bin\lyxc.exe"
@ -21,62 +22,61 @@ Section "un.Program Files" un.SecProgramFiles
!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
# Icons
!insertmacro FileListLyXIcons Delete "$INSTDIR\bin\"
#Resources
# Resources
RMDir /r "$INSTDIR\Resources"
#Components of Python
# Components of Python
RMDir /r "$INSTDIR\python"
#Aiksaurus Data
# Aiksaurus Data
!insertmacro FileListAiksaurusData Delete "$INSTDIR\aiksaurus\"
RMDir "$INSTDIR\aiksaurus"
#Helper DLLs for NSIS-based tools
# Helper DLLs for NSIS-based tools
!insertmacro FileListNSISPluginsStandard Delete "$INSTDIR\bin\"
!insertmacro FileListNSISPlugins Delete "$INSTDIR\bin\"
#Shortcuts
# Shortcuts
Delete "$SMPROGRAMS\${APP_NAME} ${APP_SERIES_NAME}.lnk"
Delete "$DESKTOP\${APP_NAME} ${APP_SERIES_NAME}.lnk"
#Uninstaller itself
# Uninstaller itself
Delete "$INSTDIR\${SETUP_UNINSTALLER}"
RMDir "$INSTDIR\bin"
#Application folder
# Application folder
SetOutPath "$PROGRAMFILES"
RMDir "$INSTDIR"
#Registry keys
# 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
# File associations
ReadRegStr $R0 SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""
ReadRegStr $FileAssociation SHELL_CONTEXT "Software\Classes\${APP_EXT}" ""
${if} $R0 == "${APP_REGNAME_DOC}"
${If} $FileAssociation == "${APP_REGNAME_DOC}"
DeleteRegKey SHELL_CONTEXT "Software\Classes\${APP_EXT}"
${endif}
${EndIf}
SectionEnd