Monday, July 8, 2013

Document Library Capability in Modern Apps for Windows 8.1 Preview

If you examined the Package.appxmanifest for Windows 8.1 Preview app created using Visual Studio 2013 Preview, you will see some differences compared to a Package.appxmanifest for Windows 8 app created using Visual Studio 2012. If you have a closer look at the Capabilities tab, you can see that Document Library capability has been removed from the Package.appxmanifest for Windows 8.1 Preview app.
Package.appxmanifest2013
Windows 8.1 Preview on Visual Studio 2013 Preview
Package.appxmanifest2012
Windows 8 on Visual Studio 2012
Well I was wondering why it is removed and started looking for answers. I read this article on App capability declarations (Windows Store apps) and first let’s see what this app capability declarations are really there for.

There can be scenarios where the Windows Store apps that need programmatic access to users’ resources such as the Pictures library or connected devices such as a webcam etc. So to access such resources, appropriate capability should be declared in the apps’ Package.appxmanifest. When end users downloads the app from the Windows Store, they are notified of all the capabilities that the app declares. So end users know what resources will be accessed through out the app.

When we are talking about app capabilities, all the capabilities are categorized into following three types,
  • General use capabilities
  • Device capabilities
  • Special use capabilities
You can find more about these from here. Since we are are focusing on Document Library capability here, let’s focus more on the topic.

Document Library capability comes under Special use capabilities. Apps that apply the special use capabilities require a company account to submit them to the Windows Store and not from a individual account. The Document Library capability is highly restricted and not intended for general use, and apps which try to use it generally will fail certification (This is both for Windows 8 and Windows 8.1 Preview). So to avoid unwanted use of Document Library capability, I think Microsoft has dropped it from the appxmanifest.

However, this capability is gone just from the UI, you still can open appxmanifest as a source file and manually add the capability. And of course, that is not going to decrease the risk of failing your app in app certification process.

So in simple what Microsoft says is “We strongly recommend you avoid using this capability”.

For more information on this, please refer following links.