What will a C# based GUI on .NET require to run on the user's machine?

What will a C# based GUI on .NET require to run on the user's machine?

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?

    Requires Free Membership to View

    When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to provide a unique online resource for developers, architects and development managers tasked with building and maintaining enterprise applications using Visual Basic, C# and the Microsoft .NET platform.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchWinDevelopment.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchWinDevelopment.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.


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