Discussion:
How do I find what programs use .net on my server?
(too old to reply)
Peter J. Dickason, MCSE
2010-09-28 20:50:59 UTC
Permalink
We are a Citrix shop hosting a number of third party applications which
require different versions of .net. So we have 2,3, and 3.5 installed. We
are now asked to install an app which requires .net v4 so I need to know
what currently installed applications use .net so I have an idea what
version 4 will potentially break so I know what to test.

thanks
Pete
cubaman
2010-09-29 08:44:24 UTC
Permalink
On Sep 28, 10:50 pm, "Peter J. Dickason, MCSE"
Post by Peter J. Dickason, MCSE
We are a Citrix shop hosting a number of third party applications which
require different versions of .net.  So we have 2,3, and 3.5 installed.  We
are now asked to install an app which requires .net v4 so I need to know
what currently installed applications use .net so I have an idea what
version 4 will potentially break so I know what to test.
thanks
   Pete
Hello Pete:
Nothing should be breaked, as there is side by side execution:
"One of the new features in CLR 4 is In-Process Side-by-side (Inproc
SxS) – a feature that lets you use multiple versions of .NET in the
same process. For applications that use add-ins (particularly COM add-
ins), in-proc SxS lets us provide a level of compatibility never
before possible. If you write applications that use an add-in model
(for Office or other hosts), you’ll want to understand the details of
in-proc SxS, so that you can make use of the new hosting APIs that
provide this compatibility. If you are thinking about using .NET 4,
but worried about the impact of installing .NET 4 on end user
machines, then you’ll want at least a high level understanding of in-
proc SxS – it’s the feature that makes installing a new version
of .NET less impactful than ever before. Finally, even if none of the
above apply to you, you still might find this interesting – it’s
probably the most complex change to the CLR in .NET 4."

http://blogs.msdn.com/b/clrteam/archive/2009/06/03/in-process-side-by-side-part1.aspx

Searching for Net applications is about finding any dll exe with a CLI
header:

".NET assemblies are regular Win32 PE files. Operating System doesn’t
differentiate between .NET assemblies and Win32 executable binaries;
for it, they are same normal PE files. So how does system get to know
if this file is a managed assembly and if yes, how to load CLR? How OS
loads CLR is a separate discussion, I’ll just talk about how to check
this header for validating the file if it’s a managed assembly or not.
Well if we go through the ECMA Specifications Partition II – Metadata
which is shipped along with .NET SDK, we see that we have a separate
CLI Header in the PE Format. It is the 15th data directory in the PE
Optional Headers. So, in simple terms, if we have value in this data
directory, then it means that this is a valid .NET assembly, otherwise
it is not. "

http://geekswithblogs.net/rupreet/archive/2005/11/02/58873.aspx

Best regards.
Peter J. Dickason, MCSE
2010-09-29 12:11:01 UTC
Permalink
cubaman, thanks for the help.
cubaman
2010-09-30 08:57:49 UTC
Permalink
On Sep 29, 2:11 pm, "Peter J. Dickason, MCSE"
Post by Peter J. Dickason, MCSE
cubaman, thanks for the help.
You're welcome.

Loading...