Freigeben über


Using the Windows Store for Business with MDT 2013

The Windows Store for Business was made available to everyone back in November, corresponding to the Windows 10 version 1511 feature upgrade that was released at the same time.  For those that aren't familiar with the Windows Store for Business capabilities, it provides organizations the ability to acquire apps for use throughout their organizations, and in some scenarios, also to distribute those apps.

There are two types of licenses that are available through the Windows Store for Business:

  • Online, tied to an Azure Active Directory account.  This only supports per-user installation of the apps, and licenses are tracked and managed by the Windows Store for Business.
  • Offline, where no Azure Active Directory is needed or used.  This supports per-user installation (regardless of the account type) as well as per-machine provisioning (where the app automatically installs for each user when they log onto the PC), and there is no license tracking.

In the case of MDT, it supports per-machine provisioning of apps, and as of MDT 2013 Update 1 it understands how to provision apps from the Windows Store for Business.  The main difference between store apps and sideloaded apps: a license file provided by the Windows Store for Business, allowing the app to be installed or provisioned on a machine, without even needing to enable sideloading.

For those of you who aren’t familiar with MDT’s ability to sideload apps, this has been in MDT since the Windows 8 timeframe, but the documentation is lacking.  To summarize, you need to have the app files, including dependencies, in the needed folder structure.  For example, you could import this folder structure into MDT as a new application, specifying the name of the main .appx file as the command line for the app:

  • MyApp
    • MyApp.appx
    • Dependencies
      • x86
        • MyDependency.appx
      • x64
        • MyDependency.appx

After importing this into MDT (creating an app with source files, specifying the location of the MyApp folder, and specifying a command line of “MyApp.appx”), you could then select that app for provisioning during a task sequence; MDT would automatically create the needed DISM command line to provision the app so that you don’t need to work out that very long command line yourself.

So where does this folder structure come from?  Simple, it’s what Visual Studio creates when you build an app.  So your developers can just provide you with a copy of that output folder and you’re set.  But there’s a little more work needed with the Windows Store for Business:  It will provide you all the files that you need, but you need to download them individually and then place them into the needed folder structure manually, before adding the result to MDT.

Let’s look at a real example.  Once I sign into the Windows Store for Business from https://www.microsoft.com/business-store, I can mange my inventory of apps and filter it to just the “offline” licensed apps, since these are the ones I could put into my MDT image:

image

Let’s assume I want everyone to have Onefootball when they first log into Windows 10.  (It could happen, maybe they work for a European football club.)  When you select that app, you can see the individual files that you need to download, including a license file:

image

So download the package itself (selecting the x64 architecture, so that you get the files for x86 and x64), an unencoded license (XML file), and each of the required frameworks.  Arrange them into a folder structure like I described above:

image

with three .appx dependency files in each of the x86 and x64 folders.  Then import that into MDT as a new app with source files:

image

specifying the name of the .appx file as the command line (the rest of the name scrolls off the left side for this app):

image

Then when deploying you can select the app:

image

Then once I log on as a normal user (not the Administrator) the app shows up on the Start menu:

image

and launches just fine:

image

So you can do that with any offline app available in the Windows Store for Business, just like you can do it with any line of business app.  (MDT will enable sideloading automatically for the LOB app, but that isn’t necessary for the Windows Store app, as the license file means sideloading isn’t needed.)

To make this process easier, the Configuration Manager and Intune teams, as well as other management tool vendors, are working on leveraging the Windows Store for Business APIs to make this whole process as easy as checking a few boxes, so stay tuned for that.

Comments

  • Anonymous
    January 11, 2016
    Thanks Michael, can't wait to try it.
  • Anonymous
    January 13, 2016
    Find some additional info here http://goo.gl/jNnTxA to deploy with provisioning package and SCCM.
  • Anonymous
    January 13, 2016
    Only three complaints:
    1. Make it so you can download the app and its dependencies as a Zip file with everything included.
    2. Encourage more developers to allow this. If an app is already free, is there really any disadvantage to the developer to allow offline deployment?
    3. Create a method to allow settings of apps to be preconfigured. Having the apps install on first login is okay, but there may be some apps where I need to configure the default settings so that the user doesn't have to. This would especially be important on a public computer or a kiosk-type computer where I need apps to behave in a certain way without having to set it myself on every computer.
  • Anonymous
    January 13, 2016
  1. I tried to get them to do that and failed.
    2. Yes, we're working on that. For new apps, the default is "opt in" but for existing apps it would be rude to change the rules without the dev's permission :-)
    3. There is a generalized way to do with starting in Windows 10 1511, using name-value pairs delivered via MDM (or potentially WMI as an alternative). But apps would need to be modified to support it.
  • Anonymous
    January 14, 2016
    Thanks for the response.
    Regarding the third item, would there be a way to this via a tradition image (non MDT)? What we'd ideally like is to roll out an image with the settings pre-configured just like we do with Win32 apps. Right now, Sysprep resets all settings in Windows Store apps back to default, which kills us. If we could tackle this ossue, we really wouldn't have to be as reluctant to push for Windows Store apps.
  • Anonymous
    February 05, 2016
    Thanks for this. Following onto number 2 from Dave above. Could you maybe ask the people within MSFT to enable this? One great example is fresh paint, why is it not enable on that? Is there dev resources I can point to on how to enable for an app? I will contact app makers if I can. This would enable apps on lab / cart / shared machines in schools finally!
  • Anonymous
    February 15, 2016
    The comment has been removed
  • Anonymous
    May 08, 2016
    We use FOG rather than MDT. We have a PowerShell script that runs after deployment to do post-deployment tasks. I am being forced to use FOG, so that won't be changing.Can offline apps be provisioned for all users using PowerShell?