]> git.lyx.org Git - features.git/commitdiff
Win installer: make it a real Unicode program
authorUwe Stöhr <uwestoehr@lyx.org>
Tue, 7 Nov 2017 01:16:34 +0000 (02:16 +0100)
committerUwe Stöhr <uwestoehr@lyx.org>
Tue, 7 Nov 2017 01:16:34 +0000 (02:16 +0100)
development/Win32/packaging/installer/Readme.txt
development/Win32/packaging/installer/include/dictionaries.nsh
development/Win32/packaging/installer/include/init.nsh
development/Win32/packaging/installer/lyx-bundle.nsi
development/Win32/packaging/installer/lyx-standard.nsi
development/Win32/packaging/installer/settings.nsh

index 8ab4e49015809fc63d9d4b22d9689d4e6fa6a6a6..247fbbf8d366b2e381d273604bef1535d8b04d0c 100644 (file)
@@ -9,11 +9,11 @@
 3. install the latest version 3.x of NSIS (http://nsis.sourceforge.net/Download)
 4. install the NSIS Large Strings build (http://nsis.sourceforge.net/Special_Builds)
    (extract the extension ZIP file in your NSIS installation folder and this way overwrite some files) 
-5. open the file FindProcDLL.zip (that is part of this bundle),
-   extract from it the file FindProc.dll to the folder \Plugins\x86-ansi of
+5. open the file FindProcDLL Unicode bin.zip (that is part of this bundle),
+   extract from it the file FindProc.dll to the folder \Plugins\x86-unicode of
    NSIS's installation folder
-6. open the file InetLoad.zip (that is part of this bundle),
-   extract from it the file InetLoad.dll to the folder \Plugins\x86-ansi of
+6. open the file Inetc.zip (that is part of this bundle),
+   extract from it the file INetC.dll to the folder \Plugins\x86-unicode of
    NSIS's installation folder
 7. right-click on the file lyx-standard.nsi and choose "Compile NSIS script"
    to compile the standard installer
index 242dc186e55942a367b9dc487e708a560662aecd..8119a06eae31b205d5fc400d87d1ace4e96d03d3 100644 (file)
@@ -81,7 +81,7 @@ Function DownloadHunspellDictionaries
     FileRead $R4 $Search # $Search is now the mirror
     StrCpy $Search $Search -2 # delete the linebreak characters at the end
     Push $R0
-    InetLoad::load /TIMEOUT=5000 "http://$Search.dl.sourceforge.net/project/lyxwininstaller/hunspell/$String" "$INSTDIR\Resources\dicts\$String" /END
+    inetc::get /TIMEOUT=5000 "http://$Search.dl.sourceforge.net/project/lyxwininstaller/hunspell/$String" "$INSTDIR\Resources\dicts\$String" /END
     Pop $R0
     ${if} $R0 == "OK"
      ${ExitFor}
@@ -127,7 +127,7 @@ Function DownloadThesaurusDictionaries
     FileRead $R4 $Search # $Search is now the mirror
     StrCpy $Search $Search -2 # delete the linebreak characters at the end
     Push $R0
-    InetLoad::load /TIMEOUT=5000 "http://$Search.dl.sourceforge.net/project/lyxwininstaller/thesaurus/$String" "$INSTDIR\Resources\thes\$String" /END
+    inetc::get /TIMEOUT=5000 "http://$Search.dl.sourceforge.net/project/lyxwininstaller/thesaurus/$String" "$INSTDIR\Resources\thes\$String" /END
     Pop $R0
     ${if} $R0 == "OK"
      ${ExitFor}
index 90c8ff008cad2383fdcdf1db1d1cbf54b26697a8..d43b4ef6e8a5d9efa63479f4cf6fba095e873cd7 100644 (file)
@@ -1,4 +1,4 @@
-/*
+/*
 init.nsh
 
 Initialization functions
@@ -65,19 +65,19 @@ SectionEnd
 # Expand the list of dictionaries by default as this was requested by several
 # users. For the thesaurus this is was not requested because this section
 # is by default empty.
-SectionGroup /e "Dictionaries" SecDictionaries
+SectionGroup /e "$(SecDictionaries)" SecDictionaries
 
 Section /o "Afrikaans" SecDAfrikaans
  StrCpy $DictCodes "af_ZA,$DictCodes"
  AddSize 1440
 SectionEnd
 
-Section /o "Arabic" SecDArabic
+Section /o "العربية" SecDArabic
  StrCpy $DictCodes "ar_DZ,$DictCodes"
  AddSize 2500
 SectionEnd
 
-Section /o "Armenian" SecDArmenian
+Section /o "հայերեն" SecDArmenian
  StrCpy $DictCodes "hy_AM,$DictCodes"
  AddSize 2000
 SectionEnd
@@ -92,7 +92,7 @@ Section /o "Bahasa Melayu" SecDMalayan
  AddSize 227
 SectionEnd
 
-Section /o "Belarusian" SecDBelarusian 
+Section /o "беларускі" SecDBelarusian 
  StrCpy $DictCodes "be_BY,$DictCodes"
  AddSize 1730
 SectionEnd
@@ -102,17 +102,17 @@ Section /o "Brezhoneg" SecDBreton
  AddSize 5510
 SectionEnd
 
-Section /o "Bulgarian" SecDBulgarian
+Section /o "български" SecDBulgarian
  StrCpy $DictCodes "bg_BG,$DictCodes"
  AddSize 985
 SectionEnd
 
-Section /o "Català" SecDCatalanian
+Section /o "Català" SecDCatalanian
  StrCpy $DictCodes "ca_ES,$DictCodes"
  AddSize 1210
 SectionEnd
 
-Section /o "Ce\9atina" SecDCzech
+Section /o "Ceština" SecDCzech
  StrCpy $DictCodes "cs_CZ,$DictCodes"
  AddSize 2190
 SectionEnd
@@ -132,24 +132,24 @@ Section /o "Dansk" SecDDanish
  AddSize 2470
 SectionEnd
 
-Section /o "German (A)" SecDGermanAT
+Section /o "Deutsch (A)" SecDGermanAT
  StrCpy $DictCodes "de_AT,$DictCodes"
  AddSize 3620
 SectionEnd
 
-Section /o "German (CH)" SecDGermanCH
+Section /o "Deutsch (CH)" SecDGermanCH
  StrCpy $DictCodes "de_CH,$DictCodes"
  AddSize 3620
 SectionEnd
 
-Section "German (D)" SecDGermanD
+Section "Deutsch (D)" SecDGermanD
  # already installed by default
  SectionIn RO
  #StrCpy $DictCodes "de_DE,$DictCodes"
  AddSize 3620
 SectionEnd
 
-Section /o "Greek" SecDGreek
+Section /o "Ελληνικά" SecDGreek
  StrCpy $DictCodes "el_GR,$DictCodes"
  AddSize 6550
 SectionEnd
@@ -188,14 +188,14 @@ Section "English (US)" SecDEnglishUS
  AddSize 548
 SectionEnd
 
-Section "Español (ES)" SecDSpanishES
+Section "Español (ES)" SecDSpanishES
  # already installed by default
  SectionIn RO
  #StrCpy $DictCodes "es_ES,$DictCodes"
  AddSize 974
 SectionEnd
 
-Section "Español (MX)" SecDSpanishMX
+Section "Español (MX)" SecDSpanishMX
  # already installed by default
  SectionIn RO
  #StrCpy $DictCodes "es_MX,$DictCodes"
@@ -217,14 +217,14 @@ Section /o "Farsi" SecDFarsi
  AddSize 6710
 SectionEnd
 
-Section "Français" SecDFrench
+Section "Français" SecDFrench
  # already installed by default
  SectionIn RO
  #StrCpy $DictCodes "fr_FR,$DictCodes"
  AddSize 1200
 SectionEnd
 
-Section /o "Français (Canada)" SecDFrenchCanada
+Section /o "Français (Canada)" SecDFrenchCanada
  StrCpy $DictCodes "fr_CA,$DictCodes"
  AddSize 1390
 SectionEnd
@@ -234,7 +234,7 @@ Section /o "Gaeilge" SecDGaelic
  AddSize 1090
 SectionEnd
 
-Section /o "Gàidhlig" SecDScottish
+Section /o "Gàidhlig" SecDScottish
  StrCpy $DictCodes "gd_GB,$DictCodes"
  AddSize 4161
 SectionEnd
@@ -244,7 +244,7 @@ Section /o "Galego" SecDGalician
  AddSize 3911
 SectionEnd
 
-Section /o "Hebrew" SecDHebrew
+Section /o "עִברִית" SecDHebrew
  StrCpy $DictCodes "he_IL,$DictCodes"
  AddSize 3120
 SectionEnd
@@ -259,7 +259,7 @@ Section /o "Magyar" SecDHungarian
  AddSize 3380
 SectionEnd
 
-Section /o "Hindi" SecDHindi
+Section /o "हिंदी" SecDHindi
  StrCpy $DictCodes "hi_IN,$DictCodes"
  AddSize 1900
 SectionEnd
@@ -269,7 +269,7 @@ Section /o "Interlingua" SecDInterlingua
  AddSize 613
 SectionEnd
 
-Section /o "Íslenska" SecDIcelandic
+Section /o "Íslenska" SecDIcelandic
  StrCpy $DictCodes "is_IS,$DictCodes"
  AddSize 2320
 SectionEnd
@@ -279,12 +279,12 @@ Section /o "Italiano" SecDItalian
  AddSize 1380
 SectionEnd
 
-Section /o "Kazakh" SecDKazakh
+Section /o "Қазақша" SecDKazakh
  StrCpy $DictCodes "kk_KZ,$DictCodes"
  AddSize 2120
 SectionEnd
 
-Section /o "Korean" SecDKorean
+Section /o "한국어" SecDKorean
  StrCpy $DictCodes "ko_KR,$DictCodes"
  AddSize 16540
 SectionEnd
@@ -299,12 +299,12 @@ Section /o "Lietuviu" SecDLithuanian
  AddSize 1320
 SectionEnd
 
-Section /o "Latvie\9au" SecDLatvian
+Section /o "Latviešu" SecDLatvian
  StrCpy $DictCodes "lv_LV,$DictCodes"
  AddSize 2243
 SectionEnd
 
-Section /o "Marathi" SecDMarathi
+Section /o "मराठी" SecDMarathi
  StrCpy $DictCodes "mr_IN,$DictCodes"
  AddSize 5290
 SectionEnd
@@ -314,7 +314,7 @@ Section /o "Nederlands" SecDDutch
  AddSize 1820
 SectionEnd
 
-Section /o "Norsk (Bokmål)" SecDNorwegianNB
+Section /o "Norsk (Bokmål)" SecDNorwegianNB
  StrCpy $DictCodes "nb_NO,$DictCodes"
  AddSize 5291
 SectionEnd
@@ -334,32 +334,32 @@ Section /o "Polski" SecDPolish
  AddSize 4540
 SectionEnd
 
-Section /o "Português (BR)" SecDPortugueseBR
+Section /o "Português (BR)" SecDPortugueseBR
  StrCpy $DictCodes "pt_BR,$DictCodes"
  AddSize 5280
 SectionEnd
 
-Section /o "Português (PT)" SecDPortuguesePT
+Section /o "Português (PT)" SecDPortuguesePT
  StrCpy $DictCodes "pt_PT,$DictCodes"
  AddSize 1568
 SectionEnd
 
-Section /o "Româna" SecDRomanian
+Section /o "Româna" SecDRomanian
  StrCpy $DictCodes "ro_RO,$DictCodes"
  AddSize 2255
 SectionEnd
 
-Section /o "Russian" SecDRussian
+Section /o "Русский" SecDRussian
  StrCpy $DictCodes "ru_RU,$DictCodes"
  AddSize 1920
 SectionEnd
 
-Section /o "Serb\9acina (Dolno)" SecDSorbianD
+Section /o "Serbšcina (Dolno)" SecDSorbianD
  StrCpy $DictCodes "dsb_DE,$DictCodes"
  AddSize 1035
 SectionEnd
 
-Section /o "Serb\9acina (Horno)" SecDSorbianH
+Section /o "Serbšcina (Horno)" SecDSorbianH
  StrCpy $DictCodes "hsb_DE,$DictCodes"
  AddSize 740
 SectionEnd
@@ -369,17 +369,17 @@ Section /o "Shqipe" SecDAlbanian
  AddSize 2400
 SectionEnd
 
-Section /o "Sloven\9acina" SecDSlovenian
+Section /o "Slovenšcina" SecDSlovenian
  StrCpy $DictCodes "sl_SI,$DictCodes"
  AddSize 2910
 SectionEnd
 
-Section /o "Slovenský" SecDSlovakian
+Section /o "Slovenský" SecDSlovakian
  StrCpy $DictCodes "sk_SK,$DictCodes"
  AddSize 3310
 SectionEnd
 
-Section /o "Srpski (Cirilica)" SecDSerbianC
+Section /o "Српски (Ћирилица)" SecDSerbianC
  StrCpy $DictCodes "sr_RS,$DictCodes"
  AddSize 4401
 SectionEnd
@@ -394,17 +394,17 @@ Section /o "Svenska" SecDSwedish
  AddSize 2028
 SectionEnd
 
-Section /o "Tamil" SecDTamil
+Section /o "தமிழ்" SecDTamil
  StrCpy $DictCodes "ta_IN,$DictCodes"
  AddSize 5911
 SectionEnd
 
-Section /o "Telugu" SecDTelugu
+Section /o "తెలుగు" SecDTelugu
  StrCpy $DictCodes "te_IN,$DictCodes"
  AddSize 3400
 SectionEnd
  
-Section /o "Thai" SecDThai
+Section /o "ไทย" SecDThai
  StrCpy $DictCodes "th_TH,$DictCodes"
  AddSize 351
 SectionEnd
@@ -414,27 +414,27 @@ Section /o "Tibetan" SecDTibetan
  AddSize 7
 SectionEnd
 
-Section /o "Türkmençe" SecDTurkmen
+Section /o "Türkmençe" SecDTurkmen
  StrCpy $DictCodes "tk_TM,$DictCodes"
  AddSize 950
 SectionEnd
 
-Section /o "Türkçe" SecDTurkish
+Section /o "Türkçe" SecDTurkish
  StrCpy $DictCodes "tr_TR,$DictCodes"
  AddSize 8870
 SectionEnd
 
-Section /o "Ukrainian" SecDUkrainian
+Section /o "Українська" SecDUkrainian
  StrCpy $DictCodes "uk_UA,$DictCodes"
  AddSize 5555
 SectionEnd
 
-Section /o "Urdu" SecDUrdu
+Section /o "اردو" SecDUrdu
  StrCpy $DictCodes "ur_PK,$DictCodes"
  AddSize 1401
 SectionEnd
 
-Section /o "Vietnamese" SecDVietnamese
+Section /o "Tiếng Việt" SecDVietnamese
  StrCpy $DictCodes "vi_VN,$DictCodes"
  AddSize 40
 SectionEnd
@@ -442,19 +442,19 @@ SectionEnd
 SectionGroupEnd
 
 
-SectionGroup "Thesaurus" SecThesaurus
+SectionGroup "$(SecThesaurus)" SecThesaurus
 
-Section /o "Bulgarian" SecTBulgarian
+Section /o "български" SecTBulgarian
  StrCpy $ThesCodes "bg_BG,$ThesCodes"
  AddSize 3020
 SectionEnd
 
-Section /o "Català" SecTCatalan
+Section /o "Català" SecTCatalan
  StrCpy $ThesCodes "ca_ES,$ThesCodes"
  AddSize 731
 SectionEnd
 
-Section /o "Ce\9atina" SecTCzech
+Section /o "Ceština" SecTCzech
  StrCpy $ThesCodes "cs_CZ,$ThesCodes"
  AddSize 635
 SectionEnd
@@ -489,12 +489,12 @@ Section /o "English (US)" SecTEnglishUS
  AddSize 22095
 SectionEnd
 
-Section /o "Español" SecTSpanish
+Section /o "Español" SecTSpanish
  StrCpy $ThesCodes "es_ES,$ThesCodes"
  AddSize 2860
 SectionEnd
 
-Section /o "Français" SecTFrench
+Section /o "Français" SecTFrench
  StrCpy $ThesCodes "fr_FR,$ThesCodes"
  AddSize 5060
 SectionEnd
@@ -509,12 +509,12 @@ Section /o "Galego" SecTGalician
  AddSize 510
 SectionEnd
 
-Section /o "Greek" SecTGreek
+Section /o "Ελληνικά" SecTGreek
  StrCpy $ThesCodes "el_GR,$ThesCodes"
  AddSize 903
 SectionEnd
 
-Section /o "Íslenska" SecTIcelandic
+Section /o "Íslenska" SecTIcelandic
  StrCpy $ThesCodes "is_IS,$ThesCodes"
  AddSize 63
 SectionEnd
@@ -529,7 +529,7 @@ Section /o "Magyar" SecTHungarian
  AddSize 632
 SectionEnd
 
-Section /o "Norsk (Bokmål)" SecTNorwegianNB
+Section /o "Norsk (Bokmål)" SecTNorwegianNB
  StrCpy $ThesCodes "nb_NO,$ThesCodes"
  AddSize 2595
 SectionEnd
@@ -544,27 +544,27 @@ Section /o "Polski" SecTPolish
  AddSize 5580
 SectionEnd
 
-Section /o "Português" SecTPortuguese
+Section /o "Português" SecTPortuguese
  StrCpy $ThesCodes "pt_PT,$ThesCodes"
  AddSize 3950
 SectionEnd
 
-Section /o "Româna" SecTRomanian
+Section /o "Româna" SecTRomanian
  StrCpy $ThesCodes "ro_RO,$ThesCodes"
  AddSize 3650
 SectionEnd
 
-Section /o "Russian" SecTRussian
+Section /o "Русский" SecTRussian
  StrCpy $ThesCodes "ru_RU,$ThesCodes"
  AddSize 2080
 SectionEnd
 
-Section /o "Sloven\9acina" SecTSlovenian
+Section /o "Slovenšcina" SecTSlovenian
  StrCpy $ThesCodes "sl_SI,$ThesCodes"
  AddSize 1110
 SectionEnd
 
-Section /o "Slovenský" SecTSlovakian
+Section /o "Slovenský" SecTSlovakian
  StrCpy $ThesCodes "sk_SK,$ThesCodes"
  AddSize 930
 SectionEnd
@@ -574,7 +574,7 @@ Section /o "Svenska" SecTSwedish
  AddSize 720
 SectionEnd
 
-Section /o "Ukrainian" SecTUkrainian
+Section /o "Українська" SecTUkrainian
  StrCpy $ThesCodes "uk_UA,$ThesCodes"
  AddSize 1339
 SectionEnd
@@ -603,29 +603,38 @@ Function .onInit
     Quit
   ${endif}
   
+  # fixme
   # check that the installer is not currently running
-  System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${BundleExeFile}.Instance") i .r1 ?e'
-  Pop $R0
-  ${if} $R0 != "0"
-   MessageBox MB_OK|MB_ICONSTOP "$(InstallRunning)" /SD IDOK
-   Abort
-  ${endif}
-  System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${ExeFile}.Instance") i .r1 ?e'
-  Pop $R0
-  ${if} $R0 != "0"
+  FindProcDLL::FindProc "${BundleExeFile}"
+  ${if} $R0 == "1"
    MessageBox MB_OK|MB_ICONSTOP "$(InstallRunning)" /SD IDOK
    Abort
   ${endif}
-  
-  # FIXME: check that LyX is not currently running
-  #System::Call 'kernel32::CreateMutexA(i 0, i 0, t "LyX.exe.Instance") i .r1 ?e'
+  FindProcDLL::FindProc "${ExeFile}"
+  #${if} $R0 == "1"
+  # MessageBox MB_OK|MB_ICONSTOP "$(InstallRunning)" /SD IDOK
+  # Abort
+  #${endif}
+  #System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${BundleExeFile}.Instance") i .r1 ?e'
   #Pop $R0
-  #MessageBox MB_OK "$R0"
   #${if} $R0 != "0"
-  # MessageBox MB_OK|MB_ICONSTOP "$(LyXRunning)" 
+  # MessageBox MB_OK|MB_ICONSTOP "$(InstallRunning)" /SD IDOK
+  # Abort
+  #${endif}
+  #System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${ExeFile}.Instance") i .r1 ?e'
+  #Pop $R0
+  #${if} $R0 != "0"
+  # MessageBox MB_OK|MB_ICONSTOP "$(InstallRunning)" /SD IDOK
   # Abort
   #${endif}
   
+  # Check that LyX is not currently running
+  FindProcDLL::FindProc "lyx.exe"
+  ${if} $R0 == "1"
+   MessageBox MB_OK|MB_ICONSTOP "$(UnInstallRunning)" /SD IDOK
+   Abort
+  ${endif}
+  
   # read the user and computer name
   ReadRegStr $ComputerName HKLM "System\CurrentControlSet\Control\ComputerName\ActiveComputerName" "ComputerName"
   System::Call "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2"
@@ -1477,4 +1486,3 @@ Function un.onInit
   Abort
 
 FunctionEnd
-
index 4b050ee6787bc7e31cf1a4da98f921943621bab5..0844f4d62951f6d8cf5a2562280aa7e75f451c19 100644 (file)
@@ -10,9 +10,12 @@ Compatible with NSIS 3.0
 # was not corrupted by the download.
 CRCCheck force
 #
-# Make the installer as small as possible.
+# Make the installer as small as possible
 SetCompressor /SOLID lzma
 
+# make it a Unicode installer
+Unicode true
+
 !ifndef SETUPTYPE
  !define SETUPTYPE BUNDLE
 !endif
index 981defd72a7f27e49d88c62a9a5b9da793437b91..e9b259bfa1bea9a752ddc9c03c3b764ceb0b039e 100644 (file)
@@ -8,9 +8,12 @@ Compatible with NSIS 3.0
 # was not corrupted by the download.
 CRCCheck force
 #
-# Make the installer as small as possible.
+# Make the installer as small as possible
 SetCompressor /SOLID lzma
 
+# make it a Unicode installer
+Unicode true
+
 !ifndef SETUPTYPE
  !define SETUPTYPE STANDARD
 !endif
index c6dec48955807277f7d5d7d988007ce59bca0837..8be5129e31122f36064ef22bfe05592639d81033 100644 (file)
@@ -14,7 +14,7 @@ These typically need to be modified for each LyX release
 !define APP_VERSION_REVISION 0
 !define APP_VERSION_EMERGENCY "RC-1" # use "1" for an emergency release of LyX otherwise ""
 !define APP_EMERGENCY_DOT "" # use "." for an emergency release of LyX otherwise ""
-!define APP_VERSION_BUILD 2 # Start with 1 for the installer releases of each version
+!define APP_VERSION_BUILD 3 # Start with 1 for the installer releases of each version
 
 !define APP_VERSION "${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}.${APP_VERSION_REVISION}${APP_EMERGENCY_DOT}${APP_VERSION_EMERGENCY}" # Version to display
 
@@ -31,9 +31,6 @@ These typically need to be modified for each LyX release
 !ifndef BundleExeFile
   !define BundleExeFile "LyX-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}${APP_VERSION_REVISION}${APP_VERSION_EMERGENCY}-Bundle-${APP_VERSION_BUILD}.exe"
 !endif
-!ifndef MinimalExeFile
-  !define /date MinimalExeFile "LyX-${APP_VERSION_MAJOR}${APP_VERSION_MINOR}svn-%Y%m%d-Installer-Minimal.exe"
-!endif
 
 #--------------------------------
 # File locations