.NET has become a popular technology among software developers and comsumers. I was thinking if it would be a wise decision to develop a Windows Forms based product in .NET that can be downloaded by thousands of customers around the world. The real problem could be the framework installation that has grown considerably with the .NET versions.
v2.0 had a decent 22MB install but the latest v3.5 goes beyond 150MB and can prove to be a deciding factor for customers. I have heard of some tools that do a type of "static" linking for .NET assemblies (e.g. ILMerge) and can be used to create small self contained executables but the question is can these tools be used in production environment? he ILMerge tool was a Research tool and I think it never made it to VS installation.
I have a product to develop that needs a very nice looking user interface which can be accomplished using the WPF support. But I am not sure if customers would like to download a 150MB framework (Not sure how big is v3.0) for a 4MB application. If I develop in .NET 2.0, I loose support for WPF. Does XP, Vista, Windows 7 come with a preinstalled .NET framework?
-- UPDATED BASED ON COMMENTS --
The application will be downloaded from a website and will not have a distributable media.
- Use .NET 2.0 - This wont let me use WPF so I will loose on the fancy stuff unless I use some third party skinning tool.
- Use the Client Profile to strip down the installation - The installation will come down to around 30 Megs and I will retain WPF/WCF support along with the new framework features.
Supported OSes
Win 98, ME, 2000 - Full install of Runtime required Win XP SP2, SP3, 2003 (I think these have .NET 2.0) Vista, 2008 - All version have atleast v3.0 Windows 7 - v3.5