I finished my first set of WCF services that my enterpise application exposes. I am ready to deploy them and I found some problems. The .NET 3.0 is 'only' a set of libraries build on top of .NET 2.0. I thought all I need to do is to publish the libraries (I need WCF only) with my application in the bin folder - xcopy it. Unfortunatelly it occurs it's not so easy. I extracted the libraries out of my GAC and tried to execute my test app on a clean machine. It didn't work as I used app.config to configure the WCF - I had an exception that said something about app.config (I do not remember it at the moment). I posted the issue on WCF foum and it occurs the .NET 3.0 must be installed on the machine (at least if you want to configure it in app.config as the setup registers config handlers - or whatever the name of this stuff is - in your machine.config file)
OK. I decided to extend my setup to include the .NET 3.0 as a prerequisite. I downloaded:
.Net 3.0 bootstrapper - this is bootstrapper that downloads the 'real' setup during instalation. I didn't inlude it in my app for obvious (at least to me) reasons.
.Net 3.0 full redistributable - this is full redistributable and I use this as a prerequisite to my application (it has approximately 50 MB). Hopefuly setting a .NET Framework 3.0 as prerequisite instals also the .NET 2.0.
.Net 3.0 merge module - I hoped I could find merge module for .NET 3.0 but it's not available.
Here is also an article that helped me understand the .NET 3.0 deployment scenarios: http://msdn2.microsoft.com/en-us/library/aa964978.aspx
I still do not know how to distribute the .NET 3.0 with ClickOnce but I will have to find it out. I'll post it when I find it.