mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-13 17:20:55 +00:00
* Improved multi-user installation. It is now easier to have both a system as well as a local version of LyX installed.
* Installation for all users is the default for Power Users and Administrators * For silent installation, it is possible to use the /AllUsers or /CurrentUser command line parameter to choose for which users you want to install * Updated list of supported languages. The "red" languages from http://www.lyx.org/devel/i18n.php have been removed. * Language and dictionary names are no longer in English but are translated in the language itself * One single list with language names, ISO codes and identifiers * Both the installer and uninstaller automatically detect the user interface language * Added more space in the user interface for translated texts * Added all Python encoding files so there will be no problems with future Python scripts git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@15200 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
17ccf3cf5f
commit
a7594d6ca8
@ -48,17 +48,20 @@ Section -InstallData
|
||||
;Uninstaller information
|
||||
!define REG_UNINSTALL 'WriteRegStr SHELL_CONTEXT "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}"'
|
||||
|
||||
${REG_UNINSTALL} "UninstallString" "$\"$INSTDIR\${SETUP_UNINSTALLER}$\""
|
||||
${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION}"
|
||||
${if} $CurrentUserInstall == ${TRUE}
|
||||
${REG_UNINSTALL} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}" /CurrentUser'
|
||||
${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION} $(TEXT_INSTALL_CURRENTUSER)"
|
||||
${else}
|
||||
${REG_UNINSTALL} "UninstallString" '"$INSTDIR\${SETUP_UNINSTALLER}" /AllUsers'
|
||||
${REG_UNINSTALL} "DisplayName" "${APP_NAME} ${APP_VERSION}"
|
||||
${endif}
|
||||
|
||||
${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"
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
|
||||
|
||||
SectionEnd
|
||||
|
||||
@ -113,7 +116,7 @@ Section -Configure
|
||||
FileOpen $R1 "$INSTDIR\${APP_RUN}" w
|
||||
|
||||
FileWrite $R1 '@echo off$\r$\n'
|
||||
FileWrite $R1 'SET LC_ALL=$LangCode$\r$\n'
|
||||
FileWrite $R1 'SET LC_ALL=$LangISOCode$\r$\n'
|
||||
FileWrite $R1 'SET AIK_DATA_DIR=$INSTDIR\aiksaurus$\r$\n'
|
||||
FileWrite $R1 'start "${APP_NAME}" "$INSTDIR\bin\lyx.exe" %*$\r$\n'
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
|
||||
LyX Core
|
||||
Binaries, resources, MSYS/Python, Aspell
|
||||
Binaries, Resources, Python, Aspell
|
||||
|
||||
*/
|
||||
|
||||
@ -78,19 +78,22 @@ Section -Core SecCore
|
||||
|
||||
;Aspell
|
||||
|
||||
File /oname=$PLUGINSDIR\aspelldata.exe "${FILES_ASPELLDATA}\aspelldata-sep06.exe"
|
||||
File /oname=$PLUGINSDIR\AspellData.exe "${FILES_ASPELLDATA}\AspellData.exe"
|
||||
|
||||
${if} $AllUsersInstall == ${TRUE}
|
||||
ExecWait '"$PLUGINSDIR\aspelldata.exe" /S /AllUsers'
|
||||
${if} $CurrentUserInstall == ${TRUE}
|
||||
ExecWait '"$PLUGINSDIR\AspellData.exe" /S /CurrentUser'
|
||||
${else}
|
||||
ExecWait '"$PLUGINSDIR\aspelldata.exe" /S'
|
||||
ExecWait '"$PLUGINSDIR\AspellData.exe" /S /AllUsers'
|
||||
${endif}
|
||||
|
||||
Delete "$PLUGINSDIR\aspelldata.exe"
|
||||
Delete "$PLUGINSDIR\AspellData.exe"
|
||||
|
||||
;Aiksarus data
|
||||
|
||||
SetOutPath "$INSTDIR\aiksaurus"
|
||||
!insertmacro FileListAiksaurusData File "${FILES_AIKSAURUS}\"
|
||||
|
||||
;Create uninstaller
|
||||
WriteUninstaller "$INSTDIR\${SETUP_UNINSTALLER}"
|
||||
|
||||
SectionEnd
|
||||
|
@ -7,15 +7,15 @@ Aspell dictionaries
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro Dictionary file lang_name lang_code size
|
||||
!macro Dictionary FILE LANGNAME LANGCODE SIZE
|
||||
|
||||
Section /o "${lang_name}"
|
||||
Section /o "${LANGNAME}"
|
||||
|
||||
AddSize ${size}
|
||||
AddSize ${SIZE}
|
||||
|
||||
Push ${lang_code}
|
||||
Push "${lang_name}"
|
||||
Push ${file}
|
||||
Push ${LANGCODE}
|
||||
Push "${LANGNAME}"
|
||||
Push ${FILE}
|
||||
|
||||
Call DownloadDictionary
|
||||
|
||||
@ -36,39 +36,39 @@ SectionEnd
|
||||
!define DICT '!insertmacro Dictionary'
|
||||
|
||||
${DICT} af-0.50-0 "Afrikaans" af 924
|
||||
${DICT} no-0.50-2 "Bokmål" no 1300
|
||||
${DICT} bg-0.50-0 "Bulgarian" bg 9059
|
||||
${DICT} ca-20040130-1 "Catalan" ca 1107
|
||||
${DICT} hr-0.51-0 "Croatian" hr 2006
|
||||
${DICT} cs-20040614-1 "Czech" cs 2096
|
||||
${DICT} da-1.4.42-1 "Danish" da 3094
|
||||
${DICT} nl-0.50-2 "Dutch" nl 1546
|
||||
${DICT} ca-20040130-1 "Català" ca 1107
|
||||
${DICT} cs-20040614-1 "Cesky" cs 2096
|
||||
${DICT} da-1.4.42-1 "Dansk" da 3094
|
||||
${DICT} de-20030222-1 "Deutsch" de 2929
|
||||
${DICT} en-6.0-0 "English" en 1144
|
||||
${DICT} es-0.50-2 "Español" es 3018
|
||||
${DICT} eo-0.50-2 "Esperanto" eo 3863
|
||||
${DICT} et-0.1.21-1 "Estonian" et 931
|
||||
${DICT} fi-0.7-0 "Finnish" fi 663
|
||||
${DICT} fr-0.50-3 "French" fr 4428
|
||||
${DICT} gl-0.50-0 "Galician" gl 3041
|
||||
${DICT} de-20030222-1 "German" de 2929
|
||||
${DICT} fr-0.50-3 "Français" fr 4428
|
||||
${DICT} gl-0.50-0 "Galego" gl 3041
|
||||
${DICT} el-0.50-3 "Greek" el 3269
|
||||
${DICT} he-0.9-0 "Hebrew" he 1485
|
||||
${DICT} hu-0.99.4.2-0 "Hungarian" hu 1636
|
||||
${DICT} hr-0.51-0 "Hrvatski" hr 2006
|
||||
${DICT} is-0.51.1-0 "Icelandic" is 1556
|
||||
;${DICT} ia-0.50-1 "Interlingua" ia 605
|
||||
${DICT} it-2.2_20050523-0 "Italian" it 699
|
||||
${DICT} it-2.2_20050523-0 "Italiano" it 699
|
||||
;${DICT} la-20020503-0 "Latin" la 179
|
||||
${DICT} no-0.50-2 "Norwegian" no 1300
|
||||
${DICT} nn-0.50.1-1 "Norwegian Nynorsk" nn 1962
|
||||
${DICT} pl-0.51-0 "Polish" pl 14018
|
||||
${DICT} pt-0.50-2 "Portuguese" pt 2326
|
||||
${DICT} ro-0.50-2 "Romanian" ro 338
|
||||
${DICT} hu-0.99.4.2-0 "Magyar" hu 1636
|
||||
${DICT} nl-0.50-2 "Nederlands" nl 1546
|
||||
${DICT} nn-0.50.1-1 "Nynorsk" nn 1962
|
||||
${DICT} pl-0.51-0 "Polski" pl 14018
|
||||
${DICT} pt-0.50-2 "Português" pt 2326
|
||||
${DICT} ro-0.50-2 "Romana" ro 338
|
||||
${DICT} ru-0.99f7-1 "Russian" ru 1477
|
||||
${DICT} gd-0.1.1-1 "Scottish" gd 187
|
||||
${DICT} sk-0.52-0 "Slovak" sk 4709
|
||||
${DICT} sl-0.50-0 "Slovenian" sl 5252
|
||||
${DICT} sr-0.02 "Serbian" sr 3755
|
||||
${DICT} es-0.50-2 "Spanish" es 3018
|
||||
${DICT} sv-0.51-0 "Swedish" sv 1040
|
||||
${DICT} tr-0.50-0 "Turkish" tr 548
|
||||
${DICT} sk-0.52-0 "Slovenský jazyk" sk 4709
|
||||
${DICT} sl-0.50-0 "Slovenski jezik" sl 5252
|
||||
${DICT} fi-0.7-0 "Suomi" fi 663
|
||||
${DICT} sv-0.51-0 "Svenska" sv 1040
|
||||
${DICT} tr-0.50-0 "Türkçe" tr 548
|
||||
;${DICT} hsb-0.01-1 "Upper Sorbian" hsb 374
|
||||
${DICT} uk-1.1-0 "Ukrainian" uk 583
|
||||
${DICT} cy-0.50-3 "Welsh" cy 1801
|
||||
|
@ -7,31 +7,31 @@ External Components: MiKTeX, ImageMagick, Ghostscript
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro SetComponentState var component
|
||||
!macro SetComponentState VAR COMPONENT
|
||||
|
||||
${if} ${var} == "1"
|
||||
${if} ${VAR} == "1"
|
||||
|
||||
StrCpy $Setup${component} ${TRUE}
|
||||
StrCpy $Setup${COMPONENT} ${TRUE}
|
||||
|
||||
StrCpy $R1 $Size${component}
|
||||
StrCpy $R1 $Size${COMPONENT}
|
||||
|
||||
${if} $Path${component} == ""
|
||||
${if} $Path${COMPONENT} == ""
|
||||
;Add size of component itself
|
||||
IntOp $R1 $R1 + ${SIZE_${component}}
|
||||
IntOp $R1 $R1 + ${SIZE_${COMPONENT}}
|
||||
${endif}
|
||||
|
||||
SectionSetSize ${External${component}} $R1
|
||||
SectionSetSize ${External${COMPONENT}} $R1
|
||||
|
||||
${else}
|
||||
|
||||
StrCpy $Setup${component} ${FALSE}
|
||||
SectionSetSize ${External${component}} 0
|
||||
StrCpy $Setup${COMPONENT} ${FALSE}
|
||||
SectionSetSize ${External${COMPONENT}} 0
|
||||
|
||||
${endif}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro ExternalComponent component
|
||||
!macro ExternalComponent COMPONENT
|
||||
|
||||
;Action depending on type of installer
|
||||
|
||||
@ -49,54 +49,54 @@ External Components: MiKTeX, ImageMagick, Ghostscript
|
||||
|
||||
!macroend
|
||||
|
||||
!macro SetupComponent component
|
||||
!macro SetupComponent COMPONENT
|
||||
|
||||
;Run the setup application for a component
|
||||
|
||||
install_${component}:
|
||||
install_${COMPONENT}:
|
||||
|
||||
ExecWait '"$PLUGINSDIR\${component}Setup.exe"'
|
||||
ExecWait '"$PLUGINSDIR\${COMPONENT}Setup.exe"'
|
||||
Call UpdatePathEnvironment
|
||||
Call Search${component}
|
||||
Call Search${COMPONENT}
|
||||
|
||||
${if} $Path${component} == ""
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION $(TEXT_NOTINSTALLED_${component}) IDYES install_${component}
|
||||
${if} $Path${COMPONENT} == ""
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION $(TEXT_NOTINSTALLED_${COMPONENT}) IDYES install_${COMPONENT}
|
||||
${endif}
|
||||
|
||||
Delete "$PLUGINSDIR\${component}Setup.exe"
|
||||
Delete "$PLUGINSDIR\${COMPONENT}Setup.exe"
|
||||
|
||||
!macroend
|
||||
|
||||
!ifndef SETUPTYPE_BUNDLE
|
||||
|
||||
!macro DownloadComponent component
|
||||
!macro DownloadComponent COMPONENT
|
||||
|
||||
download_${component}:
|
||||
download_${COMPONENT}:
|
||||
|
||||
;Download using HTTP
|
||||
NSISdl::download "${DOWNLOAD_${component}}" "$PLUGINSDIR\${component}Setup.exe"
|
||||
NSISdl::download "${DOWNLOAD_${COMPONENT}}" "$PLUGINSDIR\${COMPONENT}Setup.exe"
|
||||
Pop $R0
|
||||
|
||||
${if} $R0 != "success"
|
||||
;Download failed
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_${component}) ($R0)" IDYES download_${component}
|
||||
Goto noinstall_${component}
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(TEXT_DOWNLOAD_FAILED_${COMPONENT}) ($R0)" IDYES download_${COMPONENT}
|
||||
Goto noinstall_${COMPONENT}
|
||||
${endif}
|
||||
|
||||
!insertmacro SetupComponent ${component}
|
||||
!insertmacro SetupComponent ${COMPONENT}
|
||||
|
||||
noinstall_${component}:
|
||||
noinstall_${COMPONENT}:
|
||||
|
||||
!macroend
|
||||
|
||||
!else
|
||||
|
||||
!macro InstallComponent component
|
||||
!macro InstallComponent COMPONENT
|
||||
|
||||
;Extract
|
||||
File /oname=$PLUGINSDIR\${component}Setup.exe ${INSTALL_${component}}
|
||||
File /oname=$PLUGINSDIR\${COMPONENT}Setup.exe ${INSTALL_${COMPONENT}}
|
||||
|
||||
!insertmacro SetupComponent ${component}
|
||||
!insertmacro SetupComponent ${COMPONENT}
|
||||
|
||||
!macroend
|
||||
|
||||
@ -113,38 +113,38 @@ External Components: MiKTeX, ImageMagick, Ghostscript
|
||||
|
||||
!macroend
|
||||
|
||||
!macro DialogExternalShow component
|
||||
!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_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
|
||||
!macro DialogExternalValidate COMPONENT
|
||||
|
||||
Push $R0
|
||||
Push $R1
|
||||
|
||||
;Next button pressed?
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${component}.ini" "Settings" "State"
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${COMPONENT}.ini" "Settings" "State"
|
||||
${if} $R0 != "0"
|
||||
!insertmacro DialogExternalControl ${component}
|
||||
!insertmacro DialogExternalControl ${COMPONENT}
|
||||
Abort
|
||||
${endif}
|
||||
|
||||
;Download?
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "external_${component}.ini" "Field 2" "State"
|
||||
!insertmacro SetComponentState $R0 ${component}
|
||||
!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"
|
||||
!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)
|
||||
!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
|
||||
|
@ -7,44 +7,33 @@ Selection of language for LyX interface
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro SystemLanguage lang_name lang_code
|
||||
!macro SetSystemLangItem VAR LANGNAME LANGISOCODE LANGID
|
||||
|
||||
${if} $R0 == ${lang_code}
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "State" "${lang_name}"
|
||||
${if} $R0 == ${LANGID}
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "langselect.ini" "Field 2" "State" "${LANGNAME}"
|
||||
${endif}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro GetLyXLangCodeItem var_name var_langcode name langcode
|
||||
!macro SetSystemLang VAR
|
||||
|
||||
${if} ${var_name} == "${name}"
|
||||
StrCpy ${var_langcode} "${langcode}"
|
||||
!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 GetLyXLangCode var_name var_langcode
|
||||
|
||||
!define LANGCODE '!insertmacro GetLyXLangCodeItem ${var_name} ${var_langcode}'
|
||||
|
||||
${LANGCODE} "Basque" "eu_EU"
|
||||
${LANGCODE} "Dansk" "da_DK"
|
||||
${LANGCODE} "Dutch" "nl_NL"
|
||||
${LANGCODE} "English" "en_EN"
|
||||
${LANGCODE} "Finnish" "fi_FI"
|
||||
${LANGCODE} "French" "fr_FR"
|
||||
${LANGCODE} "German" "de_DE"
|
||||
${LANGCODE} "Hungarian" "hu_HU"
|
||||
${LANGCODE} "Italian" "it_IT"
|
||||
${LANGCODE} "Norwegian" "nb_NO"
|
||||
${LANGCODE} "Norwegian (Nynorsk)" "nn_NO"
|
||||
${LANGCODE} "Polish" "pl_PL"
|
||||
${LANGCODE} "Romanish" "ro_RO"
|
||||
${LANGCODE} "Russian" "ru_RU"
|
||||
${LANGCODE} "Slovak" "sk_SK"
|
||||
${LANGCODE} "Slovian" "sl_SI"
|
||||
${LANGCODE} "Spanish" "es_ES"
|
||||
${LANGCODE} "Turkish" "tr_TR"
|
||||
!macro GetISOLangCode VAR_LANGNAME VAR_LANGISOCODE
|
||||
|
||||
;Get the language code for the selected language name
|
||||
|
||||
!insertmacro LanguageList '!insertmacro GetISOLangCodeItem ${VAR_LANGNAME} ${VAR_LANGISOCODE}'
|
||||
|
||||
!macroend
|
||||
|
||||
@ -53,30 +42,10 @@ Selection of language for LyX interface
|
||||
|
||||
Function InitLanguage
|
||||
|
||||
;Set the default for the LyX language selection dialog
|
||||
;Set the default for the language selection dialog to the Windows language
|
||||
|
||||
System::Call "kernel32::GetUserDefaultUILanguage()i.R0"
|
||||
|
||||
!define SYSTEM_LANG '!insertmacro SystemLanguage'
|
||||
|
||||
${SYSTEM_LANG} "Basque" 1069
|
||||
${SYSTEM_LANG} "Danish" 1030
|
||||
${SYSTEM_LANG} "Dutch" 1043
|
||||
${SYSTEM_LANG} "English" 1033
|
||||
${SYSTEM_LANG} "Finnish" 1035
|
||||
${SYSTEM_LANG} "French" 1036
|
||||
${SYSTEM_LANG} "German" 1031
|
||||
${SYSTEM_LANG} "Hungarian" 1038
|
||||
${SYSTEM_LANG} "Italian" 1057
|
||||
${SYSTEM_LANG} "Norwegian" 1044
|
||||
${SYSTEM_LANG} "Norwegian (Nynorsk)" 2068
|
||||
${SYSTEM_LANG} "Polish" 1045
|
||||
${SYSTEM_LANG} "Romanian" 1048
|
||||
${SYSTEM_LANG} "Russian" 1049
|
||||
${SYSTEM_LANG} "Slovak" 1051
|
||||
${SYSTEM_LANG} "Slovenian" 1060
|
||||
${SYSTEM_LANG} "Spanish" 1034
|
||||
${SYSTEM_LANG} "Turkish" 1055
|
||||
!insertmacro SetSystemLang $R0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
@ -93,6 +62,6 @@ FunctionEnd
|
||||
Function PageLanguageValidate
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $LangName "langselect.ini" "Field 2" "State"
|
||||
!insertmacro GetLyXLangCode $LangName $LangCode
|
||||
!insertmacro GetISOLangCode $LangName $LangISOCode
|
||||
|
||||
FunctionEnd
|
@ -32,6 +32,4 @@ Function PageReinstallValidate
|
||||
!insertmacro UnselectSection ${SecCore}
|
||||
${endif}
|
||||
|
||||
Call InitUser
|
||||
|
||||
FunctionEnd
|
@ -7,14 +7,14 @@ Install type setting (current user/all users)
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro GetDirExternal component
|
||||
!macro GetDirExternal COMPONENT
|
||||
|
||||
ReadRegStr $R0 SHELL_CONTEXT "${APP_REGKEY_SETUP}" "${component} Path"
|
||||
ReadRegStr $R0 SHELL_CONTEXT "${APP_REGKEY_SETUP}" "${COMPONENT} Path"
|
||||
|
||||
${if} ${FileExists} "$R0\${BIN_${component}}"
|
||||
${if} ${FileExists} "$R0\${BIN_${COMPONENT}}"
|
||||
|
||||
${if} $R0 != ""
|
||||
StrCpy $Path${component} $R0
|
||||
StrCpy $Path${COMPONENT} $R0
|
||||
${endif}
|
||||
|
||||
${endif}
|
||||
@ -75,10 +75,11 @@ Function PageUserValidate
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "user.ini" "Field 2" "State"
|
||||
|
||||
${if} $R0 == "1"
|
||||
SetShellVarContext current
|
||||
${else}
|
||||
SetShellVarContext all
|
||||
StrCpy $AllUsersInstall ${TRUE}
|
||||
StrCpy $CurrentUserInstall ${FALSE}
|
||||
${else}
|
||||
SetShellVarContext current
|
||||
StrCpy $CurrentUserInstall ${TRUE}
|
||||
${endif}
|
||||
|
||||
Call InitUser
|
||||
|
@ -15,5 +15,5 @@ Left=0
|
||||
Top=30
|
||||
Right=110
|
||||
Bottom=130
|
||||
ListItems=Basque|Danish|Dutch|English|Finnish|French|German|Hungarian|Italian|Norwegian|Norwegian (Nynorsk)|Polish|Romanian|Russian|Slovensky|Slovene|Spanish|Turkish
|
||||
State=English
|
||||
ListItems=
|
||||
State=
|
||||
|
@ -6,7 +6,7 @@ Type=Label
|
||||
Left=0
|
||||
Top=0
|
||||
Right=300
|
||||
Bottom=29
|
||||
Bottom=40
|
||||
Text=###TEXT_REINSTALL_INFO###
|
||||
|
||||
[Field 2]
|
||||
|
@ -6,22 +6,24 @@ Type=Label
|
||||
Left=0
|
||||
Top=0
|
||||
Right=300
|
||||
Bottom=19
|
||||
Bottom=30
|
||||
Text=###TEXT_USER_INFO###
|
||||
|
||||
[Field 2]
|
||||
Type=RadioButton
|
||||
Left=20
|
||||
Top=40
|
||||
Right=290
|
||||
Bottom=51
|
||||
Text=###TEXT_USER_CURRENT###
|
||||
State=1
|
||||
|
||||
[Field 3]
|
||||
Type=RadioButton
|
||||
Left=20
|
||||
Top=60
|
||||
Right=290
|
||||
Right=300
|
||||
Bottom=71
|
||||
Text=###TEXT_USER_CURRENT###
|
||||
State=
|
||||
[Field 2]
|
||||
Type=RadioButton
|
||||
Left=20
|
||||
Top=40
|
||||
Right=300
|
||||
Bottom=51
|
||||
Text=###TEXT_USER_ALL#
|
||||
State=
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ Type=Label
|
||||
Left=0
|
||||
Top=0
|
||||
Right=300
|
||||
Bottom=30
|
||||
Bottom=40
|
||||
Text=###TEXT_VIEWER_INFO###
|
||||
|
||||
[Field 2]
|
||||
|
@ -21,6 +21,7 @@ Declarations
|
||||
|
||||
!include "MUI.nsh"
|
||||
!include "LogicLib.nsh"
|
||||
!include "StrFunc.nsh"
|
||||
!include "FileFunc.nsh"
|
||||
!include "WordFunc.nsh"
|
||||
!include "Sections.nsh"
|
||||
@ -47,7 +48,7 @@ ReserveFile "${FILES_DVIPOST_PKG}\dvipost.sty"
|
||||
;Variables
|
||||
|
||||
Var AdminOrPowerUser
|
||||
Var AllUsersInstall
|
||||
Var CurrentUserInstall
|
||||
|
||||
Var PathLaTeX
|
||||
Var PathImageMagick
|
||||
@ -65,19 +66,16 @@ Var SizeGhostscript
|
||||
Var SizeViewer
|
||||
|
||||
Var LangName
|
||||
Var LangCode
|
||||
Var LangISOCode
|
||||
|
||||
Var AspellHive
|
||||
|
||||
;--------------------------------
|
||||
;Generic defines
|
||||
|
||||
!define FALSE 0
|
||||
!define TRUE 1
|
||||
|
||||
;--------------------------------
|
||||
;Include standard functions
|
||||
|
||||
!insertmacro FUNCTION_STRING_StrStr
|
||||
!insertmacro FUNCTION_STRING_UnStrStr
|
||||
|
||||
!insertmacro GetParent
|
||||
!insertmacro VersionCompare
|
||||
!insertmacro WordFind2X
|
||||
@ -85,25 +83,25 @@ Var AspellHive
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro ReDef name value
|
||||
!macro ReDef NAME VALUE
|
||||
|
||||
;Redefine a pre-processor definition
|
||||
|
||||
!ifdef `${name}`
|
||||
!undef `${name}`
|
||||
!ifdef `${NAME}`
|
||||
!undef `${NAME}`
|
||||
!endif
|
||||
|
||||
!define `${name}` `${value}`
|
||||
!define `${NAME}` `${VALUE}`
|
||||
|
||||
!macroend
|
||||
|
||||
!macro CallFunc function input var_output
|
||||
!macro CallFunc FUNCTION INPUT VAROUT
|
||||
|
||||
;Calls a function that modifies a single value on the stack
|
||||
|
||||
Push ${input}
|
||||
Call ${function}
|
||||
Pop ${var_output}
|
||||
Push ${INPUT}
|
||||
Call ${FUNCTION}
|
||||
Pop ${VAROUT}
|
||||
|
||||
!macroend
|
||||
|
||||
|
@ -107,7 +107,7 @@ Function GetPathPrefix
|
||||
|
||||
Push $R0
|
||||
|
||||
StrCpy $R0 "$INSTDIR\python"
|
||||
StrCpy $R0 "$INSTDIR\bin;$INSTDIR\python"
|
||||
|
||||
${if} $PathLaTeX != ""
|
||||
StrCpy $R0 "$R0;$PathLaTeX"
|
||||
|
@ -155,10 +155,121 @@ Lists of files to include in the installer
|
||||
|
||||
!macro FileListPythonLibEncodings COMMAND DIRECTORY
|
||||
|
||||
${COMMAND} "${DIRECTORY}__init__.py"
|
||||
${COMMAND} "${DIRECTORY}aliases.py"
|
||||
${COMMAND} "${DIRECTORY}ascii.py"
|
||||
${COMMAND} "${DIRECTORY}base64_codec.py"
|
||||
${COMMAND} "${DIRECTORY}big5.py"
|
||||
${COMMAND} "${DIRECTORY}big5hkscs.py"
|
||||
${COMMAND} "${DIRECTORY}bz2_codec.py"
|
||||
${COMMAND} "${DIRECTORY}charmap.py"
|
||||
${COMMAND} "${DIRECTORY}cp037.py"
|
||||
${COMMAND} "${DIRECTORY}cp1006.py"
|
||||
${COMMAND} "${DIRECTORY}cp1026.py"
|
||||
${COMMAND} "${DIRECTORY}cp1140.py"
|
||||
${COMMAND} "${DIRECTORY}cp1250.py"
|
||||
${COMMAND} "${DIRECTORY}cp1251.py"
|
||||
${COMMAND} "${DIRECTORY}cp1252.py"
|
||||
${COMMAND} "${DIRECTORY}cp1253.py"
|
||||
${COMMAND} "${DIRECTORY}cp1254.py"
|
||||
${COMMAND} "${DIRECTORY}cp1255.py"
|
||||
${COMMAND} "${DIRECTORY}cp1256.py"
|
||||
${COMMAND} "${DIRECTORY}cp1257.py"
|
||||
${COMMAND} "${DIRECTORY}cp1258.py"
|
||||
${COMMAND} "${DIRECTORY}cp424.py"
|
||||
${COMMAND} "${DIRECTORY}cp437.py"
|
||||
${COMMAND} "${DIRECTORY}cp500.py"
|
||||
${COMMAND} "${DIRECTORY}cp737.py"
|
||||
${COMMAND} "${DIRECTORY}cp775.py"
|
||||
${COMMAND} "${DIRECTORY}cp850.py"
|
||||
${COMMAND} "${DIRECTORY}cp852.py"
|
||||
${COMMAND} "${DIRECTORY}cp855.py"
|
||||
${COMMAND} "${DIRECTORY}cp856.py"
|
||||
${COMMAND} "${DIRECTORY}cp857.py"
|
||||
${COMMAND} "${DIRECTORY}cp860.py"
|
||||
${COMMAND} "${DIRECTORY}cp861.py"
|
||||
${COMMAND} "${DIRECTORY}cp862.py"
|
||||
${COMMAND} "${DIRECTORY}cp863.py"
|
||||
${COMMAND} "${DIRECTORY}cp864.py"
|
||||
${COMMAND} "${DIRECTORY}cp865.py"
|
||||
${COMMAND} "${DIRECTORY}cp866.py"
|
||||
${COMMAND} "${DIRECTORY}cp869.py"
|
||||
${COMMAND} "${DIRECTORY}cp874.py"
|
||||
${COMMAND} "${DIRECTORY}cp875.py"
|
||||
${COMMAND} "${DIRECTORY}cp932.py"
|
||||
${COMMAND} "${DIRECTORY}cp949.py"
|
||||
${COMMAND} "${DIRECTORY}cp950.py"
|
||||
${COMMAND} "${DIRECTORY}euc_jisx0213.py"
|
||||
${COMMAND} "${DIRECTORY}euc_jis_2004.py"
|
||||
${COMMAND} "${DIRECTORY}euc_jp.py"
|
||||
${COMMAND} "${DIRECTORY}euc_kr.py"
|
||||
${COMMAND} "${DIRECTORY}gb18030.py"
|
||||
${COMMAND} "${DIRECTORY}gb2312.py"
|
||||
${COMMAND} "${DIRECTORY}gbk.py"
|
||||
${COMMAND} "${DIRECTORY}hex_codec.py"
|
||||
${COMMAND} "${DIRECTORY}hp_roman8.py"
|
||||
${COMMAND} "${DIRECTORY}hz.py"
|
||||
${COMMAND} "${DIRECTORY}idna.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp_1.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp_2.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp_2004.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp_3.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_jp_ext.py"
|
||||
${COMMAND} "${DIRECTORY}iso2022_kr.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_1.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_10.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_11.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_13.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_14.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_15.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_16.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_2.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_3.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_4.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_5.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_6.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_7.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_8.py"
|
||||
${COMMAND} "${DIRECTORY}iso8859_9.py"
|
||||
${COMMAND} "${DIRECTORY}johab.py"
|
||||
${COMMAND} "${DIRECTORY}koi8_r.py"
|
||||
${COMMAND} "${DIRECTORY}koi8_u.py"
|
||||
${COMMAND} "${DIRECTORY}latin_1.py"
|
||||
${COMMAND} "${DIRECTORY}mac_arabic.py"
|
||||
${COMMAND} "${DIRECTORY}mac_centeuro.py"
|
||||
${COMMAND} "${DIRECTORY}mac_croatian.py"
|
||||
${COMMAND} "${DIRECTORY}mac_cyrillic.py"
|
||||
${COMMAND} "${DIRECTORY}mac_farsi.py"
|
||||
${COMMAND} "${DIRECTORY}mac_greek.py"
|
||||
${COMMAND} "${DIRECTORY}mac_iceland.py"
|
||||
${COMMAND} "${DIRECTORY}mac_latin2.py"
|
||||
${COMMAND} "${DIRECTORY}mac_roman.py"
|
||||
${COMMAND} "${DIRECTORY}mac_romanian.py"
|
||||
${COMMAND} "${DIRECTORY}mac_turkish.py"
|
||||
${COMMAND} "${DIRECTORY}mbcs.py"
|
||||
${COMMAND} "${DIRECTORY}palmos.py"
|
||||
${COMMAND} "${DIRECTORY}ptcp154.py"
|
||||
${COMMAND} "${DIRECTORY}punycode.py"
|
||||
${COMMAND} "${DIRECTORY}quopri_codec.py"
|
||||
${COMMAND} "${DIRECTORY}raw_unicode_escape.py"
|
||||
${COMMAND} "${DIRECTORY}rot_13.py"
|
||||
${COMMAND} "${DIRECTORY}shift_jis.py"
|
||||
${COMMAND} "${DIRECTORY}shift_jisx0213.py"
|
||||
${COMMAND} "${DIRECTORY}shift_jis_2004.py"
|
||||
${COMMAND} "${DIRECTORY}string_escape.py"
|
||||
${COMMAND} "${DIRECTORY}tis_620.py"
|
||||
${COMMAND} "${DIRECTORY}undefined.py"
|
||||
${COMMAND} "${DIRECTORY}unicode_escape.py"
|
||||
${COMMAND} "${DIRECTORY}unicode_internal.py"
|
||||
${COMMAND} "${DIRECTORY}utf_16.py"
|
||||
${COMMAND} "${DIRECTORY}utf_16_be.py"
|
||||
${COMMAND} "${DIRECTORY}utf_16_le.py"
|
||||
${COMMAND} "${DIRECTORY}utf_7.py"
|
||||
${COMMAND} "${DIRECTORY}utf_8.py"
|
||||
${COMMAND} "${DIRECTORY}utf_8_sig.py"
|
||||
${COMMAND} "${DIRECTORY}uu_codec.py"
|
||||
${COMMAND} "${DIRECTORY}zlib_codec.py"
|
||||
${COMMAND} "${DIRECTORY}__init__.py"
|
||||
|
||||
!macroend
|
||||
|
||||
|
@ -12,13 +12,6 @@ Name "${APP_NAME} ${APP_VERSION}"
|
||||
;Default installation folder
|
||||
InstallDir "${SETUP_DEFAULT_DIRECTORY}"
|
||||
|
||||
;--------------------------------
|
||||
;Installer language
|
||||
|
||||
;Get from registry if available
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT SHELL_CONTEXT
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${APP_REGKEY_SETUP}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Setup Language"
|
||||
|
||||
;--------------------------------
|
||||
;Interface settings
|
||||
@ -82,7 +75,7 @@ Page custom PageLanguage PageLanguageValidate
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
;Installer Languages
|
||||
|
||||
!insertmacro IncludeLang "english"
|
||||
!insertmacro IncludeLang "french"
|
||||
@ -92,53 +85,61 @@ Page custom PageLanguage PageLanguageValidate
|
||||
;--------------------------------
|
||||
;Macros
|
||||
|
||||
!macro InitDialogExternal component currentuser_possible
|
||||
!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)
|
||||
!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})"
|
||||
!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})"
|
||||
!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"
|
||||
!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
|
||||
!macro InitDialogExternalDir COMPONENT CURRENTUSER_POSSIBLE
|
||||
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "external_${component}.ini" "Field 4" "State" $Path${component}
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 4" "State" $Path${COMPONENT}
|
||||
|
||||
!if ${currentuser_possible} == ${FALSE}
|
||||
!if ${CURRENTUSER_POSSIBLE} == ${FALSE}
|
||||
${if} $AdminOrPowerUser == ${TRUE}
|
||||
!endif
|
||||
|
||||
${if} $Path${component} == ""
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "external_${component}.ini" "Field 2" "State" "1"
|
||||
${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"
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "external_${COMPONENT}.ini" "Field 3" "State" "1"
|
||||
${endif}
|
||||
|
||||
!if ${currentuser_possible} == ${FALSE}
|
||||
!if ${CURRENTUSER_POSSIBLE} == ${FALSE}
|
||||
${else}
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "external_${component}.ini" "Field 3" "State" "1"
|
||||
!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"
|
||||
@ -152,8 +153,8 @@ Function InitDialogs
|
||||
;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_CURRENT)
|
||||
!insertmacro MUI_INSTALLOPTIONS_WRITE "user.ini" "Field 3" "Text" $(TEXT_USER_ALL)
|
||||
!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)
|
||||
@ -166,12 +167,29 @@ Function InitDialogs
|
||||
!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
|
||||
|
||||
;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
|
||||
|
||||
Call CheckPriviledges
|
||||
${if} $AdminOrPowerUser != ${TRUE}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
|
||||
${endif}
|
||||
|
||||
Banner::show /NOUNLOAD "Preparing wizard"
|
||||
|
||||
|
@ -1,9 +1,33 @@
|
||||
/*
|
||||
|
||||
Language file handling
|
||||
Translations for installer and LyX itself
|
||||
|
||||
*/
|
||||
|
||||
!macro LanguageList COMMAND
|
||||
|
||||
;List of supported LyX languages with ISO code and language identifier
|
||||
;To be used as input for other macros
|
||||
|
||||
${COMMAND} "Basque" eu_EU 1069
|
||||
${COMMAND} "Bokmål" nb_NO 1044
|
||||
${COMMAND} "Cesky" cs_CZ 1029
|
||||
${COMMAND} "Dansk" da_DK 1030
|
||||
${COMMAND} "Deutsch" de_DE 1031
|
||||
${COMMAND} "English" en_EN 1033
|
||||
${COMMAND} "Español" es_ES 1034
|
||||
${COMMAND} "Français" fr_FR 1036
|
||||
${COMMAND} "Italiano" it_IT 1057
|
||||
${COMMAND} "Magyar" hu_HU 1038
|
||||
${COMMAND} "Nynorsk" nn_NO 2068
|
||||
${COMMAND} "Polski" pl_PL 1045
|
||||
${COMMAND} "Russian" ru_RU 1049
|
||||
${COMMAND} "Slovenský jazyk" sk_SK 1060
|
||||
${COMMAND} "Suomi" fi_FI 1035
|
||||
${COMMAND} "Türkçe" tr_TR 1055
|
||||
|
||||
!macroend
|
||||
|
||||
!macro LanguageString name text
|
||||
|
||||
!ifndef "${name}"
|
||||
@ -39,6 +63,8 @@ Language file handling
|
||||
!insertmacro ReDef LanguageStringAdd '!insertmacro LanguageStringAdd "${lang_name}"'
|
||||
|
||||
${LanguageStringAdd} TEXT_NO_PRIVILEDGES
|
||||
|
||||
${LanguageStringAdd} TEXT_INSTALL_CURRENTUSER
|
||||
|
||||
${LanguageStringAdd} TEXT_WELCOME_${SETUPTYPE_NAME}
|
||||
|
||||
|
@ -4,6 +4,75 @@ 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
|
||||
|
||||
!macro CommandLineParameter UNINSTALL
|
||||
|
||||
Exch $R0
|
||||
Push $R1
|
||||
Push $R2
|
||||
|
||||
StrLen $R1 $R0
|
||||
|
||||
Push $CMDLINE
|
||||
Push $R0
|
||||
Call ${UNINSTALL}StrStr
|
||||
Pop $R2
|
||||
|
||||
StrCpy $R2 $R2 $R1
|
||||
|
||||
${if} $R2 == $R0
|
||||
StrCpy $R0 ${TRUE}
|
||||
${else}
|
||||
StrCpy $R0 ${FALSE}
|
||||
${endif}
|
||||
|
||||
Push $R2
|
||||
Push $R1
|
||||
Exch $R0
|
||||
|
||||
!macroend
|
||||
|
||||
;--------------------------------
|
||||
;Functions
|
||||
|
||||
Function CheckPrivileges
|
||||
!insertmacro CheckPrivileges
|
||||
FunctionEnd
|
||||
|
||||
Function un.CheckPrivileges
|
||||
!insertmacro CheckPrivileges
|
||||
FunctionEnd
|
||||
|
||||
Function CommandLineParameter
|
||||
!insertmacro CommandLineParameter ""
|
||||
FunctionEnd
|
||||
|
||||
Function un.CommandLineParameter
|
||||
!insertmacro CommandLineParameter un.
|
||||
FunctionEnd
|
||||
|
||||
Function CheckWindows
|
||||
|
||||
Push $R0
|
||||
@ -24,29 +93,6 @@ Function CheckWindows
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function CheckPriviledges
|
||||
|
||||
Push $R0
|
||||
|
||||
UserInfo::GetAccountType
|
||||
Pop $R0
|
||||
|
||||
${if} $R0 == "Admin"
|
||||
StrCpy $AdminOrPowerUser ${TRUE}
|
||||
${elseif} $R0 == "Power"
|
||||
StrCpy $AdminOrPowerUser ${TRUE}
|
||||
${else}
|
||||
StrCpy $AdminOrPowerUser ${FALSE}
|
||||
${endif}
|
||||
|
||||
${if} $AdminOrPowerUser != ${TRUE}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
|
||||
${endif}
|
||||
|
||||
Pop $R0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function UpdatePathEnvironment
|
||||
|
||||
Push $R0
|
||||
@ -64,46 +110,75 @@ Function UpdatePathEnvironment
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.SetShellContext
|
||||
Function InitInstaller
|
||||
|
||||
Push $R0
|
||||
|
||||
;Set the correct shell context depending on whether LyX has been installed for the current user or all users
|
||||
Push "/CurrentUser"
|
||||
Call CommandLineParameter
|
||||
Pop $CurrentUserInstall
|
||||
|
||||
UserInfo::GetAccountType
|
||||
Pop $R0
|
||||
|
||||
${if} $R0 == "Admin"
|
||||
StrCpy $AdminOrPowerUser ${TRUE}
|
||||
${endif}
|
||||
|
||||
${if} $R0 == "Power"
|
||||
StrCpy $AdminOrPowerUser ${TRUE}
|
||||
${endif}
|
||||
|
||||
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" "UninstallString"
|
||||
|
||||
${if} $R0 != ""
|
||||
|
||||
ReadRegStr $R0 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" "UninstallString"
|
||||
|
||||
${if} $R0 != ""
|
||||
|
||||
${if} $AdminOrPowerUser == ${FALSE}
|
||||
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} has been installed for all users. Therefore you need Administrator or Power User Priviledges to uninstall."
|
||||
Quit
|
||||
${else}
|
||||
SetShellVarContext all
|
||||
${endif}
|
||||
|
||||
${endif}
|
||||
|
||||
${else}
|
||||
${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
|
||||
|
||||
${endif}
|
||||
|
||||
${endif}
|
||||
|
||||
${if} ${silent}
|
||||
Call InitUser
|
||||
${endif}
|
||||
|
||||
Pop $R0
|
||||
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.InitUnInstaller
|
||||
|
||||
;Set the correct shell context depending on whether LyX has been installed
|
||||
;for the current user or all users
|
||||
|
||||
Push "/CurrentUser"
|
||||
Call un.CommandLineParameter
|
||||
Pop $CurrentUserInstall
|
||||
|
||||
${if} $CurrentUserInstall == ${TRUE}
|
||||
|
||||
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}
|
||||
|
||||
FunctionEnd
|
||||
|
||||
|
@ -8,6 +8,8 @@ Author: Joost Verburg
|
||||
|
||||
!insertmacro LanguageString TEXT_NO_PRIVILEDGES "You do not have Administrator or Power User privileges.$\r$\n$\r$\nAlthough you can install ${APP_NAME} and the typesetting system, the utilities for image conversion and previewing cannot be installed without these priviledges."
|
||||
|
||||
!insertmacro LanguageString TEXT_INSTALL_CURRENTUSER "(Installed for Current User)"
|
||||
|
||||
!insertmacro LanguageString TEXT_WELCOME_DOWNLOAD "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.\r\n\r\nThis installer will setup a complete environment to use ${APP_NAME} and can download missing components automatically.\r\n\r\n$(^ClickNext)"
|
||||
!insertmacro LanguageString TEXT_WELCOME_INSTALL "This wizard will guide you through the installation of $(^NameDA), the document processor that encourages an approach to writing based on the structure of your documents, not their appearance.\r\n\r\nThis installer will setup a complete environment to use ${APP_NAME} and can install missing components automatically.\r\n\r\n$(^ClickNext)"
|
||||
|
||||
|
@ -86,6 +86,6 @@ Author: Andreas Deininger
|
||||
!insertmacro LanguageString TEXT_NOTINSTALLED_DICT "Die Installation der Wörterbucher für die ${DICT_NAME} Rechtschreibprüfung konnte nicht erfolgreich abgeschlossen werden. Möchten Sie die Installation erneut versuchen?"
|
||||
|
||||
!insertmacro LanguageString TEXT_FINISH_DESKTOP "Ein Symbol auf der Arbeitsoberfläche erzeugen"
|
||||
!insertmacro LanguageString TEXT_FINISH_WEBSITE "Besuchen Sie lyx.org für aktuelle Neuigkeiten, für Tips und Tricks sowie für sonstige Hinweise zur Unterstützung bei der Nutzung des Programms"
|
||||
!insertmacro LanguageString TEXT_FINISH_WEBSITE "Besuchen Sie lyx.org für aktuelle Neuigkeiten, für Tips und Tricks sowie für sonstige Hinweise"
|
||||
|
||||
!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"
|
||||
|
@ -22,6 +22,8 @@ Function .onInit
|
||||
${endif}
|
||||
|
||||
Call CheckWindows
|
||||
Call CheckPrivileges
|
||||
Call InitInstaller
|
||||
Call SearchAll
|
||||
|
||||
${unless} ${silent}
|
||||
@ -30,8 +32,8 @@ Function .onInit
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
Call un.SetShellContext
|
||||
Call un.CheckPrivileges
|
||||
Call un.InitUnInstaller
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
@ -35,7 +35,7 @@ Settings for LyX installer
|
||||
;Locations of components to download
|
||||
|
||||
!define DOWNLOAD_LATEX "http://superb-west.dl.sourceforge.net/sourceforge/miktex/basic-miktex-2.5.2449.exe"
|
||||
!define DOWNLOAD_IMAGEMAGICK "http://superb-west.dl.sourceforge.net/sourceforge/imagemagick/ImageMagick-6.2.9-6-Q16-windows-dll.exe"
|
||||
!define DOWNLOAD_IMAGEMAGICK "http://superb-west.dl.sourceforge.net/sourceforge/imagemagick/ImageMagick-6.2.9-7-Q16-windows-dll.exe"
|
||||
!define DOWNLOAD_GHOSTSCRIPT "http://superb-west.dl.sourceforge.net/sourceforge/ghostscript/gs854w32.exe"
|
||||
!define DOWNLOAD_VIEWER "http://tug.ctan.org/tex-archive/nonfree/support/ghostscript/ghostgum/gsv48w32.exe"
|
||||
|
||||
@ -59,7 +59,7 @@ Settings for LyX installer
|
||||
;Locations of setup files for components (for bundled setup)
|
||||
|
||||
!define INSTALL_LATEX "basic-miktex-2.5.2449.exe"
|
||||
!define INSTALL_IMAGEMAGICK "ImageMagick-6.2.9-6-Q16-windows-dll.exe"
|
||||
!define INSTALL_IMAGEMAGICK "ImageMagick-6.2.9-7-Q16-windows-dll.exe"
|
||||
!define INSTALL_GHOSTSCRIPT "gs854w32.exe"
|
||||
!define INSTALL_VIEWER "gsv48w32.exe"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user