Thursday 26 March 2009

Creating ClickOnce Projects

It is quite easy to create ClickOnce projects. These are normal .Net projects that are built using the Publish option on the Build menu.

All the settings related to publishing a ClickOnce project are found on the Publish tab of the project properties screen.

The screen shot below shows the settings on the main screen.



The most important things to bear in mind are:
1) The publish location must be reachable from the development machine. This is the equivalent of the release folder in a normal build.
2) The install folder must be reachable from the client machines. This can be a web server or a network share (can also be a CD). You will copy the files to this location once they are published.
3) Click theUpdate button to bring up the update options screen. This is important because by default the update folder is the same as the publish folder. In reality it should be a location reachable by client machines.

The reason that the update and install locations are important, even though we will be copying the installation files to a specific location is because they are included in the application manifest and the deployment manifest.

It is possible to specify .Net Framework and certain other packages as prerequisites. However, not everything is supported here, so it may be necessary to install certain other things manually, or even edit the Publish.htm file to include links for them too.

On visiting the client site I encountered an error message "The application requires that assembly *** be installed in the Global Assembly Cache". This message related to SQL SMO.
As it happens, all the files required for SMO were already installed on these machines.

The answer is:go into the VB project properties page, publish tab, click application files.
Then for the files that will be installed separately and not updated as part of the clickonce package, change their setting from Prerequisite(Auto) to Include(Auto).





No comments: