- Product name
- Publisher page
-
- [Microsoft|Microsoft]
- Category
- Application Deployment Software
- Release
- TKU 2024-Feb-1
- More information
- Publisher link
Microsoft .NET is a software development framework.
Product Component | OS Type | Versioning | Pattern Depth |
|---|---|---|---|
Microsoft .NET Framework | Windows | Package, Registry | Key based on version, architecture (if applicable), type and host key |
Microsoft .NET Core | Active, Package | ||
Microsoft .NET Common Language Runtime | Active, |
Microsoft .NET runs on Windows only. So this pattern supports Windows only.
All patterns trigger on all Windows hosts.
Microsoft .NET Framework
Powershell
We get a list of versions of Microsoft .NET Framework installed on the system from the following PowerShell command: RuntimeInformation.FrameworkDescription
Registry
We get a list of Microsoft .NET Framework versions installed on the system from the following registry keys (this follows the advice in Microsoft documentation):
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\\v4\\Full\\Release (covers versions 4.5 to 4.8)
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\\v4\\Full\\Version (covers version 4.0)
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\\<version_dir>\\Install (for each version 1.1, 2.0, 3.0, 3.5)
- HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\{78705f0d-e8db-4b2d-8193-982bdda15ecd}\Version (covers version 1.0).
For versions between 1.1 and 4.0, we will only create a RuntimeEnvironment node if there is a matching Microsoft .NET package with the same version. If a version is uninstalled the old registry key may remain, but the old package version is less likely to.
Package
The pattern with create RuntimeEnvironment for every version that has a package name that starts “Microsoft .NET Framework”.
Microsoft .NET Core
The pattern creates a RuntimeEnvironment node for every .NET Core version listed in command %programfiles%\dotnet\dotnet.exe --info (%programfiles% is a system environment variable).
The pattern also created a RuntimeEnvironment node for every version that has a package name that starts “Microsoft .NET Core Runtime”.