Reputation: 6675
.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.
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
Upvotes: 3
Views: 284
Reputation: 27509
Various versions of the .NET framework do come pre installed with Vista and Windows 7:
If you are really concerned about the download size you should take a look at the client profile. This is a cut down version of the framework that includes just the bits most important for client application development. I believe its ~30 MB in size. Support for it was patchy in 3.5. It only worked on XP 32bit and only if no other framework versions were installed, but looks to be much better in 4.0. It now works on all platforms that support the full .NET framework even if they already have another framework version and comes in re-distributable form as well as a web installer See here
Going beyond the technical details, you do need to consider your target market. Different markets have different base lines and requirements. Remember you can always bundle up the .NET installer with your application all on one CD if you are physically distributing the media. I'd say in most cases it shouldn't be a problem (particularly if you target the client profile), I'd only be worried if you were targeting a specific and small market sector that had very strict requirements on what software was allowed.
Upvotes: 4
Reputation: 31611
It can certainly be a concern for users with slow network connections. One solution is to restrict development to not use newer features (that is what I do) and providing a link to the .NET 2.0 runtime on your application's installation instructions web page. This will work fine for Windows Forms (although it will not be possible to use WPF and some of the newer language features).
Upvotes: 1
Reputation: 31611
If off-line installation of .NET is not required then the online installer can be used and the actual download size will be below 60 megs (depending on how much is already installed).
Upvotes: 0
Reputation: 31611
There is also the .NET Framework Client Profile Preview that should reduce the .NET Framework download size to 28 MB. It includes WPF.
Upvotes: 1
Reputation: 4867
Make it so wonderful clients would download a 1GB framework :).
Now seriously, as XP and all versions above come with .NET preinstalled, what are you worrying about?
You could just target .NET 2.0 for now (unless commited to WPF) and, after 3.5 gains enough popularity, switch.
Upvotes: 0
Reputation: 86779
If you worried about the size of the install then I would target the .Net 2.0 framework over the .Net 3.5 framework - if you are just doing a basic windows forms application (no WCF, WPF or Linq etc...) then the .Net 2.0 framework has 90% of the functionality of .Net 3.0 or 3.5, and it also present on a much higher percentage of machines (80% according to this blog)
In VS2008 I've modified my project templates to make this the default.
Upvotes: 3
Reputation:
Ok, so let me ask this stupid question. Why have you confined yourself to a standalone Desktop client rather than a Web application? You could do the fancy stuff using Silverlight. One of the client with whom I worked, does have a stand alone client in the market but eventually wants to move it to the Web since he needs the Mac users too.
Upvotes: 0
Reputation: 13384
I don't think it's a deciding factor, most of the time. Vista has .NET 3.0 already packaged with it, I believe. Plus, Java is in the same boat (requiring a JRE) and I don't know of any software who has really suffered from the "overhead" of downloading a run-time platform like Java's or .NET.
I strongly believe it's better to think of these platforms as de facto standards; So many applications require them nowadays; chances are most of your potential users already has them installed.
Upvotes: 0