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.

clip_image002

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.

https://ProjectName.codeplex.com/releases/clickonce

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

image

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:

clip_image006

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.

clip_image008

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.

clip_image009

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.

clip_image011

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.

clip_image013

Comments

  • Anonymous
    July 12, 2010
    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! :)

  • Anonymous
    July 12, 2010
    Excellent work, thanks! I'll be updating my projects to use this as soon as possible.

  • Anonymous
    July 12, 2010
    Nothing else to say but: Great work and fantastic news! Perhaps this could finally give ClickOnce the publicity and spread it really deserves. :)

  • Anonymous
    July 12, 2010
    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 :)

  • Anonymous
    July 12, 2010
    This is an excellent feature - thanks for adding this. Note that your blog states "projectname.codeplex.com/.../clickonce" as the requisite URL, but the screenshot has "projectname.codeplex.com/.../clickonce". Which one is correct?

  • Anonymous
    July 12, 2010
    Thanks for making my wishes come true!  I know it was a long time coming but this is great news!

  • Anonymous
    July 12, 2010
    @Paul - No, we still do not support hosting Silverlight XAP files. @Kent - the screenshot was wrong, I've corrected it. Thanks for noticing!

  • Anonymous
    July 12, 2010
    Great!

  • Anonymous
    July 15, 2010
    Ahhh... fantastic! I'm looking forward to this!! BTW, loading this page from the south of france - all the images are URL not found.

  • Anonymous
    July 17, 2010
    thanks! this is wonderful news for our LvS project

  • Anonymous
    July 19, 2010
    Yea!!!!!!!!!!!!  Thanks so much.....  Maybe someone will write an extension to vs2010 so that does the zip and upload for you automatically.... :)

  • Anonymous
    July 19, 2010
    @Brady - Talk to @aasoft on Twitter, he's working on something.

  • Anonymous
    July 19, 2010
    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.

  • Anonymous
    July 19, 2010
    @Brady (and anybody else) - if you are interested, here's my take at this: cpvspublishaddin.codeplex.com Please post comments and/or suggestions at the project page.

  • Anonymous
    July 19, 2010
    @Brady - we'll need to look into that scenario.

  • Anonymous
    July 22, 2010
    @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. outlook2007dit.codeplex.com

  • Anonymous
    October 05, 2010
    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.

  • Anonymous
    November 14, 2010
    The comment has been removed

  • Anonymous
    November 14, 2010
    @Alex - can you contact us at www.codeplex.com/.../contact

  • Anonymous
    April 27, 2012
    Nothing else to say but: Great work and fantastic news!

  • Anonymous
    September 07, 2012
    Well done.

  • Anonymous
    January 03, 2014
    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).