Install and service apps through Microsoft Store
Microsoft makes it easy for OEMs to install and service UWP apps on Windows 10 IoT Core through the Microsoft Store.
There is no support for Microsoft Store Client in IoT Core, i.e. you cannot browse and install applications from an IoT Core device and all required apps must be preinstalled or installed via other means such as OMA-DM/Azure DM.
The key steps required to use Microsoft Store are outlined below.
Step 1 : Setup
A Windows Dev Center account and sign-up for the OEM preinstall program are required to use this feature. See Account types for information on individual accounts and company accounts. You can signup for a developer account at Register as an app developer.
If you need multiple users to be managing the portal or if you need Special capabilities in your App, See Associate Azure Active Directory with your Dev Center account for more details.
OEM Preinstall Program
You should enroll for the Microsoft Store OEM Preinstall program to be able to download the Store signed appx bundle that you can pre-install in your device.
The steps for the enrollment are
- Fill out the Commercialization Agreement Interest form here. You will receive an agreement to sign via email.
- Once the agreement is signed, you will receive an email with the Preinstall Permissions Request Form. Please email email@example.com if you do not receive this form.
- Sign into the Dev Center Portal and reserve a name for your app
- Complete the form for the OEM App you want to publish and send email to firstname.lastname@example.org
- Microsoft Store Partner OPS team verifies applications and enables permissions.
- All new app submissions (updates and new apps) to Dev Center following the granting of preinstall permission will be available for download from Dev Center
- All approved restricted capabilities will be permitted for all app submissions
Step 2 : Publish UWP App to Microsoft Store
Once you have the approval for the preinstall program, you can proceed with app submissions.
Key elements to note here are
- Visibility : It is recommended that you hide your app in the store by setting the visibility appropriately.
- TargetDeviceFamily : TargetDeviceFamily should be set to Windows.Universal. Both Windows.IoT and Windows.IoTHeadless are not allowed for publishing.
Special Instructions for Headless Apps
Visual Studio 2017 Update 15.3 or greater is required for these instructions.
In order for headless apps to meet store compliance there needs to be a "head" associated with the app. In order to add this "head" to our headless app we need to:
Create a new Blank App (Universal Windows) project in Visual Studio. The target version and minimum version must match the target version and minimum version that are configured for the headless app.
Build the new project under release configuration
Navigate to <New Project Folder>/bin/<Architecture>/Release/ilc
Locate files <blank_app_name>.exe and <blank_app_name>.dll and copy the files to the root directory of your background app project.
Include the newly added file to the Visual Studio project and set to "Content"
Open the Package.appxmanifest in Code mode (right-click and choose View Code) for the headless app and modify the following:
- Add the attribute Executable="<Filename of .exe copied to project>.exe" to the element Application. Make sure the capitalization matches the .appxmanifest from the Blank App project.
- Add the attribute EntryPoint="<Namespace of Blank XAML project>.App" to the element Application. Make sure the capitalization matches the .appxmanifest from the Blank App project.
- Remove the AppListEntry attribute from the element uap:VisualElements
With the app submission created the next step is to package the UWP app and upload to the app submission in Windows Dev Center. For IoT Core it is important to set Generate app bundle to Never. This will allow the Windows Dev Center to generate the correct package for preinstall on IoT Core.
Submit the app to begin the certification process. The certification process usually will take 24-48 hours after which the app will either be immediately published or available to publish (based on the publishing option chosen when creating your submission)
Step 3 : Download and install
Now that an app has been published to the Microsoft Store, the app has a store signed version that can be used to preinstall the app on devices.
In the Windows Dev Center account click App Management > Current Packages on the left hand navigation bar.
Under the most recent App submission click Download Windows 10 package. This will download a zip file containing the app package, the dependency packages, and the license files.
See Install your apps on IoT Core device for various options to install the Store apps.
To manage the store app updates from your application, see Download and install package updates for your app
Step 4 : Publish Update to Store
Be sure to increment the version number for each new package.
Publishing an update to store is simple.
- In the Windows Dev Center, create a new App Submission for the app to be updated.
- In Visual Studio, package the app as done earlier in Step 2 in the Publish UWP App to Microsoft Store section.
- Upload the package to Windows Dev Center under the new submission and submit.
- After a successful app certification process, the devices will receive the published version as updates.
App updates on devices can take up to 24 hours to receive latest version.