From d8728f17eee8b8f6884f1c7b3e738b9b9452f63f Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Mon, 28 Oct 2013 20:23:35 +0100 Subject: [PATCH] Don't install 64 bit viewer on 32 bit OS --- .../installers/windows/installer_template.nsi | 14 ++++++++++++++ indra/newview/viewer_manifest.py | 1 + 2 files changed, 15 insertions(+) diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 7fb868205..e78317e3f 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -35,6 +35,14 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog %%GRID_VARS%% +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Alows us to determine if we're running on 64 bit OS; ${If} macros +!include "x64.nsh" +!include "LogicLib.nsh" + +;; are 64 bit binaries packaged in this installer +%%WIN64_BIN_BUILD%% + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; - language files - one for each language (or flavor thereof) ;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the @@ -664,6 +672,12 @@ FunctionEnd ;; entry to the language ID selector below ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function .onInit +!ifdef WIN64_BIN_BUILD + ${IfNot} ${RunningX64} + MessageBox MB_OK|MB_ICONSTOP "This version requires 64 bit operating sytem." + Quit + ${EndIf} +!endif Push $0 ${GetParameters} $COMMANDLINE ; get our command line ${GetOptions} $COMMANDLINE "/LANGID=" $0 ; /LANGID=1033 implies US English diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index f86d5fd4d..083a01887 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -461,6 +461,7 @@ class WindowsManifest(ViewerManifest): "%%INSTALL_FILES%%":self.nsi_file_commands(True), "%%DELETE_FILES%%":self.nsi_file_commands(False), "%%INSTALLDIR%%":"%s\\%s" % ('$PROGRAMFILES64' if self.is_win64() else '$PROGRAMFILES', self.channel_oneword()), + "%%WIN64_BIN_BUILD%%":"!define WIN64_BIN_BUILD 1" if self.is_win64() else "", }) # We use the Unicode version of NSIS, available from