0

i am developing WPF desktop application with visual studio. i want the application to be fit all current common OS with no need to install .NET framework before application installation. i asume that the most common OS today are windows7 and windows8. in witch .NET framework should i develop in order to assure this compatibility?

user3719173
  • 387
  • 1
  • 5
  • 14

1 Answers1

0

Refer to this answer on SO for the supported .NET Frameworks per operating system: OS Compatibility for various .NET Framework versions. (it seems to be not totally accurate on the by default installed version on Vista. See MSDN).

If you want to support Windows Vista - Windows 8 (what I would recommend), you could go as far as .NET 4.5.1. The thing you have to keep in mind that this requires the user to upgrade .NET to that version on Vista. Vista has .NET 3 installed by default.

So if you want Windows to support your application out of the box, you have to use .NET 3.

Community
  • 1
  • 1
Patrick Hofman
  • 153,850
  • 22
  • 249
  • 325
  • i want to istall this application on window7 and windows 8 only. if i will develop in .net3.5 will it run for sure on windows 8? – user3719173 Jun 15 '14 at 08:42
  • 1
    Yes. Windows 7 has .NET 4 installed by default and 8 .NET 4.5, so .NET 4 will be a safe choice then too. .NET 3.5 will also run and gives you compatibility with Windows Vista. So it is up to you. – Patrick Hofman Jun 15 '14 at 08:43
  • According to Wikipedia and MSDN, that is wrong. Vista has .NET 3.0 by default and Windows 7 has .NET 3.5 by default. (See http://en.wikipedia.org/wiki/Microsoft_.NET#Microsoft_.NET and http://msdn.microsoft.com/en-us/library/bb822049%28v=vs.110%29.aspx ) –  Jun 15 '14 at 08:44
  • @fmunkert: You seem right in that. Then the SO answer is wrong! – Patrick Hofman Jun 15 '14 at 08:46
  • if i am using .NET 3.5 will it run for sure in windows 8? i understood the .NET 3.5 in disabled in Win8. – user3719173 Jun 15 '14 at 08:50
  • A .NET program compiled under a lower framework version than the running .NET version will work. .NET is backwards compatible. – Patrick Hofman Jun 15 '14 at 09:04