My attempt to use DropBox public folder as a storage for our ClickOnce application files failed. It was close though. It would have been a great way to reduce the traffic to our sever: all requests to download over-300MB game files would go to DropBox instead of to our server.
ClickOnce application is represented by a file with .application extension. Usually, you put that file, along with setup.exe and all other files that are part of your ClickOnce application package on a server (most likely IIS if you are on Microsoft platform).
All I did was to copy the set of these package files to my DropBox public folder, and then get public URL pointing to the .application file. Then put a link with this URL on our game website, hoping that ClickOnce installation process would work just like when you have the package on your IIS box. If this worked, it would
greatly reduce the load to our server by off-loading it to DropBox's far superior network infrastructure.
Result: It worked for IE but not for other popular browser like Chrome, FireFox, and Opera.
IE took the .application and understood what to do and kicked off a ClickOnce installation process. Good start! However, with Chrome and FireFox, all I got was a plain XML content of the .application file in the browser window and nothing else.
This behavior holds even if you have Chrome Extension for ClickOnce and FireFox add-on for ClickOnce. They just don't know what to do with .application file.
Using Chrome's F12 Debugging tool, I saw the MIME type of the .application file, when accessed via DropBox public URL, has "text/plain" as MIME type.
That is the problem!
If you google "ClickOnce not working", you typically get two answers:
1. If not IE, install extension/add-on
2. Make sure that MIME type for .application extension is set to application/x-ms-application on your web server (e.g. IIS)
Unfortunately, with DropBox, there is no way to specify MIME type. I wish there were settings that allows me to specify MIME types as I own the contents stored in my DropBox folder (and I am a paid user...).
Anyway, this great idea of using DropBox public folder to host ClickOnce application is not feasible.
One question remains though... how come IE worked? Well, obviously Microsoft wants users to have better experience with their products/schemes, so IE must have treated .application extension specially. I kind of wish they rather not: because IE worked, it took me a while to realize it was MIME issue. If all client agents were presenting the same problem, it would have pointed to the direction of the server.