Today I put together some notes around what the main differences are between a Silverlight 4 application running in-browser Vs. out-of-browser (OOB) with elevated trust enabled (elevated trust is new in SL4). After compiling them i realized it would make a good reference blog post, so here it is:

SL 4 (in-browser)

SL 4 (OOB + Elevated trust)

Summary

Runs in a limited security and feature context, but provides the least requirements on the user in terms of:

· What security rights they have to install and promote applications (which is often an issue in the corporate world)

· Auto updating (no re-start required)

Runs out-of-Brower and in elevated trust environment providing for the most features and capabilities to interact with web services and local computer resources

(Elevated trust is separate from OOB and must be requested via options when configuring your application)

Feature: Web Browser

N/A

(Third party components do exist to render HTML in SL even when web browser isn’t available, example: HtmlHost from ComponentOne

Available

· Display any web-page

· Supports plug-ins like Flash (plays back video just fine for example!)

· Can display HTML string

Feature: COM Objects Interop

N/A

Available (OS dependent)

Example: Interop with Excel via COM to create spreadsheet data

Features: Auto-updates

Auto updates when the web page loads

You can implement code to auto update and it will be applied on next restart (at least I see no way to do it otherwise)

Feature: Full Screen

Requires user interaction

Can go into full screen without user interaction (example: using code to do so at startup)

   

Restrictions: Cross-Domain

Requires a clientaccesspolicy.xml or crossdomain.xml file

No restriction, access any URI

Restrictions: Access to local files

Via OpenFile / SaveFile Dialog control

No restriction on My Documents, My Pictures, My Music, et

Still cannot access any other folders on the computer

Some additional notes:

If anything above is incorrect please let me know folks, I’d love to improve my own knowledge. In the end which scenario you go after gets down the details and what the developers need to accomplish.