When you create a new Windows Metro style application, Visual Studio will automatically create the application manifest for you. The file will be called Package.appxmanifest and will be included in the root of the project. Looking at it closer reveals that it’s a plain XML file that can be generated manually or with the help of some other tool as well.
Visual Studio, however, offers a nice GUI editor for editing the application manifest file. This is a quick walk through its tab pages. To invoke the editor, simply double-click on the manifest file or choose Store | Edit App Manifest from the menu.
The tab for application menu hosts the basic info about your application.
Display Name is the title of your application. It will appear on the start screen, search page, etc., wherever the user can see. It can be localized.
Entry Point should point to the application’s activatable class id. It should be set to project’s App class, but in current build of Visual Studio, changing it to invalid value doesn’t currently seem to affect anything.
Description contains a longer description of your application, but it shouldn’t exceed 2048 characters. It can be localized as well.
Tiles (Logo, Wide Logo and Small Logo) represent the graphics you want to present your application with. The logo is also used as the main tile and the Small Logo is used for lists, etc. The Wide Logo is used when the app requires the wide format tile. Valid format for all graphics are .png and .jpg.
Further down, there are even more options…
Show Name and Short Name work in together with the above Display Name. Setting Show Name to Yes and leaving Short Name empty, the Display Name will be displayed on the application tile as an overlay. Set Short name to a custom name and Short Name will be displayed as the overlay.
Foreground Text sets the color of the text displayed on the application tile. In can be set to Light or Dark, for best fit with the tile graphics.
Background Color specifies the tile’s background color. Can be either named or the ‘#’ color.
Notifications control how the notifications look and work.
Badge Logo points to the graphics that will be displayed on the lock screen as a notification from your application.
Lock Screen Notifications specify what kind of notifications your application will support when the system is locked. Can be set to Tile Text, Badge or both.
Toast Capable should be set to true when you want to send alerts from your application.
Splash Screen options (Splash Screen and Background Color) control the appearance of the splash screen. Splash Screen should point to the splash screen graphics and Background Color specifies the background color for that screen (transparency effects).
Initial Rotation specifies the initial rotation when the application starts. Can be set to all four possible rotations (Portrait, Landscape, Portrait and Flipped, Landscape and Flipped.
The next tab in application manifest editor allows you to set the protected resources you want to allow your application to access. Your application will not have the access to those capabilities if you don’t explicitly set them here, nor they won’t be accessible in cases when hardware does not support it, are blocked through other security policies, or when explicitly denied access by the user herself. Note that the user is prompted about those capability requirements when she is installing your application and can deny those requests. Even later…
Here’s the current list of those capabilities:
Declarations are your application’s extensibility points, for better integration with the system and/or other installed applications. Some of those extensibility points include:
- Contact Picker (your application serves as a contact picker for other applications),
- File Type Associations (registers your app as a (default) handler for a specific file type),
- File Picker (your app serves as a content picker for other apps; think choosers in Windows Phone),
- Protocol (your app registers as a URL Protocol handler),
- Search (provides searching functionality),
(for your next social networking application
… and a few more. All declarations have their own options and settings.
The Packaging tab holds the info, relevant to deploying and publishing your application.
Package Name uniquely identifies the package and therefore your application too. It’s a GUID.
Package Display Name is a localizable package title that is displayed to the users.
Logo points to the application store logo.
Publisher describes the application publisher and matches the publisher subject information from the certificate that is used for signing the application manifest. The value is set automatically when choosing an existing certificate or create a new test certificate.
Publisher Display Name and Package Family Name are also derived from the chosen certificate. Publisher Display Name can be changed and even localized.