diff --git a/doc/contributions.txt b/doc/contributions.txt index e7a036158fd9ef82cef934b1ee479b768d45c7eb..9105c0f26b9e9b00f4e33c164b067474463b6e18 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1210,6 +1210,7 @@ Takeda Terrawyng TankMaster Finesmith OPEN-140 OPEN-142 + OPEN-154 STORM-1100 STORM-1258 STORM-1602 diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index c4f503ef4e2daaf1bbad96e716874edab9bbaaa7..8b3a9a837204bdfa8c0ab84d72e84399235ea1ae 100755 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -116,11 +116,14 @@ Var DO_UNINSTALL_V2 ; If non-null, path to a previous Viewer 2 installation !include "FileFunc.nsh" ; For GetParameters, GetOptions !insertmacro GetParameters !insertmacro GetOptions +!include WinVer.nsh ; For OS and SP detection +!include x64.nsh ; For 64bit OS detection ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; After install completes, launch app ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function .onInstSuccess +Call CheckWindowsServPack ; Warn if not on the latest SP before asking to launch. Push $R0 # Option value, unused StrCmp $SKIP_DIALOGS "true" label_launch @@ -152,26 +155,67 @@ Function dirPre FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Make sure we're not on Windows 98 / ME +; Make sure this computer meets the minimum system requirements. +; Currently: Windows 32bit XP SP3, 64bit XP SP2 and Server 2003 SP2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function CheckWindowsVersion - DetailPrint "Checking Windows version..." - Call GetWindowsVersion - Pop $R0 - ; Just get first two characters, ignore 4.0 part of "NT 4.0" - StrCpy $R0 $R0 2 - ; Blacklist certain OS versions - StrCmp $R0 "95" win_ver_bad - StrCmp $R0 "98" win_ver_bad - StrCmp $R0 "ME" win_ver_bad - StrCmp $R0 "NT" win_ver_bad - Return -win_ver_bad: - StrCmp $SKIP_DIALOGS "true" +2 ; If skip_dialogs is set just install - MessageBox MB_YESNO $(CheckWindowsVersionMB) IDNO win_ver_abort - Return -win_ver_abort: - Quit + ${If} ${AtMostWin2000} + MessageBox MB_OK $(CheckWindowsVersionMB) + Quit + ${EndIf} + + ${If} ${IsWinXP} + ${AndIfNot} ${RunningX64} + ${AndIfNot} ${IsServicePack} 3 + MessageBox MB_OK $(CheckWindowsVersionMB) + Quit + ${EndIf} + + ${If} ${IsWinXP} + ${AndIf} ${RunningX64} + ${AndIfNot} ${IsServicePack} 2 + MessageBox MB_OK $(CheckWindowsVersionMB) + Quit + ${EndIf} + + ${If} ${IsWin2003} + ${AndIfNot} ${IsServicePack} 2 + MessageBox MB_OK $(CheckWindowsVersionMB) + Quit + ${EndIf} +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;Recommend Upgrading Service Pack +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CheckWindowsServPack + ${If} ${IsWinVista} + ${AndIfNot} ${IsServicePack} 2 + MessageBox MB_OK $(CheckWindowsServPackMB) + DetailPrint $(UseLatestServPackDP) + Return + ${EndIf} + + ${If} ${IsWin2008} + ${AndIfNot} ${IsServicePack} 2 + MessageBox MB_OK $(CheckWindowsServPackMB) + DetailPrint $(UseLatestServPackDP) + Return + ${EndIf} + + ${If} ${IsWin7} + ${AndIfNot} ${IsServicePack} 1 + MessageBox MB_OK $(CheckWindowsServPackMB) + DetailPrint $(UseLatestServPackDP) + Return + ${EndIf} + + ${If} ${IsWin2008R2} + ${AndIfNot} ${IsServicePack} 1 + MessageBox MB_OK $(CheckWindowsServPackMB) + DetailPrint $(UseLatestServPackDP) + Return + ${EndIf} FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -222,17 +266,13 @@ FunctionEnd ; Checks for CPU valid (must have SSE2 support) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function CheckCPUFlags - Call GetWindowsVersion - Pop $R0 - StrCmp $R0 "2000" OK_SSE ; sse check not available on win2k. - Push $1 System::Call 'kernel32::IsProcessorFeaturePresent(i) i(10) .r1' - IntCmp $1 1 OK_SSE - MessageBox MB_OKCANCEL $(MissingSSE2) /SD IDOK IDOK OK_SSE + IntCmp $1 1 OK_SSE2 + MessageBox MB_OKCANCEL $(MissingSSE2) /SD IDOK IDOK OK_SSE2 Quit - OK_SSE: + OK_SSE2: Pop $1 Return FunctionEnd @@ -768,103 +808,13 @@ Call un.ProgramFiles SectionEnd ; end of uninstall section - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; (From the NSIS documentation, JC) -; GetWindowsVersion -; -; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/ -; Updated by Joost Verburg -; -; Returns on top of stack -; -; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) -; or -; '' (Unknown Windows Version) -; -; Usage: -; Call GetWindowsVersion -; Pop $R0 -; ; at this point $R0 is "NT 4.0" or whatnot -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function GetWindowsVersion - - Push $R0 - Push $R1 - - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - - IfErrors 0 lbl_winnt - - ; we are not NT - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber - - StrCpy $R1 $R0 1 - StrCmp $R1 '4' 0 lbl_error - - StrCpy $R1 $R0 3 - - StrCmp $R1 '4.0' lbl_win32_95 - StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 - - lbl_win32_95: - StrCpy $R0 '95' - Goto lbl_done - - lbl_win32_98: - StrCpy $R0 '98' - Goto lbl_done - - lbl_win32_ME: - StrCpy $R0 'ME' - Goto lbl_done - - lbl_winnt: - - StrCpy $R1 $R0 1 - - StrCmp $R1 '3' lbl_winnt_x - StrCmp $R1 '4' lbl_winnt_x - - StrCpy $R1 $R0 3 - - StrCmp $R1 '5.0' lbl_winnt_2000 - StrCmp $R1 '5.1' lbl_winnt_XP - StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error - - lbl_winnt_x: - StrCpy $R0 "NT $R0" 6 - Goto lbl_done - - lbl_winnt_2000: - Strcpy $R0 '2000' - Goto lbl_done - - lbl_winnt_XP: - Strcpy $R0 'XP' - Goto lbl_done - - lbl_winnt_2003: - Strcpy $R0 '2003' - Goto lbl_done - - lbl_error: - Strcpy $R0 '' - lbl_done: - - Pop $R1 - Exch $R0 - -FunctionEnd - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Note: to add new languages, add a language file include to the list ;; at the top of this file, add an entry to the menu and then add an ;; entry to the language ID selector below ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function .onInit +Call CheckWindowsVersion ; Don't install On unsupported systems Push $0 ${GetParameters} $COMMANDLINE ; get our command line @@ -933,13 +883,12 @@ StrCpy $INSTPROG "${INSTNAME}" StrCpy $INSTEXE "${INSTEXE}" StrCpy $INSTSHORTCUT "${SHORTCUT}" -Call CheckWindowsVersion ; warn if on Windows 98/ME -Call CheckCPUFlags ; Make sure we have SSE2 support +Call CheckCPUFlags ; Make sure we have SSE2 support Call CheckIfAdministrator ; Make sure the user can install/uninstall Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this version Call CloseSecondLife ; Make sure we're not running Call CheckNetworkConnection ; ping secondlife.com -Call CheckWillUninstallV2 ; See if a V2 install exists and will be removed. +Call CheckWillUninstallV2 ; See if a V2 install exists and will be removed. Call CheckOldExeName ; Clean up a previous version of the exe ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/indra/newview/installers/windows/lang_da.nsi b/indra/newview/installers/windows/lang_da.nsi index 0c832e8ba99c961676599f65cbe86c125b5eb5a2..2352649b4be36f3da1de963f01bf1e1eb6289dd9 100755 Binary files a/indra/newview/installers/windows/lang_da.nsi and b/indra/newview/installers/windows/lang_da.nsi differ diff --git a/indra/newview/installers/windows/lang_de.nsi b/indra/newview/installers/windows/lang_de.nsi index b717a4d3a5aa19c60e69bd3370366dfa19b65d52..397262afe14f1a303fe05a137e4df00b02de4913 100755 Binary files a/indra/newview/installers/windows/lang_de.nsi and b/indra/newview/installers/windows/lang_de.nsi differ diff --git a/indra/newview/installers/windows/lang_en-us.nsi b/indra/newview/installers/windows/lang_en-us.nsi index da0d7f54d2bb848ec0f92d08d6a0bcb9926f734a..df0d55d9e093f8401f1411d9b17120a9c3455659 100755 Binary files a/indra/newview/installers/windows/lang_en-us.nsi and b/indra/newview/installers/windows/lang_en-us.nsi differ diff --git a/indra/newview/installers/windows/lang_es.nsi b/indra/newview/installers/windows/lang_es.nsi index c6a7f38f3fd38731d5c3aceb5fb084bf95fb9869..32967a0dfac4cc2d146a04179d870e72b13fc90e 100755 Binary files a/indra/newview/installers/windows/lang_es.nsi and b/indra/newview/installers/windows/lang_es.nsi differ diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi index 008c240ed7c65cfe2ff84a86d0828cf7839dec39..7c75e25360171bac70cea27a54161256b216b7e3 100755 Binary files a/indra/newview/installers/windows/lang_fr.nsi and b/indra/newview/installers/windows/lang_fr.nsi differ diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi index eccd965a9299687c4c9be296ba7381d09e885c65..ce66b61f9fcb17304f8304549abd11277df72d1d 100755 Binary files a/indra/newview/installers/windows/lang_it.nsi and b/indra/newview/installers/windows/lang_it.nsi differ diff --git a/indra/newview/installers/windows/lang_ja.nsi b/indra/newview/installers/windows/lang_ja.nsi index f564291f7dcfdd4f71973d17de4801f1f43f3ebe..e68830123a10c1390224402f5eaa51f79a6a32b7 100755 Binary files a/indra/newview/installers/windows/lang_ja.nsi and b/indra/newview/installers/windows/lang_ja.nsi differ diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi index 191bae475551401b328eb21cfee50b5bd2d40100..788381919014c919d77b0ce35d025fc0cbe8d87f 100755 Binary files a/indra/newview/installers/windows/lang_pl.nsi and b/indra/newview/installers/windows/lang_pl.nsi differ diff --git a/indra/newview/installers/windows/lang_pt-br.nsi b/indra/newview/installers/windows/lang_pt-br.nsi index da56a3c3369e8607fb44716ecba1969eaec70750..eb3fb2386c0ffa6c9081f0050740a691d94c9adc 100755 Binary files a/indra/newview/installers/windows/lang_pt-br.nsi and b/indra/newview/installers/windows/lang_pt-br.nsi differ diff --git a/indra/newview/installers/windows/lang_ru.nsi b/indra/newview/installers/windows/lang_ru.nsi index de7affe08a3f5ff4f7e9619600ee715b0043e235..3b0042fbf54c4367a729ac556c7de1fb1b821d1f 100755 Binary files a/indra/newview/installers/windows/lang_ru.nsi and b/indra/newview/installers/windows/lang_ru.nsi differ diff --git a/indra/newview/installers/windows/lang_tr.nsi b/indra/newview/installers/windows/lang_tr.nsi index 5e7e3d797bc1b8e709396876d847798252a77ce4..b9be1eab08205f443d00fa6e2aa7edbbd32ad8a8 100755 Binary files a/indra/newview/installers/windows/lang_tr.nsi and b/indra/newview/installers/windows/lang_tr.nsi differ diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi index ecf1185fbbe69c9560a13c6f345b75a1c0b34639..3c6f6fd28915a163597d9ac4005e6db524b8a7df 100755 Binary files a/indra/newview/installers/windows/lang_zh.nsi and b/indra/newview/installers/windows/lang_zh.nsi differ