3
votes

I have a WPF application that I want to deploy to a Public Container in Windows Azure Storage.

WHAT I TRIED:

1. PUBLISH WIZARD OF VISUAL STUDIO 2012

I Tried to use the container url directly from the ClickOnce Publish wizard in Visual Studio 2012. I got the following error:

Failed to connect to with the following error: Unable to create the Web site The Web server does not appear to have FrontPage Server Extensions installed. If FrontPage Server Extensions are installed, this error can occur because the _vti_bin virtual directory is not marked as executable. To correct this problem, run Internet Information Services Manager, select the Web server that has the problem, and then use the Check Server Extensions command

2. ADDING TOOLS

After some research I thought that I needed to install the 2012 Visual Studio Authoring Extensions. That did not solve the problem.

Further research indicated that using the publishing wizard with the blog storage url directly will not work.

3. THIRD PARTY UPLOAD TOOL

SO what I did was publish to a local file on my computer and then use a tool to upload those files to the blob storage. (I used AZURE EXPLORER)

After I uploaded the entire contents of the local publish folder to the Azure blob storage I requested the blob storage URL in a browser, that did nothing, so I used the URL and ended it with the setup.exe. This file was downloaded locally and I ran it. This produced errors. I also tried to use the .Application file and got the same errors.

4. RE-UPLOAD

I uploaded the files again overwriting the current ones thinking there might be a chance they got corrupted the first time. This did not fix it.

5. TRIED SETUP.EXE, PUBLISH.HTM & APPNAME.APPLICATION

The same errors are generated if I use the setup.exe, publish.htm or appname.application files.


Begin Edit #2

6. CONFIRM MIME TYPES AND .DEPLOY EXTENSION

After reading the article suggested by @Gaurav Mantri in the comments, i confimred that my Publish options had check the option to add the .deploy to dll's and I also confimred that the right MIME types are being used as per this article about ClickOnce MIME types. These settings were already correctly in place, so not a solution to my problem.

End Edit #2


ERRORS:

The following are the errors I got while trying to run the setup.exe file from the azure blob storage:

ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of C:\Users\Jordan\Downloads\FTC_Application (1).application resulted in exception. Following failure messages were detected: + Downloading http://******/FTC_Application/FTC_Application.application did not succeed. + The remote server returned an error: (500) Internal Server Error.

COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected.

WARNINGS There were no warnings during this operation.

OPERATION PROGRESS STATUS * [10/5/2013 9:39:52 AM] : Activation of C:**********\Downloads\FTC_Application (1).application has started.

ERROR DETAILS Following errors were detected during this operation. * [10/5/2013 9:39:52 AM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype) - Downloading http://*********/FTC_Application/FTC_Application.application did not succeed. - Source: System.Deployment - Stack trace: at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
....STACK TRACE DETAILS REMOVED FOR READABILITY................... System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state) --- Inner Exception --- System.Net.WebException - The remote server returned an error: (500) Internal Server Error. - Source: System - Stack trace: at System.Net.HttpWebRequest.GetResponse() at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)

COMPONENT STORE TRANSACTION DETAILS No transaction information is available.

QUESTION:

Can someone help me identify why I am getting a (500) Internal Server Error error from Azure Blob storage when running a ClickOnce deployment file (setup.exe or appname.application or publish.htm).

Followup after Second Edit: QUESTION: could this be caused by only using the testsign for the project?

UPDATE:

I have confirmed that you can NOT use the built in publish wizard with azure blob storage. SO the third party upload tool is needed. All of the files can be publically downloaded from the azure blob container. But if I use the suggested url:

http://{AzureAccountName}.blob.core.windows.net/{BlobContainerName}/{ApplicationName}.application

The ApplicationName.application file will download, but when I click on it the error I quote above is generated.

1
Have you looked at this blog post: robindotnet.wordpress.com/2011/02/13/…?Gaurav Mantri
Thanks @GauravMantri, That article is exactly how I published and uploaded my ClickOnce app to Azure. I double checked my MIME types as well and everything was correct.J King
Have you used MageUI to create ClickOnce files? When I was at Cerebrata, our applications are deployed via ClickOnce. At that time we used MageUI for creating the files.Gaurav Mantri
@GauravMantri No I did not use Mage (although I have seen it mentioned a lot), this is my first WPF app. I will download mgaeUI and try it out.J King
MageUI is part of .net Framework so I don't think you would need to download it. Just make sure that you use proper version of it based on the .net framework of your application.Gaurav Mantri

1 Answers

3
votes

You're right, you can not publish directly to blob storage from Visual Studio. You should be able to publish the files locally and upload them, as noted in the article referenced in the comments by Gaurav.

Having said that, check the privileges on the container in blob storage and make sure there is public read access to the blobs. The container can be private, but the blobs can not. You should be able to at least open the publish.htm file (assuming it is in the container, and not in a folder in the container).

Also make sure your installation URL points to the top folder of the blob storage container, so when it does have access to the files, it will find the files correctly.

To make sure it's not your computer having a problem, try this link to the publish page of a test clickonce app I've published to blob storage.