6 Ways to Check .NET Framework Version: Step-by-Step
A vast amount of applications will require the Microsoft .NET Framework to be installed on your system before they will run. When a .NET based application runs on a machine without the correct version of the framework present, the results can be unpredictable. It’s a certainty the program will not work correctly or at all, but what happens to inform the user about the issue differs from program to program. Quite often you will get a rather obscure error message pop up which doesn’t really tell you anything informative.
The application failed to initialize properly (0x0000135). Click OK to terminate the application.
This is a common error message but gives no indication of whether the problem is related to the program itself or something else.
Some programs might be a bit more helpful and warn you a specific version of the .NET Framework is required before installation can continue. Other software could trigger Windows to offer to download and install the missing version of .NET automatically.
A big issue with .NET is it’s a sizable download and when installed can take up several hundred Megabytes of hard drive space. Programs are also built requiring a certain version of .NET so just installing one version probably won’t be enough. For example, Program A might need .NET 3.5 while program B might need .NET 4.6. In that case, you will need both installed on your system.
Windows Server, Vista, 7, 8/8.1 and 10 all come with a version of .NET integrated into the operating system. Since there are many versions of the .NET Framework (from 1.0 up to 4.8) and more than one are often present on the same system to run different applications, sometimes even you as a user might not even be sure which .NET is installed on your computer. Here are a few ways you can find out.
1. Raymondcc .NET DetectorOne way to check which versions of .NET are installed is through the system registry. If a .NET package is installed, its information should be correctly entered in the registry. We decided to use this method and create a little tool which does the plain and simple task of telling you which versions of .NET you have installed.
The tool couldn’t be simpler to use, just run the executable and it will tell you which .NET’s you have by showing them in dark text, the grayed out entries aren’t installed. Hover over an installed package to get its version number. Clicking on a version that isn’t currently installed will take you to its download page at Microsoft. The relevant package information is automatically copied to the clipboard so it can be pasted into help files or on forums etc.
The program is able to detect .NET Frameworks from 1.0 up to the latest 4.8 (including versions specific to Windows 10), is portable and works on Windows XP and above. Any feedback you might have about the tool is welcome.
Download Raymondcc .NET Detector
2. Raymondcc .NET Detector Command Line Edition
There doesn’t seem to be many tools around that allow you to use the command line to easily find out what versions of .NET are installed. As a consequence, we created a version of .NET Detector that works from batch scripts and the Command Prompt instead of a GUI. The output will be shown in the console window.
Run NET_Detector_cli.exe from a script or Command Prompt to get a simple display of the installed versions of .NET. Add the argument /v to include a second column with the full version number of each installed framework.
This tool works the same way as the GUI version and checks the system registry for the installed versions of the .NET Framework. It also works on any XP or above system and detects .NET versions 1.0 to 4.8. Feedback is welcome on this tool as well.
Download Raymondcc .NET Detector CLI Edition
Note: We are fully aware that both .NET Detector tools produce a small number of detections in some online Virus Scanners like Virus Total. Raymond.cc created and hosts these files so we know every line of code and can assure you any detections are false positives.
3. ASoft .NET Version Detector
This program is a small and lightweight portable tool that gives information on all the different versions of .NET Framework that are installed on a machine. If the system does not have a specific version installed, there are handy button links provided to give you access to the related Microsoft webpage page so you can easily download it. A link to download each version’s Software Development Kit (SDK) is also provided.
An installed .NET version will be shown with white text. Clicking the logo next to it will navigate to its install directory. The log box at the bottom shows which versions and related update patches are present, including 32bit/64bit, and the relevant folder locations. The copy button will simply copy all the text in that box to the clipboard.
Go to Help > .NET Version History to see which versions of .NET are installed on which operating systems as standard. ASoft .NET Version Detector checks versions 1.0 to 4.8 of the .NET Framework and can also be run in Windows 2000 and above.
Download .NET Version Detector
4. .NET Version Check
Version Check is aging a bit these days and hasn’t been updated for several years, but it still works. When we tried, Version Check detected the latest .NET Framework 4.8. Make sure to run this tool as Administrator, even if you are an Administrator, otherwise nothing will be shown in the window relating to version numbers.
There is also a check on the version number of the currently installed Internet Explorer which might be useful for older systems. Some buttons are provided for copying the information to the clipboard and printing or emailing it. Inside the zip file, there is a command line version (.com file) that you can use in batch files. The command line version doesn’t need administrative privileges like the GUI version does.
The information provided in both the GUI and command line tool gives a version number as opposed to an easily readable name. That can make it difficult to determine whether minor or service pack versions are installed.
5. Use PowerShell to Detect .NET Versions
While it’s possible to use Command Prompt or PowerShell to get the versions of .NET present on your computer, many methods found online give incomplete results. Like our own tool does, the best method of determining installed .NET versions is by querying the Registry, and PowerShell can do that quite easily.
gci ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -recurse | gp -name Version -EA 0 | where { $_.PSChildName -match ‘^(?!S)\p{L}’} | select PSChildName, Version
The list of names is slightly unfriendly and you won’t get better information like service pack numbers or minor revisions. It also will not detect .NET 1 or 1.1 as they are at a different place in the registry to all other versions.
Another option is downloading a ready made PowerShell script that will detect .NET versions and show the information in a much more friendly way.
The .Net Framework Installed Versions Getter script is hosted on Github and makes the information easier to read for most users. It currently supports and detects from 1.0 up to the latest .NET Framework 4.8.
Download .Net Framework Installed Versions Getter
6. Checking Manually
There are a few manual ways of checking which versions of Microsoft .NET Framework are installed. One of them is through “Programs and features” or “Add and Remove Programs” in Control Panel. This is a very basic way to check but could also be wrong because the uninstall entries that are displayed can be easily be removed from the registry or left over from a previous install. Also, versions of .NET that are integrated into the operating system will not show.
Another manual way of checking is to look in the folders where most of the .NET program files are stored to see what’s in there. The location is in the C:\Windows\Microsoft.NET\Framework folder and also the Framework64 folder for 64-bit systems. Hover over the folder to get its size in the info tip (we use Free Commander below to get all folder sizes at once).
The .NET version 1.0 and 1.1 folders above are practically empty on this system. Therefore it’s safe to assume they are not installed. The v4.0.30319 folder can be misleading because it could contain any single version of .NET 4 from 4.0 up to 4.8 or above. Open the folder and hover over a DLL or executable file to get an info tip that shows the real installed version of .NET 4.
It’s not the most accurate method but at least gives you a rough idea of what’s installed by just using Windows File Explorer.
The .NET Version Detecting tools are handy for getting some useful information about exactly what versions a user has installed which is good for troubleshooting. If an application requires .NET v4 or higher and you only have v3.5, problems or crashes will likely be averted by installing the correctly required version.
I have created a windows “remote diagnostics tool” that will detect the correct “.net core runtime” and “.net framework versions” on a remote pPC on the network.
It can do a lot of other things too : Its free and you can download from my website : appslife-rdt.appspot.com
There are a couple of free programs which will also give you information in respect to installed .NET frameworks.
PCFerret Pro: pcferretpro.com
Speccy: ccleaner.com/speccy
Both of these have been around for years.
Hope this helps.
Try this
dir C:\WINDOWS\Microsoft.Net\Framework\v* /O:-N /B
Thank you for sharing this information!!
Thanks so much, works perfectly and even saw my .NET 4.8.
Or you can execute PowerShell script
github.com/peterM/Net_Framework_Installed_Versions_Getter
Thanks alot.
On Windows 8.1 x86 clean install:
1. Installed .NET Framework 4.6.2 and Raymondcc .NET Detector could detect the version but v4.5 was gone I guess cause the program showed as not installed.
2. Afterwards I installed .NET Framework 4.7 but oddly Raymondcc .NET Detector couldn’t detect any version anymore, except v3.5, v2.0.
Thanks for the feedback.
1. v4.6.x is an update to v4.5 and replaces it on the system, so you can’t have both 4.5 and 4.6.2 installed at the same time.
2. The tool was last updated in April when .NET 4.7 was only available for Windows 10 Creators update and the standalone installer hadn’t been released. The tool has now been updated to detect the installer version of 4.7. Do note that 4.7 is also a replacement update for 4.5 or 4.6, so you will get only 4.7 and not 4.6.x or 4.5.x.
Great job indeed
Dear Dale Chen,
This is very good offer. Thanks for this beautiful comment.
PowerShell solution provided by Microsoft: gallery.technet.microsoft.com/How-to-determine-versions-d3669799
To find .NET Framework versions by viewing the registry (.NET Framework 1-4)
On the Start menu, choose Run.
In the Open box, enter regedit.exe. You must have administrative credentials to run regedit.exe.
In the Registry Editor, open the following subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.
(taked from msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx)
this doesnt work on the latest windows versions
thanks natell!
wmic /namespace:\\root\cimv2 path win32_product where “name like ‘%%.NET%%'” get version
it will show the installed version
Another way to detect is using the “Microsoft Web Platform Installer” which will exactly show the Framework versions currently installed as well as the ability to download and install versions from it instantly.
Nice work,
Can you please upgrade this tool to detect .NET Framework 4.5.1 and 4.5.2
Currently, I need to check the minor version as per my product prerequisites, would be more beneficial if we get to know the Minor versions using this tool
If you put your cursor over 4.5 it will show you the version. Mine says 4.5.50938
Thank you so much for the detector app! <3
Thank you for the Raymondcc .NET Detector app. It was exactly what I needed to fix an “Unhandled Exception” error by helping to install the missing .NET Framework(s) ! :-)
Thanks a lot for Raymondcc .NET Detector. Very quick, very easy, very helpful,
works well fantastic
Try this
dir %windir%\Microsoft.NET\Framework/AD
wmic /namespace:\\root\cimv2 path win32_product where “name like ‘%%.NET%%'” get version
Thanks a lot. Very useful for getting results from users.
Thanks for the fantastic tool!
Fantastic answer
Thanks, that’s helping a lot.
worked thanks!
Thanks a lot
Woww. I’ve never thought about this. Thanks a lot.
thanks raymond, i was trying to use quickpwn and didn’t realize i needed .net so thanks for letting me know and helping me.
Thanks, I was not sure what version I had, as I know I had got a new one but now I do!!!
Many thanks. ;)
Thanks dude. this work very fine.
useful tool man
thanks
Woohoo… excellent job Raymond…makes my life easier when checking my customers’ PC(s)
Thanks Ray..
very useful.. Thank you Ray~
thanks Raymond