views:

40

answers:

2

Hello all i like to build .net GUI application and to be able to deploy it on wide windows version as possible for non teachi persons , what should i be planning before i start to write the code like which minimum net version to compile which GUI to use ? include the .net framework in the installation or not ? to include net framework checker in the installation and such . i like to avoid as much as posible porting , the application is simple GUI application ( think outlook express kind of application )
experts what do you think ?

A: 

Depending on how fancy you want to make your code, you can either stick with .net 2.0 or do .net 3.5. You only need the latter if you're going to use the features of .net 3.5 (WPF/WCF/etc).

Also think about any additional external libraries you might want to use (persistence for example).

However, if you use the Visual Studio installation project, then VS will arrange most of the stuff for you.

Henri
Actually, if you want it simple, the VS setup project may be the easiest solution. I found it too limited though.
OregonGhost
+1  A: 

The decision whether to include the .NET redistributables depends on whether you expect your users to have Internet access on installation or not. If they are online, you can include a Bootstrapper that will download all requirements (there's one on codeproject.com, I think). If they are more likely to be offline, just include the redistributables. You may want to include the Client Profile, though there's no supported Offline version - but you can easily extract the installers from the full package (it's about 22MB then).

Go with Windows Forms if you don't actually need WPF. This way, you can stick with .NET 2.0 (and can support Windows 2000). If Windows Forms is not enough or you really, really need LINQ, go with the 3.5 Client Profile.

On the other hand, utilities for many games are written in Windows Forms with .NET 2.0 and simply require the framework, which seems to go well enough with average users. Remember that Vista has 3.0 pre-installed, and Seven has 3.5 SP1 pre-installed. XP installations may have 2.0 from some application or Windows Update.

OregonGhost
how can develop csharp app and to be sure it will run on all windows versions above and including xp ? if they have net 2.0 installed ?
XP currently supports all .NET versions up to 3.5 SP1. I don't know if it will support .NET 4.0 (seems like the right moment to make the jump to 7). You need to stay with .NET 2.0 only if you want to support Windows 2000. And even then it's not a nightmare, 2.0 is fine for many applications.
OregonGhost