From b81d1f328e440e2db85c7b0b429b02b28e4022d4 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Mon, 14 Jan 2019 19:43:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=B0=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC=20=D0=B8=D0=BD?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BB=D0=BB=D1=8F=D1=86=D0=B8=D0=B8=20gonfig?= =?UTF-8?q?=20-=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20-=20=D0=BE=D0=BD=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0=D0=B2=D0=BB=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=B5=D1=81=D0=BB=D0=B8=20=D1=83=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=20.NET=204.7.1.=20=D0=9D?= =?UTF-8?q?=D0=B0=D0=B4=D0=BE=20=D0=B1=D1=8B=20=D0=B5=D1=89=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D1=82=D1=8C=20=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D1=8E=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20-=20=D0=BF=D0=BE=20=D0=BA=D1=80=D0=B0=D0=B9?= =?UTF-8?q?=D0=BD=D0=B5=D0=B9=20=D0=BC=D0=B5=D1=80=D0=B5=204.7.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/GlobalAssemblyInfo.cs | 2 +- Configuration/Version.defs | 4 +- ReleaseGenerators/DotNetChecker.nsh | 141 +++++++++++++++++++ ReleaseGenerators/PascalABCNET_version.nsh | 2 +- ReleaseGenerators/sect_Core.nsh | 16 ++- Utils/NSIS/Unicode/Plugins/DotNetChecker.dll | Bin 0 -> 86528 bytes VisualPascalABCNET/AboutBox.Designer.cs | 130 +++++++---------- 7 files changed, 213 insertions(+), 82 deletions(-) create mode 100644 ReleaseGenerators/DotNetChecker.nsh create mode 100644 Utils/NSIS/Unicode/Plugins/DotNetChecker.dll diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs index 935aad8c8..b3b15de33 100644 --- a/Configuration/GlobalAssemblyInfo.cs +++ b/Configuration/GlobalAssemblyInfo.cs @@ -15,7 +15,7 @@ internal static class RevisionClass public const string Major = "3"; public const string Minor = "4"; public const string Build = "2"; - public const string Revision = "1933"; + public const string Revision = "1936"; public const string MainVersion = Major + "." + Minor; public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision; diff --git a/Configuration/Version.defs b/Configuration/Version.defs index bddbce095..9e0f34e17 100644 --- a/Configuration/Version.defs +++ b/Configuration/Version.defs @@ -1,4 +1,4 @@ -%COREVERSION%=2 -%REVISION%=1933 %MINOR%=4 +%REVISION%=1936 +%COREVERSION%=2 %MAJOR%=3 diff --git a/ReleaseGenerators/DotNetChecker.nsh b/ReleaseGenerators/DotNetChecker.nsh new file mode 100644 index 000000000..34ef1a636 --- /dev/null +++ b/ReleaseGenerators/DotNetChecker.nsh @@ -0,0 +1,141 @@ +!macro CheckNetFramework FrameworkVersion + Var /GLOBAL dotNetUrl${FrameworkVersion} + Var /GLOBAL dotNetReadableVersion${FrameworkVersion} + + !ifndef DOTNET472_URL + !define DOTNET472_URL "https://go.microsoft.com/fwlink/?LinkId=863265" + !define DOTNET471_URL "https://go.microsoft.com/fwlink/?LinkId=852104" + !define DOTNET47_URL "https://go.microsoft.com/fwlink/?LinkId=825302" + !define DOTNET462_URL "https://go.microsoft.com/fwlink/?LinkId=780600" + !define DOTNET461_URL "https://go.microsoft.com/fwlink/?LinkId=671743" + !define DOTNET46_URL "https://go.microsoft.com/fwlink/?LinkId=528232" + !define DOTNET452_URL "https://go.microsoft.com/fwlink/?LinkId=397708" + !define DOTNET451_URL "https://go.microsoft.com/fwlink/?LinkId=322116" + !define DOTNET45_URL "https://go.microsoft.com/fwlink/?LinkId=225702" + !define DOTNET40Full_URL "https://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=0a391abd-25c1-4fc0-919f-b21f31ab88b7&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2f5%2fA%2f95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE%2fdotNetFx40_Full_x86_x64.exe" + !define DOTNET40Client_URL "https://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f2%2f562A10F9-C9F4-4313-A044-9C94E0A8FAC8%2fdotNetFx40_Client_x86_x64.exe" + !define DOTNET35_URL "https://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe" + !define DOTNET30_URL "https://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe" + !define DOTNET20_URL "https://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f7%2f567758a3-759e-473e-bf8f-52154438565a%2fdotnetfx.exe" + !define DOTNET11_URL "https://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=262d25e3-f589-4842-8157-034d1e7cf3a3&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fa%2fa%2fc%2faac39226-8825-44ce-90e3-bf8203e74006%2fdotnetfx.exe" + !define DOTNET10_URL "https://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=262d25e3-f589-4842-8157-034d1e7cf3a3&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fa%2fa%2fc%2faac39226-8825-44ce-90e3-bf8203e74006%2fdotnetfx.exe" + !endif + + ${If} ${FrameworkVersion} == "472" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET472_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.7.2" + ${ElseIf} ${FrameworkVersion} == "471" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET471_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.7.1" + ${ElseIf} ${FrameworkVersion} == "47" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET47_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.7" + ${ElseIf} ${FrameworkVersion} == "462" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET462_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.6.2" + ${ElseIf} ${FrameworkVersion} == "461" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET461_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.6.1" + ${ElseIf} ${FrameworkVersion} == "46" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET46_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.6" + ${ElseIf} ${FrameworkVersion} == "452" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET452_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.52" + ${ElseIf} ${FrameworkVersion} == "451" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET451_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.51" + ${ElseIf} ${FrameworkVersion} == "45" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET45_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.5" + ${ElseIf} ${FrameworkVersion} == "40Full" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET40Full_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.0 Full" + ${ElseIf} ${FrameworkVersion} == "40Client" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET40Client_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "4.0 Client" + ${ElseIf} ${FrameworkVersion} == "35" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET35_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "3.5" + ${ElseIf} ${FrameworkVersion} == "30" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET30_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "3.0" + ${ElseIf} ${FrameworkVersion} == "20" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET20_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "2.0" + ${ElseIf} ${FrameworkVersion} == "11" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET11_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "1.1" + ${ElseIf} ${FrameworkVersion} == "10" + StrCpy $dotNetUrl${FrameworkVersion} ${DOTNET10_URL} + StrCpy $dotNetReadableVersion${FrameworkVersion} "1.0" + ${EndIf} + + DetailPrint "Checking .NET Framework version..." + + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + Push $5 + Push $6 + Push $7 + + DotNetChecker::IsDotNet${FrameworkVersion}Installed + Pop $0 + + ${If} $0 == "false" + ${OrIf} $0 == "f" ; if script is compiled in ANSI mode then we get only an "f" https://github.com/ReVolly/NsisDotNetChecker/issues/4 + DetailPrint ".NET Framework $dotNetReadableVersion${FrameworkVersion} not found, download is required for program to run." + Goto NoDotNET${FrameworkVersion} + ${Else} + DetailPrint ".NET Framework $dotNetReadableVersion${FrameworkVersion} found, no need to install." + Goto NewDotNET${FrameworkVersion} + ${EndIf} + +NoDotNET${FrameworkVersion}: + MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \ + ".NET Framework not installed. Required version: $dotNetReadableVersion${FrameworkVersion}.$\nDownload .NET Framework $dotNetReadableVersion${FrameworkVersion} from microsoft.com?" \ + /SD IDYES IDYES DownloadDotNET${FrameworkVersion} IDNO NewDotNET${FrameworkVersion} + goto GiveUpDotNET${FrameworkVersion} ;IDCANCEL + +DownloadDotNET${FrameworkVersion}: + DetailPrint "Beginning download of .NET Framework $dotNetReadableVersion${FrameworkVersion}." + NSISDL::download $dotNetUrl${FrameworkVersion} "$TEMP\dotnetfx.exe" + DetailPrint "Completed download." + + Pop $0 + ${If} $0 == "cancel" + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "Download canceled. Continue Installation?" \ + IDYES NewDotNET${FrameworkVersion} IDNO GiveUpDotNET${FrameworkVersion} + ${ElseIf} $0 != "success" + MessageBox MB_YESNO|MB_ICONEXCLAMATION \ + "Download failed:$\n$0$\n$\nContinue Installation?" \ + IDYES NewDotNET${FrameworkVersion} IDNO GiveUpDotNET${FrameworkVersion} + ${EndIf} + + DetailPrint "Pausing installation while downloaded .NET Framework installer runs." + ExecWait '$TEMP\dotnetfx.exe /q /c:"install /q"' + + DetailPrint "Completed .NET Framework install/update. Removing .NET Framework installer." + Delete "$TEMP\dotnetfx.exe" + DetailPrint ".NET Framework installer removed." + goto NewDotNet${FrameworkVersion} + +GiveUpDotNET${FrameworkVersion}: + Abort "Installation canceled by user." + +NewDotNET${FrameworkVersion}: + DetailPrint "Proceeding with remainder of installation." + Pop $7 + Pop $6 + Pop $5 + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Pop $0 + +!macroend diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh index f6861f184..ec30d2e19 100644 --- a/ReleaseGenerators/PascalABCNET_version.nsh +++ b/ReleaseGenerators/PascalABCNET_version.nsh @@ -1 +1 @@ -!define VERSION '3.4.2.1933' +!define VERSION '3.4.2.1936' diff --git a/ReleaseGenerators/sect_Core.nsh b/ReleaseGenerators/sect_Core.nsh index f6a84205f..1f0665714 100644 --- a/ReleaseGenerators/sect_Core.nsh +++ b/ReleaseGenerators/sect_Core.nsh @@ -35,7 +35,19 @@ File "copyright.txt" File "..\bin\pabcnetc.exe.config" File "..\bin\pabcnetcclear.exe.config" - File "..\bin\PascalABCNET.exe.config" + + +; main config - only .NET 4.7.1 and above + DotNetChecker::IsDotNet471Installed + Pop $0 + + ${If} $0 == "false" + ${OrIf} $0 == "f" ; if script is compiled in ANSI mode then we get only an "f" https://github.com/ReVolly/NsisDotNetChecker/issues/4 + ${Else} + File "..\bin\PascalABCNET.exe.config" + ${AddFile} "PascalABCNET.exe.config" + ${EndIf} + ;dobavljaem fajly v uninst.log ${AddFile} "Compiler.dll" @@ -57,7 +69,7 @@ ${AddFile} "copyright.txt" ${AddFile} "pabcnetc.exe.config" ${AddFile} "pabcnetcclear.exe.config" - ${AddFile} "PascalABCNET.exe.config" + Delete "$INSTDIR\Lib\*.pas" SetOutPath "$INSTDIR\Lib" ;File ..\bin\Lib\*.pcu; eto ploho nuzhno kazhdyj pcu raspisyvat diff --git a/Utils/NSIS/Unicode/Plugins/DotNetChecker.dll b/Utils/NSIS/Unicode/Plugins/DotNetChecker.dll new file mode 100644 index 0000000000000000000000000000000000000000..46f5515b8547b9b9250254cdfa9b6e4cf856d0ab GIT binary patch literal 86528 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�wXk5W)u@E=b@3F=>-CZ*1$bsnV|+re!*GtbrMkzh-7(R%DS+v-{4I zU*K`t~7pXVWHKpJsbV;+vdmTOa)l%!QTw_K55lw txp4kH&VHI#f9LgwgGdk!ydXx0jR(&`if1#l*$jO)AMg