Hmm, the tricky question is mainly because there are many options available:
- Windows forms
- WPF
- Silverlight
- HTML5 / Asp.Net
Contrary to whoever says “X is dead,” all 4 technologies are alive and well . Moreover, all these technologies are different from each other, there is no simple prescribed answer “Use X” that everyone can give, since each technology is suitable in different situations. The choice of which one to use depends entirely on the specific requirements that you have.
I will start by looking at your requirements one by one:
1. Development / deployment in Windows XP / 7.
Any / all of the above are suitable for use with Windows XP / 7.
2. Easy to use and visually appealing to a less experienced user.
It is completely possible to use any of the above methods to create easy-to-use and visually attractive interfaces, however, it is worth noting that these technologies are very different from each other - the HTML5 application will have a completely different appearance (not necessarily better or worse) than, for example , a Windows Forms application.
Without knowing more about the specific requirements, it is difficult to say more at this stage, however, of course, you should not exclude any options simply on the basis of convenience and appearance, since other factors (including general Polish) will have a much greater effect .
3. Regular reporting of data by a non-profit organization.
If you have any specific requirements for displaying reports, you can look in the report / chart libraries available for each of the above technologies.
Although there are various options for displaying reports + graphs in all 4, you may find that some options stand out.
4. Having .NET as the preferred end.
All of the above are .Net technologies.
Next, consider some other considerations you should consider (in order of priority)
Are you already familiar with one or more of these technologies?
If you already have experience in developing web applications (for example), then if other requirements do not exclude a web application, you may prefer a web solution.
Decide between the web interface and the Windows-based interface.
At this point, you must choose between a web interface and a Windows-based interface.
I would always opt for a Windows-based application (such as WPF or Windows Forms) if there is no good reason to approve a web application, since you are much less limited in terms of how the user interface should behave using Windows.
Look at the merits of each technology
At this point you should be in two races - WPF and Windows Forms and HTML5 vs. Silverlight. If you did not have previous experience, you will need to consider the individual merits of each technology (including deployment problems - WPF and Silverlight require at least 3.0 or higher for installation on the client) to make an informed decision - this may be a good time to look to some simple prototypes.
If the choice is between HTML5 and Silverlight, then I'm afraid I can’t help, since my experience with Silverlight is limited, however, if your choice is between WPF and Windows Forms, then my advice will be to choose Windows Forms, if only you have a requirement that would be difficult to achieve in Windows Forms, and easy in WPF.
WPF is fantastic in some things (like displaying custom grids or flashy animations), however, if you don't need any of these things, then Windows Forms is simpler, more mature, and (IMO) easier to understand, although a Windows Forms application may not have fancy graphics, at the end this polish determines whether the application is really attractive and easy to use, and in my experience Windows Forms applications are easier to polish.