I have developed a C# based GUI on .NET. If I have to install this application on user's machine, what are the minimum requirements expected of that machine for this application to work properly? Is it true that the .NET framework is an absolute must? Isn't there any other alternative or workaround?
Yes, you need to install the .NET framework on the target computer. The .NET languages get
compiled into MSIL (Microsft Intermediate Language) which are called assemblies. The exe and/or dll
output which you will typically be building are called assemblies. These assemblies are compiled to
native code at runtime by the .NET
runtime.
To review the Microsoft recommended requirements for systems capable of running the .NET
Framework look here:
http://msdn.microsoft.com/netframework/technologyinfo/sysreqs/default.aspx
The redistributable prerequisites can also be found here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/NETFx1Redistreq1_1.asp
While the most common deployment tasks will use the Microsoft .NET framework, you can use other
implementations such as Mono. Which is owned and managed by Novell. It is an open source
implementation of the the .NET framework. You can find more information on it here:
http://www.mono-project.com/about/index.html
While other platforms such as Linux or Macs will need to use another framework such as Mono, it
would be highly recommendable to stick with the Microsoft .NET framework. It is freely
distributable, and for the most part is going to be more robust and obviously more thoroughly
tested because more people have installed and tested it. It is no more different than having to
install the VB6 runtime to get VB6 developed applications to run in the days of old. Good luck with
your project!
This was first published in October 2004