Building Windows Store device apps for Windows 8.1
Windows 8.1 lets device manufacturers create a Windows Store device app that serves as a companion to their device. This topic describes the components of a Windows Store device app, the basic steps for building one, and the order in which you must submit your app and device metadata to the Windows Store dashboard and the Windows Dev Center hardware dashboard, respectively. For a more detailed look at each step, see Build a Windows Store device app step-by-step.
At the most basic level, a Windows Store device app is a Windows Store app that's associated with a specific device via device metadata. There are four components to a Windows Store device app: a device, an app, a device metadata package, and a device driver. You don't need to use device metadata to access a peripheral device using the device protocol APIs (USB, HID, Bluetooth GATT, and Bluetooth RFCOMM). But you do need to use device metadata to enable special features such as automatic installation, AutoPlay, and device update.
|Device||This is the physical device. Peripheral devices are external to the PC enclosure. Internal devices are devices that reside inside or are integrated with the PC enclosure.|
|App||A Windows Store device app is a Windows Store app that provides a customized user experience for the device, enabling the user to access the device's unique features. A device app contains a file named StoreManifest.xml that specifies the experience ID. The experience ID is a GUID that uniquely identifies a device metadata package.|
|Device metadata||This is an extended version of any device metadata package you might have already created for Windows 7. In Windows 8.1, device metadata creates a link between the device and the app. That link is identified in the experience ID. In addition to UI content for the PC (localizable model name, description, and photorealistic icons) the device metadata package specifies AutoPlay configuration and which app has privilege to access the device. Windows automatically downloads device metadata from the Windows Metadata Internet Service (WMIS).|
|Driver||All Windows Store device apps use drivers, indirectly, to access devices. For example, the Windows Runtime device protocol APIs, introduced in Windows 8.1, use in-box drivers to let your app communicate over USB, HID, and Bluetooth. For more info about the drivers used by these APIs, see Step 1: Create a Windows Store device app.|
Important Device access using custom drivers requires approval from Microsoft. For more info, see Windows Store Device App Design Guide for Specialized Devices Internal to the PC.
There are six steps to creating a Windows Store device app, assuming you've already created your device and submitted any necessary drivers to the Hardware Dashboard. Click the links for more details about each step.
Step 1: Create the app. Associate your app with the Windows Store, develop the app, and test it.
Step 2: Create the device metadata. Use the Device Metadata Authoring Wizard to associate your app with your device, create a device metadata package, and create a StoreManifest.xml file (which specifies the experience ID).
Step 3: Add an experience ID to the app. Incorporate the StoreManifest.xml file into your app.
Note If your app is a privileged app and is not configured for automatic installation, step 3 is not required.
Step 4: Test the device metadata (locally). Use the Device Metadata Authoring Wizard to validate and deploy the device metadata to your local development workstation.
Step 5: Submit the app to the Windows Store dashboard. Use the dashboard to confirm selling details and indicate to testers that the app is a Windows Store device app.
Note If your app is a privileged app and is not configured for automatic installation, you can submit your app to the Windows Store dashboard after step 6. For more info, see Privileged app submission sequence.
Step 6: Submit device metadata to the Windows Dev Center hardware dashboard. Submit device metadata packages manually, or use the Device Metadata Authoring Wizard to create a bulk submission package that you can submit to the hardware dashboard.
The first time you submit your app and device metadata to the various dashboards, the events must occur in a specific sequence. The following table also shows when to submit a device driver, if applicable.
|1||Submit the device driver to the hardware dashboard.||Wait until the driver is available from Windows Update.|
|2||Submit the app to the Windows Store dashboard.||Wait for acceptance and until the app is live on the Windows Store.|
|3||Submit the device metadata to the hardware dashboard. The app needs to be in the Windows Store before the metadata can pass validation on the hardware dashboard.||Wait 10 days for acceptance and distribution.|
|4||Finish: Users can benefit from all features of the Windows Store device app. Note that device app features like automatic installation, AutoPlay, and device update won't work until the user has the device metadata and the app on the PC. If the app requires a driver that's not supplied by Microsoft, that driver will also need to be present for the app to work.|
In some cases, Windows Store device apps do not need to be live in the Windows Store before you submit the device metadata. When your Windows Store device app:
- Is specified as a privileged app
- Is not configured for automatic installation
If this is true about your app, you can submit the device metadata to the hardware dashboard before you submit your Windows Store device app to the Windows Store dashboard. In such cases, you do not need to add the Experience ID to your app; specifying your app as a privileged app in the device metadata is sufficient for privileges to take effect.
Note Windows Store device apps for printers and cameras automatically install. Therefore, these types of Windows Store device apps must follow the standard submission sequence and be submitted to the Windows Store before the device metadata is submitted.
Device manufacturers are limited in the number of Windows Store apps that may be specified in device metadata for automatic installation and app privilege. For example, peripheral device manufacturers (IHVs) can submit up to one app that is configured for automatic installation and up to one app that is specified as a privileged app. An IHV can submit one app that meets both limitations or two apps, with each meeting just one of the limitations.
Important There is no limit to the total number of Windows Store device apps that a device manufacturer can submit to the Windows Store; these limits apply only to a single device metadata package.
Mobile operators and OEMs have different limits on the number of apps that they can specify in device metadata. For more info, OEMs should contact their Microsoft OEM representative.
In each device metadata package, the following limits apply:
|Developer||Automatic installation app limit||Privileged app limit|
|OEM||contact Microsoft||contact Microsoft|
- Build a Windows Store device app step-by-step
- Automatic installation for Windows Store device apps
- AutoPlay for Windows Store device apps
- Device sync and update for Windows Store device apps
- Windows Store device apps for internal devices