From http://tirania.org/blog/archive/2011/Sep-15.html :
When you use C # and VB, you use the full .NET platform. But they decided to expose a smaller subset of the developer APIs to push a new vision for Windows 8.
And this new vision includes security / sandboxing systems and asynchronous programming. This is why you do not get direct access to the file system or access to sockets and why the synchronous APIs that you used for consumption are not exposed.
Now you notice that I said "exposed" and not "gone."
What they did was that they only exposed the compiler a set of APIs when you target the Metro profile. Thus, your application will not accidentally call the File.Create command. However, at runtime, the CLR will load the full class library, the one that contains File.Create, so inside the CLR it can call something like File.Create, you just donβt have access to it.
This split is similar to what was done in the past with Silverlight, where not every API was open, and where mscorlib was granted rights so that your application does not need to be secured.
Perhaps you think you can use some sort of trick (link to the GAC library instead of the link to the compiler or using reflection to get to private APIs or P / Invoking in Win32). But all of these be caught by the AppStore app for review, and you will not be able to publish your application through the Microsoft store.
You can still do everything that is ugly to hack, please, in your system. It just will not be able to publish this through the AppStore.
Thus, there may be no official way, and if there is an unofficial way, it probably will not be accepted in the application store.
In general, this makes sense: I donβt want to download a seemingly legitimate application, just to scan my hard drive and find my budget.xls table, which includes my banking / credit information.
EDIT: You can provide temporary access to protected files / folders through a WinRT file, but it must be called and selected explicitly by the user.