How to Distribute Compiled Windows 8 Metro Applications without Windows Store?
I am just curious if there is a way to package up a Windows 8 Metro application to distribute it to others with the Windows 8 Developer Preview installed? It would be nice to be able to allow someone to just download and install, rather than requiring them to install VS'11 Preview and compile the code themselves in order to test out / use a Windows 8 Metro application that I've built.
Is there a way to distribute a compiled Windows 8 Metro application for others to test/use since the Windows Store is not yet live?
This would likely be useful for testing Metro apps on non-development machines even after the Windows Store is live.
Solution 1:
Each machine that wants to install the application will need a developer license. See this page for some details.
When you have your app ready:
- select Store->Create App Package
- Select Build a package to use locally only
- Follow the prompts
This will create a package in whatever folder you specified. You should be able to copy that to another developer-licensed machine and install it.
There will be a batch file called Add-AppxDevPackage in the directory. Running it will install the app. It must be run as an admininistrator.
Solution 2:
Distributing apps outside store is possible after complying to the prerequisites listed in this MSDN article. It also covers the process of application installation using PowerShell. Though it appears quite complicated, note that MSIs work fine for Windows 8 metro apps so you can probably enclose the installation process into one small instalator.
From the article
- Requires Windows 8 Enterprise Edition, and must be joined to a domain, and the domain must have the Allow all trusted applications to install Group Policy setting.
- for Windows 8 Professional, and Windows RT, or a non-domain joined machine, you must buy a sideloading product activation key from Microsoft
- the application must be signed by a key that is trusted by the computer
Once you've purchased your sideloading product key from Microsoft, add the sideloading product key:
>Slmgr /ipk <sideloading product key>
To enable side-loading, enable the following guid:
>slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
To add an application, from a powershell prompt:
>add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx
Windows 8.1 Update
According to the latest announcements by Microsoft the next update to Windows 8.1 will allow all the devices running the Pro version to sideload applications without sideloading activation key. So far this has been the case only for the Enterprise version. Bare in mind that the machine will still need to be a part of the AD domain. Additionally, if you still run a previous version but you're part of any of the below programs:
- Enterprise Agreement
- Enterprise Subscription Agreement
- Enrollment for Education Solutions (under a Campus and School Agreement)
- School Enrollment
- Select and Select Plus
You'll be granted the enterprise sideloading rights starting on the 1st of May 2014. Otherwise you'll still be able to sideload but will need to buy a sideloading activation key for 100$ (that's a one-time charge for an unlimited number of devices).
Solution 3:
If I recall correctly from the white paper, then a Windows 8 Metro application can only be installed by consumers from the App Store.
However there will be a way provider for developers (as explain by Stave Rowe) and a way for corporations to installed Windows 8 Metro application directly, I expect the corporation method will be by using Active Directory (group policy), but may be limited to some editions of Windows 8.