Installing developer packages on Windows RT
[ This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation ]
You can install Windows Store apps on your Windows RT PC for testing without using the Windows Store, and without using Microsoft Visual Studio remote debugging tools.
Understanding app package installation concepts and requirements
To install an app package on your Windows RT PC, the Windows RT PC must meet these requirements:
- Windows PowerShell installed. (It should already be installed.)
- A developer license installed. If you have followed the steps to enable remote debugging, you may already have a developer license installed. Otherwise, you can use a PowerShell cmdlet as described in the Obtaining or renewing your developer license process later in this document.
- For an app package that is not signed by Microsoft, you must also install the certificate that was created by the app-packaging process as a trusted root certificate.
The remainder of this topic describes how to install the app as a series of steps. Because it's possible that you have already met some of the requirements or performed some of these steps before, there may be steps you can skip.
Creating the app package
Although you may already have deployed an app as part of remote debugging on the Windows RT PC, this does not result in an app package that is suitable for installation using the steps described in this topic. To create this app package, you must use the Store menu in Visual Studio.
- On your development machine, open Visual Studio. Open the project for the app that you want to create the app package for.
- In Solution Explorer, right-click your project. Select Store, and then click Create App Package. This starts the Create App Package wizard.
- For Do you want to build a package to upload to the Windows Store?, choose No, and then click Next.
- The next page is titled Specify the package settings. You typically leave the default settings for Version:, but if your app has a particular versioning scheme, you can change this value. The more important information is in Build configurations to package. What you select here depends on which language you used to create your app.
- For an app written in JavaScript, C# or Microsoft Visual Basic, you typically select Neutral in the Platform column, because the same package can be installed to any Windows 8 or Windows RT PC. The exception to this is if your app depends on any native components.
- For an app written in C++, the package always contains native components, and you must select each of the platforms you are targeting in order to create separate native app packages. For purposes of installing an app package to Windows RT, as we are describing in this topic, select ARM in the Platform column. (You can also select the other platform items to create test packages for other platforms.)
- For an app that is written primarily in one language but that also has native components or dependencies, you may have to create separate packages so that the native components are properly identified.
- Regardless of platform, you can choose which solution configurations to build. Whether you choose Debug or Release configurations depends on where you are in the development cycle. If you choose Debug, be sure to also build symbols (Include public symbol files should be checked).
- Click Create. This creates the package and displays a link that you can click to open the folder where the app packages were created.
Providing access to the app package
The Windows RT PC can't be domain joined. This makes it necessary to plan ahead to provide access to the app package from the Windows RT PC on which you intend to install the app package:
- If you have your Windows RT PC connected to your network either through a wireless network or an Ethernet connection, you can probably access the development machine remotely as long as you provide your network credentials when you connect.
- If you don't have the Windows RT PC connected so that it can access network shares, put the app package on a USB drive. Make sure you copy the whole AppPackages folder, or at least the subfolder that includes "_ARM_" in the name, including the .resources subfolder and the certificate. You will need these components as part of the package installation process; it's not enough to just copy the .appx file itself. Then, connect the USB drive to the Windows RT PC
Installing the app package using the Visual Studio-generated PowerShell script
When a package is built using Visual Studio, the project’s AppPackages directory contains the necessary .appx and certificate files, and also an "Add-AppDevPackage.ps1" script to install the app package.
- Go to the Start screen for the Windows RT PC.
- Using Windows Explorer, open the AppPackages subfolder that contains the app package that you want to install.
- Place the pointer over the "Add-AppDevPackage.ps1" file, and press and hold. From the menu, choose Run with PowerShell.
This script runs a series of PowerShell commands that acquire a developer license (if needed) and install both the app’s signing certificate and the app itself. Progress is shown in the PowerShell window. At certain points, such as when requesting the sign-in information for a Windows developer license, dialogs appear in which you must provide information before the script can continue.
This procedure is the easiest way to install an app package that you have built yourself, and is also the best way to share an app package with partners. You just need to share your project's AppPackages output. However, you may also want to install app packages where the "Add-AppDevPackage.ps1" script isn't provided, or where policies prevent scripts from running. The remainder of this topic describes how to check the developer license, install the certificate, and install the app, all as discrete steps that you perform yourself instead of running a script that combines the actions.
Installing the app package without using a Visual Studio script
You can omit the next procedure if you are sure that you already have a current developer license on the Windows RT PC.
Obtaining or renewing your developer license
- Run PowerShell from the Start screen, as an administrator. To do this, swipe up over the PowerShell tile until the app bar appears, and tap Run as administrator. Tap OK to confirm the User Account Control (UAC) dialog.
- If you don't see the PowerShell tile, swipe up from the bottom of the Start screen to display the app bar and tap All apps. Or search for "PowerShell".
- If you can't display the Run as Administrator option, enter the following in the non-elevated PowerShell window: "start-process powershell.exe -verb runas". This will start a new, elevated PowerShell process.
- Display the On-Screen Keyboard so you can type at the PowerShell prompt. Type the following into the PowerShell window: "Show-WindowsDeveloperLicenseRegistration" and tap the Enter key.
- A developer license pop-up window appears. Tap I Agree.
- A Windows developer sign-in window appears. Sign in with your Windows developer account; enter your information and tap Sign In.
- Tap Close. The developer license is now valid for sign-in on the Windows RT PC.
- Leave the PowerShell window open; you will need it to install the app package.
The app package folder contains a certificate (.cer file) that was used to sign the app package. Before you can install the app package, your Windows RT PC must have this particular certificate in its set of trusted root certificates.
Note If you are installing an app that is signed by Microsoft, a Microsoft certificate already exists in the certificate store and you do not need to install a separate certificate.
Installing the certificate
- From the Windows RT PC, either map the network share or connect the USB drive where you can access the AppPackages folder that contains the app package to install. Use Windows Explorer to open that folder.
- Double-tap the certificate file in the folder and then tap Install Certificate. This displays the Certificate Import Wizard.
- In the Store Location group, tap the radio button to change the selected option to Local Machine.
- Click Next. Tap OK to confirm the UAC dialog.
- In the next screen of the Certificate Import Wizard, change the selected option to Place all certificates in the following store.
- Tap the Browse button. In the Select Certificate Store pop-up window, scroll down and select Trusted People, and then tap OK.
- Tap the Next button; a new screen appears. Tap the Finish button.
- A confirmation dialog should appear; if so, click OK. (If a different dialog indicates that there is some problem with the certificate, you may need to do some certificate troubleshooting. However, describing what to do in that case is beyond the scope of this topic.)
Installing the app package
- In the PowerShell window, change the current directory of the prompt so that it points to the location of the app package that you want to install.
- At the PowerShell prompt, type "Add-AppxPackage" and then the name of the file in this folder that has the file extension ".appx". Usually this file has version, platform, and build-configuration strings as part of its name. For example: "Add-AppxPackage MyTestApp_1.0.0-_AnyCPU_Debug.appx".
- If the app package installation is successful, no status message is displayed in the PowerShell window; you just get a new prompt. If there's a problem with the app-package installation, however, the PowerShell window displays a message in red. If this happens, you may be able to get more info about how to fix the problem in the Add-appxpackage documentation on Microsoft TechNet.
- This procedure installs only a single package, so if your app uses component libraries (for example, Windows Library for JavaScript), include them when you install your app. The correct set of dependencies is automatically included in the Dependencies folder created by Visual Studio as part of the project structure. Add the "-DependencyPath" argument after the .appx file name, and reference the path and name of the dependency package. For example: "Add-AppxPackage MyTestApp_1.0.0-_AnyCPU_Debug.appx –DependencyPath .\Dependencies\Microsoft.WinJS.1.0.RC.appx"
- Go to the Start screen. You should now see a tile there for the installed app. Tap the app tile to start the app. If the app runs, you've successfully installed the app package to your Windows RT PC.
More info about Add-AppxPackage and related PowerShell cmdlets
The Add-AppxPackage cmdlet has more options that aren't documented here. For example, you can explicitly specify path or disable development mode. For more info, see the Add-appxpackage documentation on Microsoft TechNet.
There are also additional PowerShell cmdlets in the same module that perform actions such as removing apps, reading installation logs, and getting info about app packages that have already been installed. For more info, see App Installation Cmdlets.