views:

1111

answers:

3

I developed a win forms app targeting .net 2.0. All of this is in Visual Studio 2008 sp1.

I did this because I didn't really need 3.0+ features in the app. and I didn't want the clients to have to install a gigantic framework when they could just install a semi-huge one.

Well, when I create a setup project for the app, build it, install it, it wants me to install .net 3.5. I am targeting 2.0 in both the windows app and the setup project.

Is it possible to make the setup project with only a prerequisite of 2.0 in VS 2008?

+9  A: 

Yes. By default a setup project in VS2008 will want to include the 3.5 redistributable. You need to switch that to the 2.0 redistributable. Try the following

Your setup project should have a folder called "Detected Dependencies" when viewed in Solution Explorer. One of the values will be "Microsoft .Net Framework". Double click on that node which will open up the "Launch Conditions" page. There will be a node in the tree named ".Net Framework". Select that and hit F4 to bring up the properties window.

In the Properties window there will be a row named "Version" with the value 3.5.XXX. This is a combo box. Switch it to the 2.0.50727 value.

JaredPar
+1  A: 

Sure. Right-click on the setup project, choose Properties. In the properties window, click on the "Prerequisites" button and select whatever you like.

Adam Robinson
+1  A: 

From .NET 3.5 SP1 on you can also use a .NET Client Profile to deploy just those assemblies and files in the .NET Framework that are typically used for client application scenarios. This enables a smaller, faster, and simpler installation of .NET client applications.

Further information is available in this blog post.

0xA3