Find .NET version required by your applications

I have a server with Microsoft .NET 1.1 installed and I have no idea why.

Naturally, we’ve lost all records regarding what is installed on that server. We have no idea why an old version of .NET is installed and which applications require the old version. In fact, we have no evidence that the old version is actually required.

So, how can I find out what .NET applications on this server require 1.1 ?

Powershell!

This is what I came up with:

There is a limitation here. This will report the minimum version of the .NET runtime required for each executable and dll, but it will not tell you the maximum allowed. I have no idea how to determine that information from within powershell.

So this is useless, right? In my experience, this will let you rule out the vast majority of your applications. Lots of applications are written to target CLR 2.0 at a minimum, so any application reporting 2.0 or higher should work fine without .NET 1.1. I can rule them out and then focus my further research on the applications which can run on .NET 1.1.