Home
%3CLINGO-SUB%20id%3D%22lingo-sub-904462%22%20slang%3D%22en-US%22%3EPreinstall%20Microsoft%20Store%20Apps%20-%20What%20you%20need%20to%20know%20(OEM)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-904462%22%20slang%3D%22en-US%22%3E%3CP%3EIf%20you%20are%20an%20OEM%20or%20an%20ISV%20working%20with%20an%20OEM%20to%20provide%20your%20app%20to%20be%20included%20in%20a%20PC%20image%2C%20you%20will%20need%20to%20provide%20the%20OEM%20with%20a%20'preinstall%20package'.%20This%20post%20will%20review%20what%20a%20preinstall%20package%20is%20and%20how%20to%20generate%20them.%20Note%20that%20preinstall%20packages%20can%20only%20be%20created%20by%20Microsoft.%20Preinstalled%20apps%20also%20must%20be%20free%20and%20can't%20be%20changed%20to%20paid.%3C%2FP%3E%0A%3CH2%20id%3D%22sideloading-or-preinstall%22%20id%3D%22toc-hId-1845108403%22%20id%3D%22toc-hId-1845108466%22%3ESideloading%20or%20Preinstall%3C%2FH2%3E%0A%3CP%3EPreinstall%20apps%20are%20Microsoft%20Store%20apps%20that%20are%20integrated%20by%20OEMs%20into%20their%20OS%20images%2C%20the%20are%20the%20default%20apps%20available%20to%20user%20when%20they%20setup%20their%20PC%20for%20the%20first%20time.%20If%20an%20app%20is%20to%20be%20available%20in%20the%20Microsoft%20Store%20and%20an%20OEM%20device%2C%20the%20device%20OEM%20image%20must%20integrate%20a%20preinstall%20app%20package.%20This%20is%20to%20ensure%20version%20and%20binary%20continuity%20of%20the%20app%20and%20that%20the%20app%20is%20automatically%20updated%20from%20the%20Store.%20Enterprises%20can%20include%20line%20of%20business%20(LOB)%20apps%20into%20OS%20images%20via%20sideloading.%20See%20the%20documentation%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows-hardware%2Fmanufacture%2Fdesktop%2Fsideload-apps-with-dism-s14%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehere%3C%2FA%3E%20for%20more%20on%20the%20Enterprise%20scenario.%20This%20post%20reviews%20the%20ISV%20%2F%20OEM%20scenario.%3C%2FP%3E%0A%3CH2%20id%3D%22partner-center-and-preinstall-permissions%22%20id%3D%22toc-hId--707048558%22%20id%3D%22toc-hId--707048495%22%3EPartner%20Center%20and%20preinstall%20Permissions%3C%2FH2%3E%0A%3COL%3E%0A%3CLI%3E%3CP%3EOEMs%20and%20ISVs%20working%20with%20OEMs%20can%20request%20to%20have%20their%20Windows%20Developer%20Partner%20Center%20account%20provisioned%20with%20'preinstall'%20permissions.%20Do%20this%20by%20emailing%3CCODE%3Epartnerops%40microsoft.com%3C%2FCODE%3E.%3C%2FP%3E%0A%3C%2FLI%3E%0A%3CLI%3E%0A%3CP%3EYour%20email%20should%20include%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EYour%20Name%3C%2FLI%3E%0A%3CLI%3EYour%20Company%20Name%3C%2FLI%3E%0A%3CLI%3EYour%20Seller%20ID.%20(See%20Partner%20Center%20%7C%20Developer%20Settings%20%7C%20Account%20Settings)%3C%2FLI%3E%0A%3CLI%3EThe%20OEM%20you're%20working%20with%20and%20other%20relevant%20information%20(PC%20Project%2C%20etc.)%3C%2FLI%3E%0A%3CLI%3EThe%20contact%20information%20(Name%20and%20email%20address)%20of%20the%20OEM.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3E%0A%3CP%3EOnce%20your%20account%20has%20been%20enabled%20with%20preinstall%20permissions%2C%20the%20Partner%20Center%20Windows%20app%20%3CSTRONG%3EManage%20packages%3C%2FSTRONG%3E%20page%20will%20be%20extended%20with%20the%20'preinstallation'%20UI%20shown%20below%3A%20%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F136564i55F46B2290640AE2%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22preinstallUI.png%22%20title%3D%22preinstallUI.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CH2%20id%3D%22generating-the-preinstall-package%22%20id%3D%22toc-hId-1035761777%22%20id%3D%22toc-hId-1035761840%22%3EGenerating%20the%20preinstall%20package%3C%2FH2%3E%0A%3COL%3E%0A%3CLI%3EClick%20on%20'Enable%20downloadable%20packages'%20(see%20screenshot%20above)%20to%20start%20the%20process%20of%20generating%20the%20preinstall%20package.%20Note%20the%20warning%20about%20the%20requirement%20for%20the%20app%20to%20be%20now%20and%20always%20free.%20(The%20app%20can%20contain%20in-app%20purchases).%20Make%20sure%20you%20intend%20for%20this%20app%20to%20be%20free.%3C%2FLI%3E%0A%3CLI%3EClick%20on%20'Show%20packages'%20to%20see%20the%20available%20downloads.%20(Screenshot%20below.)%20%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F136565i0B54B6D778F5BFA8%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22download_preinstall.png%22%20title%3D%22download_preinstall.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FLI%3E%0A%3CLI%3EClick%20on%20'Download%20Windows%2010%20package'%20to%20download%20the%20preinstall%20package.%20(.zip)%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CH2%20id%3D%22the-preinstall-package%22%20id%3D%22toc-hId--1516395184%22%20id%3D%22toc-hId--1516395121%22%3EThe%20preinstall%20package%3C%2FH2%3E%0A%3CP%3EA%20preinstall%20package%20is%20a%20zip%20file%20that%20contains%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EA%20.APPX%20%2F%20.MSIX%20or%20.APPXBUNDLE%20%2F%20.MSIXBUNDLE%20signed%20by%20Microsoft.%3C%2FLI%3E%0A%3CLI%3EA%20license%20file%20(.xml)%3C%2FLI%3E%0A%3CLI%3EA%20provisioning%20file%20(.provxml)%3C%2FLI%3E%0A%3CLI%3EA%20file%20containing%20the%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fwin32%2Fshell%2Fappids%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3EApplication%20User%20Model%20ID%3C%2FA%3E%20(AUMID)%20(.txt)%20of%20the%20application.%3C%2FLI%3E%0A%3CLI%3EIt%20may%20contain%20additional%20dependencies%20in%20.APPX%20%2F%20.MSIX%20files.%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CH2%20id%3D%22test-the-preinstall-package%22%20id%3D%22toc-hId-226415151%22%20id%3D%22toc-hId-226415214%22%3ETest%20the%20preinstall%20package%3C%2FH2%3E%0A%3CP%3EYou%20can%20validate%20the%20app%20can%20be%20installed%20in%20the%20currently%20running%20OS%20with%20the%20files%20provided%20in%20the%20preinstall%20zip%2C%20with%20the%20following%20steps%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EUnzip%20the%20file%20into%20an%20empty%20folder.%3C%2FLI%3E%0A%3CLI%3EStart%20PowerShell%20as%20an%20administrator%3C%2FLI%3E%0A%3CLI%3EChange%20directory%20to%20the%20empty%20folder%20that%20contains%20the%20preinstall%20app%20files.%3C%2FLI%3E%0A%3CLI%3ERun%20the%20following%20command%3A%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CDIV%3E%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3EAdd-AppxProvisionedPackage%20-Online%20-PackagePath%20.%5CmyPackage.msix%20-LicensePath%20.%5CmyLicense.xml%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAdditional%20parameters%20for%20Add-AppProvisionedPackage%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fpowershell%2Fmodule%2Fdism%2Fadd-appxprovisionedpackage%3Fview%3Dwin10-ps%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehere%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3EAfter%20successfully%20running%20this%20command%2C%20run%20the%20app%20from%20the%20app%20list%20to%20verify%20the%20app%20starts%20as%20expected.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAdditional%20documentation%3A%20%3CA%20title%3D%22Generate%20preinstall%20packages%20for%20OEMs%20-%20Windows%20UWP%20applications%20%7C%20Microsoft%20Docs%22%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fuwp%2Fpublish%2Fgenerate-preinstall-packages-for-oems%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3EGenerate%20preinstall%20packages%20for%20OEMs%20-%20Windows%20UWP%20applications%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHappy%20Coding!%3C%2FP%3E%3C%2FLINGO-BODY%3E
Microsoft

If you are an OEM or an ISV working with an OEM to provide your app to be included in a PC image, you will need to provide the OEM with a 'preinstall package'. This post will review what a preinstall package is and how to generate them. Note that preinstall packages can only be created by Microsoft. Preinstalled apps also must be free and can't be changed to paid.

Sideloading or Preinstall

Preinstall apps are Microsoft Store apps that are integrated by OEMs into their OS images, the are the default apps available to user when they setup their PC for the first time. If an app is to be available in the Microsoft Store and an OEM device, the device OEM image must integrate a preinstall app package. This is to ensure version and binary continuity of the app and that the app is automatically updated from the Store. Enterprises can include line of business (LOB) apps into OS images via sideloading. See the documentation here for more on the Enterprise scenario. This post reviews the ISV / OEM scenario.

Partner Center and preinstall Permissions

  1. OEMs and ISVs working with OEMs can request to have their Windows Developer Partner Center account provisioned with 'preinstall' permissions. Do this by emailing partnerops@microsoft.com.

  2. Your email should include:

    • Your Name
    • Your Company Name
    • Your Seller ID. (See Partner Center | Developer Settings | Account Settings)
    • The OEM you're working with and other relevant information (PC Project, etc.)
    • The contact information (Name and email address) of the OEM.
  3. Once your account has been enabled with preinstall permissions, the Partner Center Windows app Manage packages page will be extended with the 'preinstallation' UI shown below: preinstallUI.png

Generating the preinstall package

  1. Click on 'Enable downloadable packages' (see screenshot above) to start the process of generating the preinstall package. Note the warning about the requirement for the app to be now and always free. (The app can contain in-app purchases). Make sure you intend for this app to be free.
  2. Click on 'Show packages' to see the available downloads. (Screenshot below.) download_preinstall.png
  3. Click on 'Download Windows 10 package' to download the preinstall package. (.zip)

The preinstall package

A preinstall package is a zip file that contains:

  1. A .APPX / .MSIX or .APPXBUNDLE / .MSIXBUNDLE signed by Microsoft.
  2. A license file (.xml)
  3. A provisioning file (.provxml)
  4. A file containing the Application User Model ID (AUMID) (.txt) of the application.
  5. It may contain additional dependencies in .APPX / .MSIX files.

Test the preinstall package

You can validate the app can be installed in the currently running OS with the files provided in the preinstall zip, with the following steps:

  1. Unzip the file into an empty folder.
  2. Start PowerShell as an administrator
  3. Change directory to the empty folder that contains the preinstall app files.
  4. Run the following command:
Add-AppxProvisionedPackage -Online -PackagePath .\myPackage.msix -LicensePath .\myLicense.xml

 

Additional parameters for Add-AppProvisionedPackage here.

After successfully running this command, run the app from the app list to verify the app starts as expected.

 

Additional documentation: Generate preinstall packages for OEMs - Windows UWP applications | Microsoft Docs

 

Happy Coding!