From 359e04991207b865a3dba9e3779bc4266281ed5d Mon Sep 17 00:00:00 2001 From: Nodir Temirkhodjaev Date: Sat, 11 May 2024 20:07:45 +0300 Subject: [PATCH] Installer: Support 64-bit installation on Windows 10 1809+ (was 2004+) --- deploy/FortFirewall.iss | 2 +- deploy/deployment.json | 5 +++++ deploy/languages/custom/BrazilianPortuguese.isl | 2 +- deploy/languages/custom/ChineseSimplified.isl | 2 +- deploy/languages/custom/Default.isl | 2 +- deploy/languages/custom/French.isl | 2 +- deploy/languages/custom/German.isl | 2 +- deploy/languages/custom/Italian.isl | 2 +- deploy/languages/custom/Korean.isl | 2 +- deploy/languages/custom/Portuguese.isl | 2 +- deploy/languages/custom/Russian.isl | 2 +- deploy/languages/custom/Slovenian.isl | 2 +- src/driver/scripts/setup-vars.bat | 12 ++++++++++-- 13 files changed, 26 insertions(+), 13 deletions(-) diff --git a/deploy/FortFirewall.iss b/deploy/FortFirewall.iss index 0d7a1e3c..d2aa8d8d 100644 --- a/deploy/FortFirewall.iss +++ b/deploy/FortFirewall.iss @@ -194,7 +194,7 @@ var Version: TWindowsVersion; begin GetWindowsVersionEx(Version); - Result := (Version.Major > 10) or ((Version.Major = 10) and (Version.Build > 19040)); + Result := (Version.Major > 10) or ((Version.Major = 10) and (Version.Build >= 17763)); end; function IsWindows7(): Boolean; diff --git a/deploy/deployment.json b/deploy/deployment.json index bfc5348e..6a43e48d 100644 --- a/deploy/deployment.json +++ b/deploy/deployment.json @@ -25,6 +25,11 @@ "sys": [ "${BUILD}-driver-${CONFIG}/x64/fortfw.sys" ] + }, + "${TARGET}/driver/x86_64_old | win10": { + "sys": [ + "${BUILD}-driver-win7/x64/fortfw.sys" + ] } } } diff --git a/deploy/languages/custom/BrazilianPortuguese.isl b/deploy/languages/custom/BrazilianPortuguese.isl index 1bf8007d..d41979ef 100644 --- a/deploy/languages/custom/BrazilianPortuguese.isl +++ b/deploy/languages/custom/BrazilianPortuguese.isl @@ -13,7 +13,7 @@ UninstallPassword=Uninstall Password UninstallPasswordOK=OK UninstallPasswordCancel=Cancel WrongPassword=Wrong password -NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 2004 or newer required). +NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 1809 or newer required). NotCompatibleWithWindows7=This program is not compatible with Windows 7 version (KB4474419 required). NotCompatibleWithHVCI=This program is not compatible with HVCI (Core Isolation). InstallVCRedist=Install the latest Visual C++ redistributable! diff --git a/deploy/languages/custom/ChineseSimplified.isl b/deploy/languages/custom/ChineseSimplified.isl index 1a99b30e..0db92a0d 100644 --- a/deploy/languages/custom/ChineseSimplified.isl +++ b/deploy/languages/custom/ChineseSimplified.isl @@ -13,7 +13,7 @@ UninstallPassword= UninstallPasswordOK=È·¶¨ UninstallPasswordCancel=È¡Ïû WrongPassword=ÃÜÂë´íÎó -NotCompatibleWithWindows=´Ë³ÌÐòÓë Windows °æ±¾²»¼æÈÝ (Windows 10 2004 »òÐèÒª¸üÐÂ)¡£ +NotCompatibleWithWindows=´Ë³ÌÐòÓë Windows °æ±¾²»¼æÈÝ (Windows 10 1809 »òÐèÒª¸üÐÂ)¡£ NotCompatibleWithWindows7=´Ë³ÌÐòÓë Windows °æ±¾²»¼æÈÝ (Windows 7 »òÐèÒª KB4474419 ¸üÐÂ)¡£ NotCompatibleWithHVCI=Õâ¸ö³ÌÐòÓëHVCI£¨ºËÐĸôÀ룩²»¼æÈÝ¡£ InstallVCRedist=°²×°×îÐ嵀 Visual C++ ¿ÉÔÙ·Ö·¢°æ±¾£¡ diff --git a/deploy/languages/custom/Default.isl b/deploy/languages/custom/Default.isl index f9b27eea..8b26a007 100644 --- a/deploy/languages/custom/Default.isl +++ b/deploy/languages/custom/Default.isl @@ -13,7 +13,7 @@ UninstallPassword=Uninstall Password UninstallPasswordOK=OK UninstallPasswordCancel=Cancel WrongPassword=Wrong password -NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 2004 or newer required). +NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 1809 or newer required). NotCompatibleWithWindows7=This program is not compatible with Windows 7 version (KB4474419 required). NotCompatibleWithHVCI=This program is not compatible with HVCI (Core Isolation). InstallVCRedist=Install the latest Visual C++ redistributable! diff --git a/deploy/languages/custom/French.isl b/deploy/languages/custom/French.isl index 4965a06a..7b31fa96 100644 --- a/deploy/languages/custom/French.isl +++ b/deploy/languages/custom/French.isl @@ -13,7 +13,7 @@ UninstallPassword=D UninstallPasswordOK=OK UninstallPasswordCancel=Annuler WrongPassword=Mot de passe incorrect -NotCompatibleWithWindows=Ce programme est incompatible avec la version Windows (Windows 10 2004 ou plus récent requis). +NotCompatibleWithWindows=Ce programme est incompatible avec la version Windows (Windows 10 1809 ou plus récent requis). NotCompatibleWithWindows7=Ce programme n'est pas compatible avec la version de Windows 7 (KB4474419 requis). NotCompatibleWithHVCI=Ce programme est incompatible avec HVCI (Core Isolation). InstallVCRedist=Installez le dernier redistribuable Visual C++ ! diff --git a/deploy/languages/custom/German.isl b/deploy/languages/custom/German.isl index 7aef57ce..4172e65f 100644 --- a/deploy/languages/custom/German.isl +++ b/deploy/languages/custom/German.isl @@ -13,7 +13,7 @@ UninstallPassword=Passwort deinstallieren UninstallPasswordOK=OK UninstallPasswordCancel=Abbrechen WrongPassword=Falsches Passwort -NotCompatibleWithWindows=Das Programm ist nicht kompatibel zu dieser Version von Windows (Windows 10 2004 oder neuer erforderlich). +NotCompatibleWithWindows=Das Programm ist nicht kompatibel zu dieser Version von Windows (Windows 10 1809 oder neuer erforderlich). NotCompatibleWithWindows7=Das Programm ist nicht kompatibel zu dieser Version von Windows 7 (KB4474419 erforderlich). NotCompatibleWithHVCI=Dieses Programm ist nicht kompatibel mit HVCI (Kernisolierung). InstallVCRedist=Installieren Sie die neueste Visual C++ Runtime! diff --git a/deploy/languages/custom/Italian.isl b/deploy/languages/custom/Italian.isl index 8b0209fa..d7e3ffa1 100644 --- a/deploy/languages/custom/Italian.isl +++ b/deploy/languages/custom/Italian.isl @@ -13,7 +13,7 @@ UninstallPassword=Password disinstallazione UninstallPasswordOK=Ok UninstallPasswordCancel=Annulla WrongPassword=Password errata -NotCompatibleWithWindows=Questo programma non è compatibile con la versione di Windows (è richiesto Windows 10 2004 o successivo). +NotCompatibleWithWindows=Questo programma non è compatibile con la versione di Windows (è richiesto Windows 10 1809 o successivo). NotCompatibleWithWindows7=Questo programma non è compatibile con la versione di Windows 7 (richiesto KB4474419). NotCompatibleWithHVCI=Questo programma non è compatibile con HVCI (Core Isolation). InstallVCRedist=Installare l'ultimo Visual C++ ridistribuibile! diff --git a/deploy/languages/custom/Korean.isl b/deploy/languages/custom/Korean.isl index 84ccc6d6..ff40a1ab 100644 --- a/deploy/languages/custom/Korean.isl +++ b/deploy/languages/custom/Korean.isl @@ -13,7 +13,7 @@ UninstallPassword= UninstallPasswordOK=È®ÀÎ UninstallPasswordCancel=Ãë¼Ò WrongPassword=À߸øµÈ ¾ÏÈ£ -NotCompatibleWithWindows=ÀÌ ÇÁ·Î±×·¥Àº Windows ¹öÀü (Windows 10 2004 ÀÌ»ó ÇÊ¿ä)°ú ȣȯµÇÁö ¾Ê½À´Ï´Ù. +NotCompatibleWithWindows=ÀÌ ÇÁ·Î±×·¥Àº Windows ¹öÀü (Windows 10 1809 ÀÌ»ó ÇÊ¿ä)°ú ȣȯµÇÁö ¾Ê½À´Ï´Ù. NotCompatibleWithWindows7=ÀÌ ÇÁ·Î±×·¥Àº Windows 7 ¹öÀü°ú ȣȯµÇÁö ¾Ê½À´Ï´Ù (KB4474419 ÇÊ¿ä). NotCompatibleWithHVCI=ÀÌ ÇÁ·Î±×·¥Àº HVCI (ÄÚ¾î °Ý¸®)¿Í ȣȯµÇÁö ¾Ê½À´Ï´Ù. InstallVCRedist=ÃֽŠVisual C++ Àç¹èÆ÷ÆÇÀ» ¼³Ä¡Çϼ¼¿ä! diff --git a/deploy/languages/custom/Portuguese.isl b/deploy/languages/custom/Portuguese.isl index 67b75a0b..070e24c2 100644 --- a/deploy/languages/custom/Portuguese.isl +++ b/deploy/languages/custom/Portuguese.isl @@ -13,7 +13,7 @@ UninstallPassword=Uninstall Password UninstallPasswordOK=OK UninstallPasswordCancel=Cancel WrongPassword=Wrong password -NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 2004 or newer required). +NotCompatibleWithWindows=This program is not compatible with Windows version (Windows 10 1809 or newer required). NotCompatibleWithWindows7=This program is not compatible with Windows 7 version (KB4474419 required). NotCompatibleWithHVCI=This program is not compatible with HVCI (Core Isolation). InstallVCRedist=Install the latest Visual C++ redistributable! diff --git a/deploy/languages/custom/Russian.isl b/deploy/languages/custom/Russian.isl index 321fd825..4e8ea26d 100644 --- a/deploy/languages/custom/Russian.isl +++ b/deploy/languages/custom/Russian.isl @@ -13,7 +13,7 @@ UninstallPassword= UninstallPasswordOK=OK UninstallPasswordCancel=Îòìåíà WrongPassword=Íåâåðíûé ïàðîëü -NotCompatibleWithWindows=Ýòà ïðîãðàììà íåñîâìåñòèìà ñ âåðñèåé Windows (òðåáóåòñÿ Windows 10 2004 èëè íîâåå). +NotCompatibleWithWindows=Ýòà ïðîãðàììà íåñîâìåñòèìà ñ âåðñèåé Windows (òðåáóåòñÿ Windows 10 1809 èëè íîâåå). NotCompatibleWithWindows7=Ýòà ïðîãðàììà íåñîâìåñòèìà ñ âåðñèåé Windows 7 (òðåáóåòñÿ KB4474419). NotCompatibleWithHVCI=Ýòà ïðîãðàììà íåñîâìåñòèìà ñ HVCI (Core Isolation). InstallVCRedist=Óñòàíîâèòå ïîñëåäíþþ âåðñèþ ðàñïðîñòðàíÿåìîãî ïàêåòà Visual C++! diff --git a/deploy/languages/custom/Slovenian.isl b/deploy/languages/custom/Slovenian.isl index 88594623..c0c81337 100644 --- a/deploy/languages/custom/Slovenian.isl +++ b/deploy/languages/custom/Slovenian.isl @@ -13,7 +13,7 @@ UninstallPassword=Odstrani geslo UninstallPasswordOK=Vredu UninstallPasswordCancel=PrekliÑi WrongPassword=NapaÑno geslo -NotCompatibleWithWindows=Ta program ni zdruØljiv z razliÑico sistema Windows (potreben je Windows 10 2004 ali novejÕi). +NotCompatibleWithWindows=Ta program ni zdruØljiv z razliÑico sistema Windows (potreben je Windows 10 1809 ali novejÕi). NotCompatibleWithWindows7=Ta program ni zdruØljiv z razliÑico sistema Windows 7 (potrebna je KB4474419). NotCompatibleWithHVCI=Ta program ni zdruØljiv s HVCI (izolacija jedra). InstallVCRedist=Namesti najnovejÕi Visual C++ za redistribucijo! diff --git a/src/driver/scripts/setup-vars.bat b/src/driver/scripts/setup-vars.bat index fbf32011..ad818d1c 100644 --- a/src/driver/scripts/setup-vars.bat +++ b/src/driver/scripts/setup-vars.bat @@ -1,8 +1,16 @@ @rem Setup variables @set ARCH=x86 -@if "%PROCESSOR_ARCHITECTURE%" == "AMD64" @set ARCH=x86_64 -@if "%PROCESSOR_ARCHITECTURE%" == "ARM64" @set ARCH=ARM64 +@if "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( + @set ARCH=x86_64 + + @rem Check for Windows 10 2004 + @for /f "tokens=4-6 delims=. " %%i in ('ver') do @( + @if %%i.%%j.%%k lss 10.0.19041 @set ARCH=x86_64_old + ) +) else ( + @if "%PROCESSOR_ARCHITECTURE%" == "ARM64" @set ARCH=ARM64 +) @set BASENAME=fortfw @set FILENAME=%BASENAME%.sys