14

I am building a prototype application in Silverlight 4 Beta and I am using the Out-of-Browser (OOB) functionality. I need the OOB functionality to be able to access the local file system, and I would like to avoid writing an ActiveX component or Java applet.

I have a requirement to be able to launch the OOB experience from the browser once it has been installed on the client machine. All I seem to be able to do is detect from the browser whether the application has been installed, and then ask the user to start it from the desktop or start menu (as a normal application).

This however 'breaks' the experience required by the customer, which should be directed from the browser. Has anyone been able to launch the OOB application directly from the browser?

Thank you,

Martijn

martijn_himself
  • 1,560
  • 3
  • 18
  • 34

1 Answers1

5

This should not be possible.

Just because a user has agreed to install an application as an OOB this should not confer rights to the source site that it can then invoke the OOB experience without the user explictly deciding to do so.

So the closest your going to get is what you already have. Politely remind the user that they have the app already installed as an OOB. If possible allow some functionality from the browser and in your "already installed message" explain that the best experience may be had by using the installed version instead.

AnthonyWJones
  • 187,081
  • 35
  • 232
  • 306
  • 1
    Much appreciated AnthonyWJones (+1). However, would a button click on the web site launching the previously installed OOB not count as a user 'explicitly deciding to do so' ? (just thinking out loud) – martijn_himself Feb 24 '10 at 15:06
  • @martijn_himself: No. What if my OOB was called "Global Thermonuclear War" but the button in the browser says "See Joke of the Day" ?? – AnthonyWJones Feb 24 '10 at 16:24
  • @AnthonyWJones: Hmmm, I am still not sure that is a valid point. The user has previously agreed to install and trust the OOB. I can achieve the same thing with an ActiveX component or trusted Java Applet (i.e. break the sandbox). Whether that is a good idea in the first place is a different discussion :). – martijn_himself Feb 24 '10 at 16:53
  • @AnthonyWJones: Can't edit my previous comment. I'm confused :). Any more thoughts/ clarifications greatly appreciated. – martijn_himself Feb 24 '10 at 17:06
  • @martijn_himself: It may be technologically possible for an in-browser instance of an SL app that knows it has an OOB version of itself installed on the client machine to launch said OOB version. However Microsoft would have to take stringent measures in order that a) another Silverlight app can't do this for the OOB app and b) the in-browser version isn't being hoodwinked into firing up something malicious. This would have to be exhaustively tested and would still represent an increase in the attack surface. That then needs to be balanced with the value of feature it would deliver. – AnthonyWJones Feb 24 '10 at 19:07
  • 1
    FWIW: http://live.visitmix.com/MIX10/Sessions/CL10, 76 minutes in, this question came up and the answer was they plan to support it. – Tony Lee Nov 03 '10 at 04:31
  • @Tony Lee : Any more information on whether they actually implemented this? I'm looking at the SL5 RC and can't see a way to do this. Not really sure what the issue with it is - when you right click->install the application subsequently launches by itself anyway - even though I only asked it to install not open... providing a mechanism to open from browser if already installed shouldn't be so different. – mutex Oct 06 '11 at 03:01
  • @matrix: I haven't tried yet, but this page: http://www.silverlight.net/learn/overview/out-of-browser-applications/building-an-out-of-browser-application would indicate it hasn't changed. Look for "Exercise 2: Detect if running out of Browser" the image below, when the app is already installed doesn't have a launch button. That's not definitive, but the example looks just like SL4 to me. – Tony Lee Oct 06 '11 at 19:36
  • Apparently this is still not supported in SL5? – Wil P Feb 13 '12 at 20:37