Download the signed .NET 3 redistributables (not only the bootstrapper):
Note that the .NET 3 packages must be copied to this directory on the developer PC:
\Program Files\Microsoft Visual Studio 8 \SDK\v2.0\BootStrapper\Packages\NETFX30
Then change the 'Publish' configuration of your WCF client (menu: Project > Properties > Publish > Prerequisites) to include the ".NET Framework 3.0" as a prerequiste and check the "Create setup program to install prerequisite components" as shown in the figure:
Note that ClickOnce will download and install the .NET 3 run-time when added as a prerequisite as shown in the figure, provided that you have a recent version of ClickOnce. Note also that the user must be 'local admin' on the target PC to be able to install the .NET 3 run-time.
Set the applicable check-for-updates options using the 'Application Updates' dialog before you publish the WCF client.
Finally, set the publish location and installation mode to "offline" and click the 'Publish Now' button. Alternatively, use the publish wizard, which is also accessible from the Build menu or by right-clicking the project and selecting 'Publish'. Wait for the publish build process to complete, then test the ClickOnce deployment from the installation page that was generated at the selected publish location.
The WCF client must have "full trust" to run. Configure this using the 'Security' tab in the project properties as shown in the figure:
Read more about ClickOnce 'Deployment Prerequisites' at MSDN.
[UPDATE] Read troubleshooting details at Joe Wirtley's blog.