NSIS plugin that allows one to detect if particular .Net framework is installed on the computer and download/install one if it is not found.
C++ 92.08%C 7.92%
nsisdotnetchecker's Introduction
.NET Framework Checker NSIS plugin is used to detect if the required .NET Framework is installed and if it is not - plugin will download and install the required package. Plugin C++ source code is based on the Aaron Stebner work described at http://blogs.msdn.com/b/astebner/archive/2009/06/16/9763379.aspx.
Structure:
bin - compiled NSIS plugin (ready-to-use)
plugin - contains source code for building DotNetChecker plugin in Visual Studio 2010
nsis - contains CheckNetFramework macros (DotNetChecker.nsh) and example NSIS installation file
Usage:
1. Copy DotNetChecker.dll to NSIS plugins directory (usually C:\Program Files\Nsis\Plugins\)
2. Add to your installer project DotNetChecker.nsh file
3. Reference DotNetChecker.nsh in your main NSI file like this:
!include "DotNetChecker.nsh"
4. Insert macros with the version of required .NET framework like this:
!insertmacro CheckNetFramework 451 ; if your application targets .NET 4.5.1 Framework
OR
!insertmacro CheckNetFramework 45 ; if your application targets .NET 4.5 Framework
OR
!insertmacro CheckNetFramework 40Client ; if your application targets .NET 4.0 Client Framework
OR
!insertmacro CheckNetFramework 40Full ; if your application targets .NET 4.0 Full Framework
OR
!insertmacro CheckNetFramework 35 ; if your application targets .NET 3.5 Framework
OR
!insertmacro CheckNetFramework 30 ; if your application targets .NET 3.0 Framework
OR
!insertmacro CheckNetFramework 20 ; if your application targets .NET 2.0 Framework
OR
!insertmacro CheckNetFramework 11 ; if your application targets .NET 1.1 Framework
OR
!insertmacro CheckNetFramework 10 ; if your application targets .NET 1.0 Framework
NB: Script will download .NET 3.5 for both .NET 3.0 and .NET 3.5 requirements. The same rule applies to .NET 1.1 and .NET 1.0. If you want to change this behavior - feel free to edit DotNetChecker.nsh.
NB2: Plugin is also capable of detecting Framework Service Pack Level. To use this functionality, just call one of the corresponding functions (i.e. DotNetChecker::GetDotNet11ServicePack). The return value (Pop $0) will be:
-2 if framework is not installed
-1 if no service pack installed for this framework
some positive int value otherwise