These days a vast amount of applications require the Microsoft .NET Framework to be installed on your system. 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 you no indication whether the problem is actually related to the program itself or is a problem with .NET.
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 actually be intuitive enough to offer to download and install the missing version of .NET automatically.
For those that are not sure what it is, the .NET Framework is an application development platform that makes it easier for software developers to create a range of Windows applications and services. Essentially it makes coding programs faster and less troublesome. A .NET application also runs inside its own virtual machine which is helpful from a security standpoint.
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 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 (1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and 4.7) and more than one are often present on the same system to run different applications, sometimes even you as a user might not even know which .NET is installed on your computer. Here are a few ways you can find out.
1. Raymondcc .NET Detector
One 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. Clicking on a non installed package will take you to its download page at Microsoft. The information from the window is copied to the clipboard to paste into help files etc. The program is able to detect frameworks from 1.0 up to the latest 4.7, is portable and works on Windows XP and above. Any feedback you might have about the tool is welcome.
2. Raymondcc .NET Detector Command Line Edition
Although there may be a simple tool out there that allows you to use the command line to easily find out what versions of .NET are installed, we haven’t come across one. 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 show 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 .NET. Other checking methods are not as reliable. It works on any XP or above system and detects .NET versions 1.0 to 4.7. Feedback is welcome on this tool as well.
Special Note: We are fully aware that both .NET Detector tools produce a small number of detections in some online Virus Scanners like Virus Total. Raymondcc created and hosts these files so we know every line of code and can assure you the 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 detects versions 1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5 and 4.6 of the .NET Framework and can also be run in Windows 2000 and above. The official website is dead but the tool can still be found online.
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 .NET Framework 4.6. However, it never detected the ActiveX Data Objects library (ADO) which is a component of .NET. You probably wouldn’t be too worried about that, though.
There is also a check on the version number of the currently installed Internet Explorer which might be useful. 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 etc.
The information provided in both the GUI and command line tool gives a version number as opposed to an easily readable name. That makes it difficult to determine whether minor or service pack versions are installed. For instance, .NET 4.6.30319.0 actually refers to .NET 4.6.2 but you wouldn’t know that just by looking at the number.
5. 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.
You’ll notice from the image above, the .NET version 1 and 1.1 folders are practically empty on this system. Therefore it’s pretty safe to assume there’s nothing installed in those folders. As you can see, it’s not a particularly accurate method but at least gives you a rough idea 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.