App capability declarationsMetro style apps that need programmaticaccess to user resources such as the Pictureslibrary or connected devices such as awebcam, must declare the appropriatecapability. An app requests access bydeclaring capabilities in its packagemanifest.
App capability declarationsCapabilities• Music library• Pictures library• Videos library• Removable storage (USB, External HDD)• Microphone• Webcam• Location (GPS)• Proximity (Locate nearby devices)• Internet and public networks• Home and work networks• Enterprise authentication• Shared User Certificates• Documents library (Require to have at least one app supported file extension)
App contracts and extensionsMetro style apps use contracts and extensionsto declare the interactions that they supportwith other apps. These apps must includerequired declarations in the package manifestand call required Windows Runtime APIs tocommunicate with Windows and other contractparticipants.Contracts - an agreement between one or moreapps.Extension - an agreement between an app andWindows.
App contracts and extensionsContracts & Extensions• Account picture provider (extension)• App to App Picking contract• AutoPlay (extension)• Background tasks (extension)• Cached file updater contract• Camera settings (extension)• Contact picker (extension)• File activation (extension)• Game Explorer (extension)• Play To contract• Print task settings (extension)• Protocol activation (extension)• Search contract• Settings contract• Share contract• SSL/certificates (extension)
App packages and deploymentPackage is container - Open PackingConventions (OPC) standard. OPC defines astructured means to store data andresources for the app using a standard ZIPfile.• Package manifest• ContentInstallation to%ProgramFiles%WindowsApps
File access and permissionsYou can get access to:• Application install directory• Application data locations• User’s Downloads folder• Additional locations (Documents, Music, Pictures, Videos libraries, removable devices, etc…)