2

We're developing a Surface RT app and would like to distribute it to some beta users for testing. Of course if we physically have their device, we can plug it into a PC running Visual Studio, burn some incense and eventually get it running.

But how can we send them a file, preferably over email or a download link, so that they can "just run it" on their device? (And if we can't do that, how are we supposed to get good beta testing?)

I.e. something similar to TestFlight for iOS apps where:

Users first install TestFlight on their iOS device. Testlight gathers the magic numbers and provides them to the developer. The developer registers the magic numbers with Apple and incorporates them into the build of their app (via the key provided by Apple). Then the developer uploads the build to TestFlight and the user can click inside their TestFlight app to download and install the build.

Is this possible for Surface? If not, what is the least-worst alternative?

The closest I've found so far is this guide: http://www.microsoft.com/en-us/download/details.aspx?id=30703 in section 19: Installing developer packages on Windows RT outside the Windows Store. This has several pre-reqs which I shudder asking a non-technical user to do, namely:

  • 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.

Links I've looked at that are somewhat related but mostly talk about enterprise and/or debugging with a device next to you:

Thanks!

JasonMArcher
  • 14,195
  • 22
  • 56
  • 52
mm2001
  • 6,427
  • 5
  • 39
  • 37
  • I believe the sideloading method in your third link is the most appropriate, at least that's how I'm planning to work. Win8 should have powershell installed by default as you say, so will just be a case of packaging and signing. If you can convince your network admins to setup, configure and manage your own enterprise store then you can distribute it like that, which is neater. But that's not an option for me :( – dougajmcdonald Feb 09 '13 at 16:43

1 Answers1

1

If you want to deploy applications for beta testing / non production I 'believe' it would be acceptable to distribute them with a developer license (yours).

What you'd need to do, is package the application from VS on your dev machine, and copy the package to the WinRT devices in question.

The package will contain a powershell called 'Add-AppDevPackage'. Right click on this on and 'run with powershell'.

This will require you to change the policy on the WinRT device to allow untrusted scripts (will popup as a prompt during the powershell script). You will need to be an admin on the WinRT device to do this I believe.

Once granted it will also check to see if you have a valid license to run WinRT apps on the device, and for me it just popped up with a window to enter my developer login details. Enter your dev details and the app should install happily. The license will expire in 3 months by default I believe.

====== Caveat: I'm not 100% on what 'acceptable' usage for a developer license constitutes in MS's eyes. In my example I'm simply loading an app I've written onto a personal Surface RT I own for my own testing, my developer license is part of an MSDN subscription so I assume it's ok. You may want to check how this applies if you wanted to deploy to 10 devices for non licensed users to avoid any 'abuses' MS may see. There are some references to having your dev license revoked if it's abused!

dougajmcdonald
  • 19,231
  • 12
  • 56
  • 89