What operating system has .NET 2 version built in? I plan to deploy a .NET application and wonder whether I should include a dotnetfx in the package. Where can I find such information?
Look for "Default in Windows" at http://en.wikipedia.org/wiki/.NET_Framework#Versions
.NET is primarily used in windows environments, but is also availble on unix and macs as part of the MONO project.
It is not a default on many desktop OSs, so you will need to provide it or make sure it is preinstalled.
Sadly, no version of Windows XP has a default installation of the .NET runtime.
Starting with Vista and Windows Server 2008 the 3.0 runtime is included. In Windows 7 and Windows Server 2008 R2 the 3.5 SP1 runtime is included.
For a complete list check out http://en.wikipedia.org/wiki/.NET_Framework_version_list
To answer the first part of the question - no OS has .NET 2.0 pre-installed, but recent versions of Windows do have .NET 3 or 3.5 installed and can execute .NET 2.0 based executables.
Regarding distribution of your product, as a rule of thumb I've always found that it's a good idea to package the appropriate .NET redistributable with your application. It's just one less thing to go wrong when you get to a client's site.