[mapguide-commits] r8504 - in trunk/Tools/Maestro: . Install Thirdparty/NSIS/Plugins
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sun Jan 18 05:11:04 PST 2015
Author: jng
Date: 2015-01-18 05:11:04 -0800 (Sun, 18 Jan 2015)
New Revision: 8504
Added:
trunk/Tools/Maestro/Install/DotNetChecker.nsh
trunk/Tools/Maestro/Thirdparty/NSIS/Plugins/DotNetChecker.dll
Modified:
trunk/Tools/Maestro/Install/Maestro.nsi
trunk/Tools/Maestro/build.bat
Log:
#2522: Update installer check
Added: trunk/Tools/Maestro/Install/DotNetChecker.nsh
===================================================================
--- trunk/Tools/Maestro/Install/DotNetChecker.nsh (rev 0)
+++ trunk/Tools/Maestro/Install/DotNetChecker.nsh 2015-01-18 13:11:04 UTC (rev 8504)
@@ -0,0 +1,114 @@
+!macro CheckNetFramework FrameworkVersion
+ Var /GLOBAL dotNetUrl
+ Var /GLOBAL dotNetReadableVersion
+
+ !define DOTNET452_URL "http://go.microsoft.com/fwlink/?LinkId=397708"
+ !define DOTNET451_URL "http://go.microsoft.com/fwlink/?LinkId=322116"
+ !define DOTNET45_URL "http://go.microsoft.com/fwlink/?LinkId=225702"
+ !define DOTNET40Full_URL "http://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 "http://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 "http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe"
+ !define DOTNET30_URL "http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe"
+ !define DOTNET20_URL "http://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 "http://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 "http://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"
+
+ ${If} ${FrameworkVersion} == "452"
+ StrCpy $dotNetUrl ${DOTNET452_URL}
+ StrCpy $dotNetReadableVersion "4.52"
+ ${ElseIf} ${FrameworkVersion} == "451"
+ StrCpy $dotNetUrl ${DOTNET451_URL}
+ StrCpy $dotNetReadableVersion "4.51"
+ ${ElseIf} ${FrameworkVersion} == "45"
+ StrCpy $dotNetUrl ${DOTNET45_URL}
+ StrCpy $dotNetReadableVersion "4.5"
+ ${ElseIf} ${FrameworkVersion} == "40Full"
+ StrCpy $dotNetUrl ${DOTNET40Full_URL}
+ StrCpy $dotNetReadableVersion "4.0 Full"
+ ${ElseIf} ${FrameworkVersion} == "40Client"
+ StrCpy $dotNetUrl ${DOTNET40Client_URL}
+ StrCpy $dotNetReadableVersion "4.0 Client"
+ ${ElseIf} ${FrameworkVersion} == "35"
+ StrCpy $dotNetUrl ${DOTNET35_URL}
+ StrCpy $dotNetReadableVersion "3.5"
+ ${ElseIf} ${FrameworkVersion} == "30"
+ StrCpy $dotNetUrl ${DOTNET30_URL}
+ StrCpy $dotNetReadableVersion "3.0"
+ ${ElseIf} ${FrameworkVersion} == "20"
+ StrCpy $dotNetUrl ${DOTNET20_URL}
+ StrCpy $dotNetReadableVersion "2.0"
+ ${ElseIf} ${FrameworkVersion} == "11"
+ StrCpy $dotNetUrl ${DOTNET11_URL}
+ StrCpy $dotNetReadableVersion "1.1"
+ ${ElseIf} ${FrameworkVersion} == "10"
+ StrCpy $dotNetUrl ${DOTNET10_URL}
+ StrCpy $dotNetReadableVersion "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"
+ DetailPrint ".NET Framework $dotNetReadableVersion not found, download is required for program to run."
+ Goto NoDotNET
+ ${Else}
+ DetailPrint ".NET Framework $dotNetReadableVersion found, no need to install."
+ Goto NewDotNET
+ ${EndIf}
+
+NoDotNET:
+ MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
+ ".NET Framework not installed. Required version: $dotNetReadableVersion.$\nDownload .NET Framework $dotNetReadableVersion from www.microsoft.com?" \
+ /SD IDYES IDYES DownloadDotNET IDNO NewDotNET
+ goto GiveUpDotNET ;IDCANCEL
+
+DownloadDotNET:
+ DetailPrint "Beginning download of .NET Framework $dotNetReadableVersion."
+ NSISDL::download $dotNetUrl "$TEMP\dotnetfx.exe"
+ DetailPrint "Completed download."
+
+ Pop $0
+ ${If} $0 == "cancel"
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+ "Download cancelled. Continue Installation?" \
+ IDYES NewDotNET IDNO GiveUpDotNET
+ ${ElseIf} $0 != "success"
+ MessageBox MB_YESNO|MB_ICONEXCLAMATION \
+ "Download failed:$\n$0$\n$\nContinue Installation?" \
+ IDYES NewDotNET IDNO GiveUpDotNET
+ ${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
+
+GiveUpDotNET:
+ Abort "Installation cancelled by user."
+
+NewDotNET:
+ DetailPrint "Proceeding with remainder of installation."
+ Pop $0
+ Pop $1
+ Pop $2
+ Pop $3
+ Pop $4
+ Pop $5
+ Pop $6
+ Pop $7
+
+!macroend
\ No newline at end of file
Modified: trunk/Tools/Maestro/Install/Maestro.nsi
===================================================================
--- trunk/Tools/Maestro/Install/Maestro.nsi 2015-01-18 12:32:27 UTC (rev 8503)
+++ trunk/Tools/Maestro/Install/Maestro.nsi 2015-01-18 13:11:04 UTC (rev 8504)
@@ -11,6 +11,9 @@
; Include NSIS headers
;----------------------
+# .net Checker
+!include "DotNetChecker.nsh"
+
# Modern UI 2
!include "MUI2.nsh"
@@ -328,16 +331,7 @@
!endif
!insertmacro MUI_LANGDLL_DISPLAY
-
- ; Check for .NET Framework 4.0
- ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" Install
- IntOp $8 $0 & 1
- IntCmp $8 1 done noDotNet done
-
- noDotNet:
- MessageBox MB_OK|MB_ICONINFORMATION "${INST_PRODUCT_QUALIFIED} requires that the .net Framework 4.0 is installed. Please download and install the .net Framework 4.0 before installing ${INST_PRODUCT}."
- Quit
- done:
+ !insertmacro CheckNetFramework 45
FunctionEnd
Function LaunchLink
Added: trunk/Tools/Maestro/Thirdparty/NSIS/Plugins/DotNetChecker.dll
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Thirdparty/NSIS/Plugins/DotNetChecker.dll
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/Tools/Maestro/build.bat
===================================================================
--- trunk/Tools/Maestro/build.bat 2015-01-18 12:32:27 UTC (rev 8503)
+++ trunk/Tools/Maestro/build.bat 2015-01-18 13:11:04 UTC (rev 8504)
@@ -2,7 +2,7 @@
SET TYPEACTION=build
SET TYPEBUILD=Release
SET PLATFORM=Any CPU
-SET RELEASE_VERSION=5.0b1
+SET RELEASE_VERSION=6.0a4
SET OLDPATH=%PATH%
SET PATH=%PATH%;%CD%\Thirdparty\NSIS;C:\Windows\Microsoft.NET\Framework\v4.0.30319
SET SLNDIR=%CD%
More information about the mapguide-commits
mailing list