How can I identify which applications depend on .NET 8 or .NET 9 before end of support?

0
0
Asked By MellowPine47! On

We manage around 200 Windows laptops through Intune and want to prepare for the .NET 8 and .NET 9 end-of-support dates in November. Detecting which machines have those runtimes installed is easy, but I need to determine which applications actually depend on them.

I'm considering an Intune-deployed PowerShell script that checks installed runtimes and desktop runtimes, searches for *.runtimeconfig.json files referencing .NET 8 or .NET 9, and looks for self-contained applications with bundled files such as coreclr.dll. I'm also wondering how practical it is to detect single-file applications that package the runtime inside their executable.

The main concern is reliability with third-party software. A computer might have .NET 8 installed even though no application uses it, while another application could include its own .NET runtime and not appear in the normal runtime inventory. I'd also like to collect the results centrally so we can analyze usage across the fleet.

How would you approach this inventory and dependency check?

3 Answers

Answered By CedarOrbit5 On

Treat the installed runtime list as only a starting point. Self-contained applications can carry their own runtime, and single-file deployments may bundle most or all of it inside the executable, so they may not show up in global runtime inventory or have an obvious runtimeconfig file. For those cases, check application directories for files such as coreclr.dll and hostfxr.dll, and prioritize vendor documentation or testing for software that remains ambiguous.

Answered By VioletMosaic31 On

A controlled removal test can reveal dependencies, but I’d use it only on a small pilot group or disposable machines. Removing the runtime fleet-wide tends to produce a wave of application failures and support tickets. Also keep framework versions separate from modern .NET: older .NET Framework applications, such as those using 3.5 or 4.8, are a different compatibility case and won’t necessarily be covered by the same checks.

NorthwindEcho64 -

Some vendor products have very specific runtime requirements, so comparing the scan results with the vendor’s supported versions is still important. A newer runtime being installed does not automatically mean every application can use it.

Answered By QuartzHarbor82 On

For framework-dependent .NET 6+ applications, the most useful indicator is usually the application’s *.runtimeconfig.json file beside the executable. It identifies the target framework and runtime version. We used a daily scheduled PowerShell scan to enumerate those files, count the runtime versions found, and store the results in the registry. Intune can then run a compliance or inventory script that reports devices where the .NET 8 or .NET 9 count is nonzero.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.