<p>I'm developing an application that is targeting the .NET 3.5 Framework. The application's setup installs the .NET <strong>2.0</strong> runtime on the target machine. So far I haven't had any issues with doing this, but I'm wondering what problems I'm going to have down the line. Do I <em>need</em> to be installing the <strong>3.5</strong> runtime?</p>

<p>I must package the .NET runtime installer into our installation (no network install). The size of the runtime installer is the issue. The .NET 2.0 runtime installer is 23MBs (manageable), the .NET 3.0 runtime installer is 50MBs (getting big) and the .NET 3.5 runtime installer is 200MBs (yikes!). What the heck is in those extra 170MBs?</p>

This is a tough question to answer, because ultimately it depends on what .NET 3.5 features you are using.  If you are using some of the new libraries, such as LINQ, then yes, you'll need to install the 3.5 runtimes.  However, if you are just using some of the new syntatic sugars introduced in 3.5, you may not.  The reason for this is that .NET 3.5 is 100% compatible with the 2.0 CLR.