summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-15 16:08:27 -0700
committerKeith Packard <keithp@keithp.com>2014-06-15 16:15:53 -0700
commit44fc36b3f74386f0055eac4d9b9d201e6fff0847 (patch)
tree696e8a22f8cd8682c932a80b49515af4e7ff7df8
parent1a563026409ccff5dea6f89e567accb09bc4b5f6 (diff)
altosui: Deal with 64-bit windows
Get a 64-bit java version installed Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/altos-windows.nsi.in43
1 files changed, 32 insertions, 11 deletions
diff --git a/altosui/altos-windows.nsi.in b/altosui/altos-windows.nsi.in
index e50e1447..5a632f89 100644
--- a/altosui/altos-windows.nsi.in
+++ b/altosui/altos-windows.nsi.in
@@ -1,8 +1,10 @@
!addplugindir Instdrv/NSIS/Plugins
-; Definitions for Java 1.6 Detection
-!define JRE_VERSION "1.6"
-!define JRE_ALTERNATE "1.7"
-!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52247&/jre-6u27-windows-i586-p.exe"
+!include x64.nsh
+; Definitions for Java 1.7 Detection
+!define JRE_VERSION "1.7"
+!define JRE_ALTERNATE "1.6"
+!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe"
+!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe"
!define PRODUCT_NAME "Altus Metrum Windows Software"
Name "Altus Metrum Installer"
@@ -23,12 +25,34 @@ ShowInstDetails Show
ComponentText "Altus Metrum Software and Driver Installer"
+Function .onInit
+ DetailPrint "Checking host operating system"
+ ${If} ${RunningX64}
+ DetailPrint "Installer running on 64-bit host"
+ SetRegView 64
+ StrCpy $INSTDIR "$PROGRAMFILES64\AltusMetrum"
+ ${DisableX64FSRedirection}
+ ${EndIf}
+FunctionEnd
+
+Var JavaDownload
+Var JavaBits
+
Function GetJRE
- MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION} 32-bit, it will now \
- be downloaded and installed"
+ ${If} ${RunningX64}
+ StrCpy $JavaDownload ${JRE64_URL}
+ StrCpy $JavaBits "64"
+ ${Else}
+ StrCpy $JavaDownload ${JRE32_URL}
+ StrCpy $JavaBits "32"
+ ${EndIf}
+
+ MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION}, \
+ $JavaBits bits, it will now \
+ be downloaded and installed"
StrCpy $2 "$TEMP\Java Runtime Environment.exe"
- nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2
+ nsisdl::download /TIMEOUT=30000 $JavaDownload $2
Pop $R0 ;Get the return value
StrCmp $R0 "success" +3
MessageBox MB_OK "Download failed: $R0"
@@ -37,10 +61,10 @@ Function GetJRE
Delete $2
FunctionEnd
-
Function DetectJRE
ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \
"CurrentVersion"
+
StrCmp $2 ${JRE_VERSION} done
StrCmp $2 ${JRE_ALTERNATE} done
@@ -164,9 +188,6 @@ Section "Uninstall"
Delete "$INSTDIR\*.*"
RMDir "$INSTDIR"
- ; Remove .inf file
- Delete "$WINDIR\Inf\altusmetrum.inf"
-
; Remove devices
InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial
InstDrv::DeleteOemInfFiles /NOUNLOAD