views:

441

answers:

3

Hi All,

ClickOnce is currently a very undersupported technology in my opinion. Currently only Internet Explorer can natively execute it, and FireFox if you use the FFClickOnce add-on.

My questions are multiple (after an edit):

  1. Does anybody know of supported methods to open ClickOnce applications from Opera/Safari/Chrome?

  2. If not, where would one begin in creating a usable, robust plug-in to achieve this functionality.

  3. Where would one start in making FireFox, Safari and Opera extensions?

I guess this boils down to explaining how a ClickOnce application is in fact launched, as well as if the browser frameworks can support it.

Also, with Chrome, I understand there is no add-on infrastructure, so if no answers exist for it, I fully understand.

A: 

The only way to execute a clickonce app from an unsupported browser is to download and then open the .application file. The .NET framework 2.0 or higher must be already installed or you'll just get a files of XML gibberish.

wefwfwefwe
This brings the question back to where to start on creating the functionality.
Kyle Rozendo
wefwfwefwe
This is the type of problem I am trying to rectify. Especially for online only clickonce apps, this solution is not always good enough.
Kyle Rozendo
+2  A: 

ClickOnce is currently a very undersupported technology in my opinion. Currently only Internet Explorer can natively execute it, and FireFox if you use the FFClickOnce add-on.

This used to be the case but isn't anymore: .NET Framework 3.5 SP1 does install its own add-on for this purpose (see .NET Framework Assistant for Firefox). Whether you consider this to be 'native' support or not is up to you, but of course it's still a regular add-on, though being officially released and supported by Microsoft helps a lot to improve Firefox user experience in regard to ClickOnce applications.

Obviously, in order to facilitate this new official Firefox add-on, the .NET Framework 3.5 SP1 must be bootstrapped by itself in case users don't happen to have it already, but this is another topic and doesn't differ much from installing any other baseline technology. It's worth nothing though that there has been improvements in this area too: By means of the .NET Framework Client Profile (see related FAQ too) many applications can reduce deployment size significantly (apparently ~28 MB instead of ~230 MB for the full framework).

Does anybody know of supported methods to open ClickOnce applications from Opera/Safari/Chrome?

Other then some questionable workarounds I'm not aware of any robust solutions.

If not, where would one begin in creating a usable, robust plug-in to achieve this functionality.

Your first stop regarding ClickOnce development (available for .NET 2.0 and higher) should be ClickOnce Deployment for Windows Forms Applications (the name is misleading, ClickOnce is not limited to Windows Forms). You'll find a wealth of information there on how to use the ClickOnce API, both implicitly via the build in deployment tools and especially programmatically from your own applications. The latter seems to be rarely used so far, unfortunately, though it is actually quite powerful. Consequently you should be able to include this functionality in almost any kind of 3rd party application, including browsers of course, as long as those do provide any kind of plug-in architecture.

Where would one start in making FireFox, Safari and Opera extensions?

I understand (and applaud) your approaching this issue from the single angle of end user ClickOnce experience, still I think given the broad scope of the topic it should best be asked in a separate question, if not in a separate question per browser even. That said, there are quite some related questions to be found on Stack Overflow already, see e.g. for Firefox (most obvious ;) questions/tagged/firefox+add-on and questions/tagged/firefox+extension.

Steffen Opel
Thank you for the time taken in the explanation. The drawbacks here unfortunately are vast (Will definately look at the Client Profile though). The main concern I have is the fact that this is an online only application, so it cannot be launched in any other way than via the .application file, otherwise corruption will occur. The second problem is an add on to the first. Due to the nature of the application, the client will most definately not download .NET 3.5, as a huge percentage only have 2.0 installed (heresy!). This would turn a 1 MB application into a 200 MB application :/ Any comments?
Kyle Rozendo
Just to clarify: only the Microsoft supported Firefox add-on for ClickOnce does require .NET 3.5 SP1; while there are other ClickOnce related improvements in .NET 3.5 SP1 these do in no way prevent you using the extensive API from .NET 2.0 already.
Steffen Opel
Regarding deployment package size: If I read things correctly the Client Profile would amount to ~28 MB (http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspx) - still huge of course, but at least a significant reduction vs. those 230 MB for the full .NET 3.5 SP1 framework.
Steffen Opel
A: 
  1. http://social.msdn.microsoft.com/forums/en-US/winformssetup/thread/5f6fe523-1162-442a-b305-fd1bc4c17dcf/

Components, developed in Visual Studio 2008 should work ok in IE, Firefox, Safari, and Opera (there was a problem in VS2005).

Developping a cross-browser extension is a super-mega-task I would never take ;)

FractalizeR
I've done it... I did a IE,Firefox and Chrome extension, and I agree it's a pain to get the same behavior in everyone. And that was a fairly small extension.
Emmanuel Caradec