From: sr55 <sr55.hb@outlook.com>
Date: Fri, 20 Apr 2018 20:54:02 +0000 (+0100)
Subject: WinGui: Block Installation on 32bit systems.
X-Git-Tag: 1.1.1~38
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=03a8d0e19d9efffa0835f6efaafe1719dd9ffb7a;p=handbrake

WinGui: Block Installation on 32bit systems.
---

diff --git a/win/CS/HandBrakeWPF/Installer/Installer64.nsi b/win/CS/HandBrakeWPF/Installer/Installer64.nsi
index 5b7538528..6f824704c 100644
--- a/win/CS/HandBrakeWPF/Installer/Installer64.nsi
+++ b/win/CS/HandBrakeWPF/Installer/Installer64.nsi
@@ -56,6 +56,7 @@ OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-Win_GUI.exe"
 !include WordFunc.nsh
 !insertmacro VersionCompare
 !include LogicLib.nsh
+!include x64.nsh
 
 InstallDir "$PROGRAMFILES64\HandBrake"
 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
@@ -84,6 +85,11 @@ Function .onInit
     Quit
   ${EndIf}
 
+  ${IfNot} ${RunningX64}
+    MessageBox MB_OK "HandBrake requires a 64bit version of Windows 7 SP1 or later to install. Your system has a 32bit version of Windows."
+    Quit
+  ${EndIf}
+
   ;Remove previous version
   ReadRegStr $R0 HKLM \
   "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \
@@ -114,18 +120,18 @@ Section "HandBrake" SEC01
   Call CheckFramework
      StrCmp $0 "1" +3
         StrCpy $InstallDotNET "Yes"
-      MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the Microsoft .NET Framework 4.6 Client Profile is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK
+      MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the Microsoft .NET Framework 4.6.2 is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK
      Pop $0
 
   ; Get .NET if required
   ${If} $InstallDotNET == "Yes"
      SetDetailsView hide
-     inetc::get /caption "Downloading Microsoft .NET Framework 4.6" /canceltext "Cancel" "https://www.microsoft.com/en-us/download/confirmation.aspx?id=49982" "$INSTDIR\dotnetfx.exe" /end
+     inetc::get /caption "Downloading Microsoft .NET Framework 4.6.2" /canceltext "Cancel" "https://www.microsoft.com/en-us/download/confirmation.aspx?id=53344" "$INSTDIR\dotnetfx.exe" /end
      Pop $1
 
      ${If} $1 != "OK"
            Delete "$INSTDIR\dotnetfx.exe"
-           Abort "Installation cancelled, ${PRODUCT_NAME} requires the Microsoft .NET 4.6 Framework"
+           Abort "Installation cancelled, ${PRODUCT_NAME} requires the Microsoft .NET 4.6.2 Framework"
      ${EndIf}
 
      ExecWait "$INSTDIR\dotnetfx.exe"
diff --git a/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi b/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
index 0c10bd7d3..71ba7f8ab 100644
--- a/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
+++ b/win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi
@@ -56,6 +56,7 @@ OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}_x86_64-Win_GUI.exe"
 !include WordFunc.nsh
 !insertmacro VersionCompare
 !include LogicLib.nsh
+!include x64.nsh
 
 InstallDir "$PROGRAMFILES64\HandBrake Nightly"
 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
@@ -83,6 +84,11 @@ Function .onInit
     Quit
   ${EndIf}
 
+  ${IfNot} ${RunningX64}
+    MessageBox MB_OK "HandBrake requires a 64bit version of Windows 7 SP1 or later to install. Your system has a 32bit version of Windows."
+    Quit
+  ${EndIf}
+
   ;Remove previous version
   ReadRegStr $R0 HKLM \
   "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \
@@ -113,18 +119,18 @@ Section "HandBrake" SEC01
   Call CheckFramework
      StrCmp $0 "1" +3
         StrCpy $InstallDotNET "Yes"
-      MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the Microsoft .NET Framework 4.6 is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK
+      MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the Microsoft .NET Framework 4.6.2 is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK
      Pop $0
 
   ; Get .NET if required
   ${If} $InstallDotNET == "Yes"
      SetDetailsView hide
-     inetc::get /caption "Downloading Microsoft .NET Framework 4.6" /canceltext "Cancel" "https://www.microsoft.com/en-us/download/confirmation.aspx?id=49982" "$INSTDIR\dotnetfx.exe" /end
+     inetc::get /caption "Downloading Microsoft .NET Framework 4.6.2" /canceltext "Cancel" "https://www.microsoft.com/en-us/download/confirmation.aspx?id=53344" "$INSTDIR\dotnetfx.exe" /end
      Pop $1
 
      ${If} $1 != "OK"
            Delete "$INSTDIR\dotnetfx.exe"
-           Abort "Installation cancelled, ${PRODUCT_NAME} requires the Microsoft .NET 4.6 Framework"
+           Abort "Installation cancelled, ${PRODUCT_NAME} requires the Microsoft .NET 4.6.2 Framework"
      ${EndIf}
 
      ExecWait "$INSTDIR\dotnetfx.exe"