I was disappointed to find out that Microsoft didn't do enough abstraction to allow more of the WinRT classes/methods to be usable from standard .NET applications. I understand that it wouldn't make sense to allow something like FileOpenPicker.PickSingleFileAsync() to be callable from ASP.NET, but there's no reason you shouldn't be allowed to call it from a WPF application. The framework should detect what kind of application is calling it, and then present the appropriate dialog (i.e. standard windows File Open dialog or the Metro-version). As it stands now, calling FileOpenPicker.PickSingleFileAsync() from a WPF application does nothing, as far as I can tell.