ClickOnce Releases

[Do you tweet? Follow me on Twitter @matthawley]

We deployed the latest version of the CodePlex software today.

Support for ClickOnce Releases

With today’s release, we are happy to announce that our #1 most requested feature, hosting ClickOnce applications directly from the CodePlex website, is now available for all projects! For those that are not familiar with ClickOnce, it is a .NET deployment technology that enables a user to install and run a Windows application by simply clicking a link from a web page. ClickOnce applications are also inherently self-updating, as they check for newer versions as they become available. ClickOnce applications are also “low-impact”, in other words, they do not need administrative rights to install, only install for the current user, and are isolated from other ClickOnce applications.

Since there is no direct way of publishing your ClickOnce application to CodePlex from within Visual Studio, we have attempted to make the process as simple as possible. The next few sections will walk you through the preparation and publishing, and ultimately creating a ClickOnce release on CodePlex.

Publishing a ClickOnce Application

This first step assumes that you have an existing .NET Windows application (Console/Windows Forms/ WPF) that you wish to publish using ClickOnce. When you open the Publish dialog (Build -> Publish) from Visual Studio, the first step will ask for a location to place the published ClickOnce application files. Feel free to change this value to an easy-to-remember path on your computer.


The next step asks where users will be installing this application from. Select “From a Web Site” and type the following in the textbox, replacing “ProjectName” with your project name.

This is a very important step, and the CodePlex software ensures that your ClickOnce application has a valid URL that matches your project.


At this point, you can either click “Next” to walk through a few other steps or you can click on “Finish” to complete the publish operation.

Preparing the ClickOnce Application for CodePlex

If you open up the location where your application is published, you’ll see a folder structure similar to the following:


As you can see, there isn’t just a single executable that can be uploaded. Each version of your ClickOnce application has a folder with the necessary files in it that is contained in the “Application Files” folder. To prepare the ClickOnce Application for CodePlex, zip the entire directory, making sure the *.application file is at the root of the zip file.

Note: This is a mandatory zip file structure that is required. Validation of your ClickOnce application will fail if this is not followed.

Creating a ClickOnce Release

When you create a new release for your project, you’ll notice a new checkbox underneath the release name. When that is checked, a file upload control is displayed. Select the zip file you created in the last step and fill out the rest of the create release form.


A few notes about ClickOnce releases

1. The ClickOnce application becomes your “default file”. There is no way of making another file for that release the default.
2. ClickOnce releases are always public. There is no way of “hiding” them.
3. You can only have 1 active ClickOnce release at a time. All older ClickOnce releases will be “archived”, which means they are still accessible you just cannot make them recommended releases, or update the release’s ClickOnce application.

When the ClickOnce release has been created, you’ll be redirected to view the release.


If you click on the “ClickOnce Installer” link, it will start the download and ClickOnce installer.

Note: The ClickOnce installer will launch only for Internet Explorer and FireFox (should you have the plugin installed). If you are prompted to download the application file, save this file locally and execute it to launch the ClickOnce installer.

Clicking on “Install” will install and launch the application.


Updating a ClickOnce Release

When you have a new version of your project to release, you should follow the same steps for publishing and preparing your ClickOnce application.

Note: Visual Studio should retain the URL that you previously specified during publishing.

When you are ready to upload the ClickOnce zip file, you have the choice of updating the current ClickOnce release or creating an entirely new ClickOnce release. The latter of the two will archive your current ClickOnce release automatically. Both choices will prompt your users to update the currently installed application on the next launch.


Comments (22)
  1. Greg Duncan says:

    This is AWESOME! Thank you guys for finally getting this feature in (in taking with some of the team and Sara a couple times I know how hard and how long you've been working on this beast..).

    Have I said recently how much I think the CodePlex team (and service of course) rocks? Well it's not recent enough! You rock! 🙂

  2. Jason Coon says:

    Excellent work, thanks! I'll be updating my projects to use this as soon as possible.

  3. Gordon Breuer says:

    Nothing else to say but: Great work and fantastic news! Perhaps this could finally give ClickOnce the publicity and spread it really deserves. 🙂

  4. Paul den Dulk says:

    What a great feature!

    A while ago I was looking for a way to host my Silverlight xap on codeplex like this, but didnt see how. Is this also possible? Now my Silverlight app is actually hosted on Google App Engine 🙂

  5. This is an excellent feature – thanks for adding this.

    Note that your blog states "…/clickonce" as the requisite URL, but the screenshot has "…/clickonce". Which one is correct?

  6. Keith Elder says:

    Thanks for making my wishes come true!  I know it was a long time coming but this is great news!

  7. Matt Hawley says:

    @Paul – No, we still do not support hosting Silverlight XAP files.

    @Kent – the screenshot was wrong, I've corrected it. Thanks for noticing!

  8. OmariO says:


  9. Gordon Watts says:

    Ahhh… fantastic! I'm looking forward to this!!

    BTW, loading this page from the south of france – all the images are URL not found.

  10. George Birbilis says:

    thanks! this is wonderful news for our LvS project

  11. Brady Guy Chambers says:

    Yea!!!!!!!!!!!!  Thanks so much…..  Maybe someone will write an extension to vs2010 so that does the zip and upload for you automatically…. 🙂

  12. Matt Hawley says:

    @Brady – Talk to @aasoft on Twitter, he's working on something.

  13. Brady Guy Chambers says:

    Um.. now that I am working this I have a question.  Does this support click once deployment with office add-in?  I don't see a *.application file when I publish.

  14. AASoft says:

    @Brady (and anybody else) – if you are interested, here's my take at this:

    Please post comments and/or suggestions at the project page.

  15. Matt Hawley says:

    @Brady – we'll need to look into that scenario.

  16. Brady says:

    @matthaw Thanks I appreciate your looking into it.  I have a project on codeplex that you could look at if you need/want an office add-in to test with.

  17. @AASoft says:

    I tried the pluggin you suggested however, I get an error on the install 'Unknown error' when it ask for what username I want to run the pluggin under.

  18. Alex says:

    I keep getting an error when uploading. "Invalid ClickOnce zip file. Please specify a valid Installation Folder URL". the URL is correct and i have followed the tutoruial.

  19. fo2a sobhy says:

    Nothing else to say but: Great work and fantastic news!

  20. Fred says:

    Well done.

  21. Jeff says:

    This seems great until you realize that you must sign your code with authenticode to release it with this method to avoid several pop ups that say "dont install this, it is untrustworthy"… and since getting a "cheap" signature costs $100/year you effectively are killing freeware with autoupdate by only supporting this method. might be time to move off of codeplex and over to a different site that supports autoupdate (you dont allow direct downloads, except with click once).

Comments are closed.

Skip to main content