Click here to Skip to main content
13,797,347 members
Click here to Skip to main content
Add your own
alternative version

Stats

22.2K views
2.4K downloads
62 bookmarked
Posted 14 Aug 2018
Licenced CPOL

.NET Framework Checker

, 29 Oct 2018
Rate this:
Please Sign up or sign in to vote.
This tool lists all available .NET Frameworks and checks the needed/linked .NET components of installed apps by selecting a target directory.

Introduction

Users can install and run multiple versions of the .NET Framework on their computers. When you develop or deploy your app, you might need to know which .NET Framework versions are installed on the target's computer. This article manages the rare (but possible) situation if there aren't any .NET Frameworks installed. For this purpose, it starts with a pure C++ application (Starter) that doesn't need any .NET components in order to check whether at least anyone .NET Framework is available. If yes, the main application starts and shows a GUI with located components. Now the user has a possibility, to select a directory to check all *.EXEs, *.DLLs and *.OCXs in it for fulfillment of .NET requirements.

Background

To get an accurate list of the .NET Framework versions installed on a computer, we need to view the registry. This feature is accompanied by Microsoft's document here. To find the .NET Framework 1 - 4, we need to use the following subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

For Versions 4.5 and later, we are looking for the following subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

.NET Framework 4.5 and later

Value of the Release DWORD Version
378389 .NET Framework 4.5
378675 .NET Framework 4.5.1 installed with Windows 8.1 or Windows Server 2012 R2
378758 .NET Framework 4.5.1 installed on Windows 8, Windows 7 SP1, or Windows Vista SP2
379893 .NET Framework 4.5.2
Windows 10: 393295
On all other OS versions: 393297
.NET Framework 4.6
Windows 10 November Update: 394254
On all other OS versions: 394271
.NET Framework 4.6.1
Windows Server 2016: 394802
On all other OS versions: 394806
.NET Framework 4.6.2
Windows 10 Creators Update: 460798
On all other OS versions: 460805
.NET Framework 4.7
Windows 10 Creators Update: 461308
On all other OS versions: 461310
.NET Framework 4.7.1
Windows 10 April 2018: 461808
On all other OS versions: 461814
.NET Framework 4.7.2

That is exactly what the tool does:

int GetNetfxSpLevel(string pszNetfxRegKeyName, string pszNetfxRegValueName)
{      
     try
     {
        var oRet = Registry.GetValue(pszNetfxRegKeyName, pszNetfxRegValueName, "");
        if (oRet != null) 
           return (Int32)oRet;
      }
      catch (Exception ex)
      {
        _oLog.Write(ex);
       }
       return -1;
}

Using the Tool

After starting the CheckDotNet.exe, you will see the following message box if absolutely no .NET Framework is available on your system:

Nothing found

However, this should be a very rare situation.

Most commonly, it will be found that one or more components and the CheckDotNet.exe will start the GUI application written in C#:

It lists the available vs. not installed components on the left.

On the right, you can scan the target directory to check whether all applications in it fulfill the .NET dependency.

[UPDATE]

There is now a CMD line mode, many thanks to LightTempler:

CMD Mode

History

  • Current version 1.0.0
  • Added the command-line Version Win32Analyser.zip
  • Updated to Version 2.0.0 by adding recognition of .NET 4.6.2, 4.7, 4.7.1, 4.7.2
  • Updated to Version 3.2.0

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

_duDE
Software Developer
Germany Germany

You may also be interested in...

Comments and Discussions

 
QuestionMessage Closed Pin
29-Oct-18 10:54
memberInstalador Solar29-Oct-18 10:54 
Message Closed
Question.Net Core Pin
Member 244330629-Oct-18 6:47
memberMember 244330629-Oct-18 6:47 
SuggestionSmall suggestions Pin
BugDigger29-Oct-18 2:43
memberBugDigger29-Oct-18 2:43 
GeneralRe: Small suggestions Pin
_duDE29-Oct-18 3:37
professional_duDE29-Oct-18 3:37 
QuestionRevision 4.6.2-4-7-2 Pin
Member 244330624-Oct-18 13:00
memberMember 244330624-Oct-18 13:00 
AnswerRe: Revision 4.6.2-4-7-2 Pin
_duDE29-Oct-18 2:32
professional_duDE29-Oct-18 2:32 
SuggestionColor highlighting of installed/not installed Pin
DanielKenner15-Oct-18 3:42
memberDanielKenner15-Oct-18 3:42 
GeneralRe: Color highlighting of installed/not installed Pin
_duDE23-Oct-18 5:05
professional_duDE23-Oct-18 5:05 
BugTypo in Dialog and GroupBox Titles Pin
DanielKenner15-Oct-18 3:35
memberDanielKenner15-Oct-18 3:35 
GeneralRe: Typo in Dialog and GroupBox Titles Pin
_duDE23-Oct-18 5:06
professional_duDE23-Oct-18 5:06 
QuestionMissing CLI Sample :) Pin
phenixcorp23-Aug-18 12:33
memberphenixcorp23-Aug-18 12:33 
QuestionTypo Pin
Phil Parkin16-Aug-18 7:21
memberPhil Parkin16-Aug-18 7:21 
AnswerRe: Typo Pin
_duDE17-Aug-18 2:36
professional_duDE17-Aug-18 2:36 
SuggestionA nice version checker (without code) Pin
Member 1395130016-Aug-18 2:32
memberMember 1395130016-Aug-18 2:32 
GeneralRe: A nice version checker (without code) Pin
_duDE16-Aug-18 3:15
professional_duDE16-Aug-18 3:15 
GeneralRe: A nice version checker (without code) Pin
Member 1395130016-Aug-18 4:55
memberMember 1395130016-Aug-18 4:55 
QuestionRequesting More Pin
Member 1394886415-Aug-18 22:35
memberMember 1394886415-Aug-18 22:35 
QuestionNice, but... Pin
huipri15-Aug-18 11:20
memberhuipri15-Aug-18 11:20 
AnswerRe: Nice, but... Pin
_duDE16-Aug-18 1:20
professional_duDE16-Aug-18 1:20 
GeneralRe: Nice, but... Pin
Youregi16-Aug-18 23:26
memberYouregi16-Aug-18 23:26 
GeneralRe: Nice, but... Pin
huipri17-Aug-18 3:02
memberhuipri17-Aug-18 3:02 
GeneralRe: Nice, but... Pin
konytskyy20-Aug-18 1:34
memberkonytskyy20-Aug-18 1:34 
QuestionUsefull interactive, ... Pin
LightTempler14-Aug-18 10:48
memberLightTempler14-Aug-18 10:48 
AnswerRe: Usefull interactive, ... Pin
_duDE15-Aug-18 1:14
professional_duDE15-Aug-18 1:14 
GeneralThx and a question to result Pin
LightTempler15-Aug-18 10:24
memberLightTempler15-Aug-18 10:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web03 | 2.8.181207.3 | Last Updated 29 Oct 2018
Article Copyright 2018 by _duDE
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid