Windows 8.1: Side load your apps onto your test device

Lately, I have been working on a Windows 8.1 app for a client of ours and, at the final presentation, they brought their own Microsoft Surface RT and would like us to install the app onto it. I have previously messed around with side loading Windows 8 apps onto test devices and it hasn’t always worked out the way I wanted it to. The requirement of signed packages is a great idea to prevent malware from spreading through the Windows Store but it makes it a little harder for developers to easily deploy apps onto test devices.

In this blog post, I will go through a quick way of side loading apps onto your Windows 8.1/RT test devices without having to import certificates signed by Visual Studio in the app package creation process. Here’s how it goes down:

1. Create the App Package in Visual Studio

Make sure that Visual Studio does not generate an app bundle when it creates the app package. This is done by opening the app manifest and choosing the Packaging tab. Click on the drop down menu next to “Generate app bundle” and select Never.

appbundle_never

Then, to create the app package, click on Project (in the top), select Store, and then click on Create App Packages… That will open a dialog box with the following question:

image

Select No as we do not want to upload anything to the Windows Store right now. Click on Next and choose the output folder and the version of the app if necessary. Make sure to select the right type target architecture. I suggest just creating one version: The neutral that will work on any CPU:

image

That will create the app package that you will use to install the app onto your desired target device.

2. Obtaining a developer license on the target device

In order to deploy the app onto the test device, you must have a developer account (associated with your Microsoft account). You will need to register your test device with your developer account. This is easily done by this simple PowerShell command:

Show-WindowsDeveloperLicenseRegistration

You must run PowerShell as an administrator on the device to obtain the developer license:

image

You may or may not already have a developer license installed on the device. In either case, a dialog box similar to the one below will pop up. Simply click I Agree to obtain the license.

image

You will then have to log in with your developer account (i.e., your Microsoft account). Here’s how it looks on my Danish machine:

image

After logging in, it will attempt to obtain a developer license, which should succeed. A dialog box like this will pop up:

image

You are now ready to install the app on your device!

3. Install the app onto the device

Locate the output package files that you generated with Visual Studio in step 1. I usually copy the whole output folder onto a USB flash drive to move it to my target device (for example, my Surface RT). Copy the folder from the flash drive to the device’s internal storage and open PowerShell as an administrator once again.

Navigate to the app package folder inside PowerShell. Type dir and press Enter to see the contents of the folder. It should look similar to this (with respect to a different app name):

image

Then simple execute the following command and your app will be installed onto the device:

Add-AppxPackage YourAppName_VersionNumber_AnyCPU_Debug.appx

Remember to replace the .appx file name with your correct file name. And that’s it! Your app is now installed and you’ll be able to test it out on your device. Easy and simple! Have fun testing your app! Smile

Sebastian Brandes on MSDN Blogs

Welcome to my new blog here at MSDN. My name is Sebastian Brandes and I’m a consultant with Microsoft Consulting Services in Denmark. I work with a variety of Microsoft technologies on a day-to-day basis and on this blog I intend to write posts about how my team and I apply technologies to drive business value for our clients.

This blog will be of rather technical nature and I will strive for writing detailed (and potentially long) blog posts about how to apply a certain technology to a given situation or how to configure a complex product to make it do exactly what you want it to. I love to code and whenever it makes sense I will include code snippets to ease or optimize processes and, as time allows me, I will publish complete sample solutions to be used as inspiration.

I am a Microsoft certified solutions developer and I also hold a range of other Microsoft certifications (in C# programming, SQL Server, business intelligence, Office 365, etc.). I will try to reference official Microsoft material (on either MSDN or TechNet) whenever I find it suitable so that you can learn more about the given technology, its features and its applications.

I look forward to getting started with this blog and I hope you will follow it with interest. Should you have any questions to the material I write, you are more than welcome to contact me. My email address is: sbrand@microsoft.com.

Cheers!