Sideloading on Windows 8 and 8.1

With the release of Windows 8 Microsoft announced a new kind of applications called Metro Apps. Meanwhile is has been renamed to Windows Store Apps but the behavior is still the same. It is just a program which uses the advantages of the New UI (Metro UI), it will integrate itself to this new GUI.

In fact this means also the way of installation process has been changed, it is not just a simple executable anymore. The common way is to provide this kind of app through the Microsoft App Store. Another option is the distribution through SCCM.

But as a developer of these Windows Store Apps – have you ever asked yourself if there is a way to share your newly created program in a very simple way, just to let other people test a beta version or to provide it to your team only without time consuming quality tests?

There is actually another solution called Sideloading. It fits perfectly to such an use case. It means nothing else than creating a Windows Store App, putting it to a network share and grant other people access to it. These people just need to run a Powershell script and the app will be installed on their Windows Modern UI GUI.

Theoretically this works well but actually there are some challenges:

The group policy option “Allow All Trusted Apps” must be set to enabled. This can be done by a global GPO or directly on the machine writing to a registry key HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1 (DWORD)

A certificate which fits to the app must be installed on the target machine. This certificate can be created together with the app itself (Visual Studio is doing this for example) or it can be a global certificate which is trusted company wide.

The target machine must be in a domain and it must running on an Enterprise version of Windows. Otherwise an additional Sideloading product key must be purchased from Microsoft.

The first two points should be handled in a separated script running prior the actual installation if a global solution is not possible.

We’ve realized such a script based tool in SAP which is working well.

The third point limits Sideloading as most of the mobile devices won’t fit to this requirement.

But anyway, for a quick and easy deployment it worth’s to have a look at Sideloading