How to deploy ClickOnce applications to Windows Azure?

Deploying ASP.NET applications (including Silverlight) to your Windows Azure account is easy, but you may want to use Azure services from ClickOnce deployed WinForms or WPF applications. Unfortunately, it is not obvious how to publish ClickOnce applications to Windows Azure accounts. They key in the solution is that you have to publish the application to Windows Azure blob storage, not to the web role, as publishing it to web role simply doesn’t work. Here is the steps to publish your ClickOnce application to Windows Azure blob storage:

  1. Publish your ClickOnce application into a folder on your local hard drive.
  2. Upload this folder to your Windows Azure blob storage.
    1. The easiest way to do this is with SpaceBlock, you can download it from here:
    2. Please don’t forget, you can’t upload files to the root container on blob storages, so create one target container.
    3. Be sure the target container is publicly available on the blob storage. You can allow public access on the container with SpaceBlock with right clicking on the container and choose “Edit Azure Container Access..” from the context menu.

Here is a real example of the above solution:

Wikipedia Explorer


12 Responses to “How to deploy ClickOnce applications to Windows Azure?”

  1. billy burditt Says:

    I got ClickOnce to work in the cloud, but when I publish a new version the application is not detecting updates. I have “The application should check for updates” checked, and I have the update location pointing to the URL of the deployment folder in blob storage. Any ideas?

  2. Reggie Chen Says:


    Thanks for the tips. How can I make it handle private access via visiting publish.htm? Windows Azure Storage does not seem to do windows form authentication.


  3. Prashant Says:

    I tried this but not able to get it working,
    I first created my clickonce deploymnet with target on my local machine. Then I uploaded this on the blobstorge as you mentioned. But if I type in that URL of the blob stoarge nothing shows up under it. SO Generated URL for setup.exe and ran it but then it says files missing

    Also I do not see any Intall Button the way you are displaying on the example Wikipedia Explorer
    can you please help

  4. Prashant Says:

    I gigured out that Inatll Button ting. It was dumb,

    But I am still not able to get application working.
    Also let’s say even if I get my application working and it is installed on my machine. How will it make sure evrytime it start it checks for the update from blob stoarge and not from the my drive?

  5. Prashant Says:

    never mind figured it out.
    thanks for the post

  6. Kazi Says:

    Hi Prashant, glad you could get it working in the end.

  7. Prashant Says:

    well what I am still not able to figure out is how do i make sure only select people can download this application,

    The URL is public one so anyone who knows the URL can download and install this application, I want to add some security so that there is some added check on who can download and install the application.

    Any help?

    • Kazi Says:

      Imo, the best is to add security to the application, not only hiding the clickonce installer.

  8. Prashant Says:

    the secuity is there in the application, But we do not want that user should even be able to download and install it.

    • Kazi Says:

      A more humble answer to your question: “I don’t know” :-). But i think you can’t really secure the clickonce url, as it is stored in blob storage. If it were stored in a standard web site, you could make it non public, as you can control web site permissions. But this is not case now. Imo the only thing you can do is the security you implement built into your application. Or at least, i don’t know other solution at the moment.

  9. Myles Says:

    Thanks for your post, I found it very helpful to get our ClickOnce app working on Azure!

  10. Pravin Says:

    ClickOnce not working when application needs to be download prerequisite file from blob location. It gives downloading error
    while intalling prerequisite setup.

    Pravin jape

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: