MIX11 - Session Review - Advanced Features in Silverlight 5
Nick Kramer (Senior Program Manager in the Silverlight Team) nkramer@microsoft.com
Agenda
-
Unrestricted File Access
-
In Silverlight 4 trusted Apps can access
- Documents
- Music
- Pictures
- Videos
-
Silverlight 5 Trusted Aps can access everything
- Using Standard System.IO classes
-
In Silverlight 4 trusted Apps can access
-
Trusted Apps In-Browser
- SL4: has OOB apps run in trusted with user consent
-
SL5: in-browser trusted apps with admin consent
- Set permissions via group policy
- No prompts or installs
- familiar navigation model
-
can be part of a large HTML site
Feature Sandboxed App Trusted SL4 App Trusted SL5 App Prompt-free No Yes Yes Cross domain networking No Yes Yes Full keyboard in fullscreen mode No Yes Yes COM No Yes Yes Unrestricted File Access No Special Folders only Yes P/Invoke No No Yes Run in-browser No No Yes
-
Creating a In-Browser Trusted App
-
Part 1 – Ask for Trust:
-
In the current Beta it’s just like SL4 trusted
OOB
- Set the OOB SecuritySettings ElevatedPermissions = “Required”
-
In the current Beta it’s just like SL4 trusted
OOB
-
Part 2 – Sign your XAP
-
Sign your .xap
- Same as for a trusted OOB
- In Visual Studio or on command line
- Note: if you run an in-browser trusted app in localhost you don’t need to sign your .xap file
-
Sign your .xap
-
Part 1 – Ask for Trust:
-
Group Policy
- Actually, only one permission – Trusted or not
-
Network admin specifies which publishers are trusted
- Publishers identified by Authenticode certificate
- Put certificate in client machine’s trust publisher store
- Same as ClickOnce
- Xaps are associated with publishers by Authenticode
- The trust is not for a specific app but for a certificate, and so every sl5 app that is sign with the same certificate will be trusted
-
P/Invoke (Coming Soon) – Only on Windows
- P/Invoke lets you call native code
-
COM (SL4) also lets you call native code
-
Anything you can do with COM can also be done with
P/Invoke
- Strongly Typed
- No COM registration
- P/Invoke is optimized for Win32 APIs & native C/C++ code
- COM is optimized for COM Automation APIs, example Office
-
Anything you can do with COM can also be done with
P/Invoke
- COM & P/Invoke are available on Windows to trusted apps
-
How to use it
- Works exactly the same as in the .NET Framework
-
Part 1: Setting up the declaration
- [DllImport(“kernel32.dll”)]
- static extern int GetDriveType(string lpRootPathName);
-
Part 2: Using it
- int type = GetDriveType(drive);
-
HTML Support (Coming Soon)
-
Use HTML inside Silverlight Apps
- To reuse existing HTML/ASP.NET content
- To integrate with outside websites
- In SL4, only OOB’s got WebBrowser (based on the WebOC)
-
In SL5, in-browser WebBrowser support (based on
WebOC/IE)
- trying to extent that to browsers not WebOC
- WebBrowser control
- Currently with SL5 the WebBrowser control in-Browser runs only on IE
- You also have the WebBrowser Brush that is not interactive but it will make it possible to use it as the brush for other controls
-
Use HTML inside Silverlight Apps
-
Multiple Windows (Coming Soon)
- Works only in OOB
-
System.Windows.Window is now an instantiable class
- Window w = new Windows();
- w.Height=400;
- w.Width=600;
- w.Content = new MyUserControl();
- w.Visibility = Visibility.Visible;
- Window Titles and Positioning are now completely up to the developer, and not strict as it was in SL4
- Sandboxed OOBs automatically have the domain name added to the window title as a security measure
-
64-bit (Coming Soon)
- 64-bit machines & apps becoming increasingly common
-
SL5 can run in 64-bit process
- 64-bit browsers
- Sidebar on 64-bit Windows
-
Why 64-bit is interesting
- Because you don’t get to choose the browser
- Because you’re native hosting in 64-bit process
- Because you need a lot of address space (taking advantage of address space)
-
Pivot Viewer (Coming Soon)
- Ships as part of the SL5 SDK
- Dynamic client-based collections
-
XAML-based visuals
- You can define your visuals instead of the Bitmap
- You can define different visuals for different zoom levels
-
Customizability
- Now we have access to the fonts, sizes, colors, and so on ..
- It will have the same process for binding as the DataGrid (ItemsSource)
Silverlight still has size constraints, currently with 7 MB with the version 5.
Call to Action
- Silverlight 5 ships in the second half of 2011
- http://blogs.msdn.com/nickkramer/