From: Keith Packard Date: Sun, 15 Jun 2014 23:08:27 +0000 (-0700) Subject: altosui: Deal with 64-bit windows X-Git-Tag: 1.4~10 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=44fc36b3f74386f0055eac4d9b9d201e6fff0847;hp=1a563026409ccff5dea6f89e567accb09bc4b5f6 altosui: Deal with 64-bit windows Get a 64-bit java version installed Signed-off-by: Keith Packard --- 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