From ecbd10efbdf286b9a5248fd0a870036cd4437360 Mon Sep 17 00:00:00 2001 From: sr55 Date: Fri, 20 Apr 2018 21:54:02 +0100 Subject: [PATCH] WinGui: Block Installation on 32bit systems. --- win/CS/HandBrakeWPF/Installer/Installer64.nsi | 12 +++++++++--- win/CS/HandBrakeWPF/Installer/MakeNightly64.nsi | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) 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" -- 2.40.0