Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > ClickOnce Deployment
 

ClickOnce Deployment

Hoping there might be some in here who have experience with ClickOnce and may be able to provide some guidance? We're using Visual Studio 2008 (SP1) here.

We have a WinForm application which we deploy to the end user via a standard Visual Studio Setup Project, but we'd like to switch over to ClickOnce to take advantage of the supposed ease of deployment advantages -- it can be deployed from a central location, the application can check for and install its own updates, etc. However, we are running into a couple of issues....

If your application is already out there (installed on the client machines) and knows nothing of ClickOnce, is there a best or most appropriate way to convert over from a Setup Project based deployment to a ClickOnce deployment?

The other, and more imposing issue is that of the seeming limitation of ClickOnce in regards to a single-user and multi-user delpoyment. Reading this article (http://www.code-magazine.com/Article.aspx?quickid=0902031), it discusses this issue under point #2, along with several other limitations of ClickOnce. Additionally, I found a couple other articles that break down the differences between ClickOnce and Windows Installer: http://tinyurl.com/lo882c and http://tinyurl.com/nktb2m. It seems that if you have a single machine with multiple users, *each* user has to download and install the application, which means you can have multiple copies of the same application on one machine, and the auto update portion of ClickOnce will only update a single instance, not all.

Is there a way to have a *single* application on the machine which multiple users of the machine (aka Windows Accounts) all share, can take advantage of the ease of install and updates the ClickOnce offers, but have the versatility and control during install like the Windows Installer?

-- Andrew

AndrewR73  Friday, August 28, 2009 8:58 PM
No. ClickOnce is a per-user implementation. It installs in the user's profile and does not require administrative privileges, which is the primary reason for this limitation.

If you *must* have an all-users installation, you can't use Click Once.

As for converting from a setup-project-deployed installation to a ClickOnce installation, you will need to uninstall the application and reinstall as a ClickOnce app. You can invoke the installation of a ClickOnce app programmatically (process.start("iexplore.exe", urlToApplicationFile)), if that's any help at all.

RobinDotNet
Click here to visit my ClickOnce blog!
RobinDotNet  Monday, August 31, 2009 2:09 AM
No. ClickOnce is a per-user implementation. It installs in the user's profile and does not require administrative privileges, which is the primary reason for this limitation.

If you *must* have an all-users installation, you can't use Click Once.

As for converting from a setup-project-deployed installation to a ClickOnce installation, you will need to uninstall the application and reinstall as a ClickOnce app. You can invoke the installation of a ClickOnce app programmatically (process.start("iexplore.exe", urlToApplicationFile)), if that's any help at all.

RobinDotNet
Click here to visit my ClickOnce blog!
RobinDotNet  Monday, August 31, 2009 2:09 AM

You can use google to search for other answers

Custom Search

More Threads

• Uninstall leaves v1.1 DLL in GAC
• file detection during an install VS 2005 .NET
• Automatic update
• About cerfiticates renewal
• Another redistributable .NET 2.0 question
• Tracking ClickOnce User Updates
• DataGridView is empty! No columns are shown
• Clickonce settings, .user file and source control
• Application manifest is not semantically valid AND Icon file specified in the application manifest is not valid
• How to include a data directory with a CLickOnce application