How do I find what programs use .net on my server?

  • Thread starter Peter J. Dickason, MCSE
  • Start date
P

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
 
C

cubaman

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top