Working on some Windows Phone 7 development project, I came across the following question from the customer when releasing an sprint: ‘I have bought a phone. How can I deploy the app into it?’.
Easy question but not so easy answer if you are not familiarized with some aspects like: Windows Phone 7 locking, registration, App Hub membership Marketplace, and so on.
So, after some research I decided to share here my conclusions that could save time to somebody else when having to answer the same question:
- First, deploying means to distribute the .XAP file which you can get it after compilation (debug as well as release mode).
- Nevertheless, for deploying that .XAP into your phone you need to meet some requirements:
- Windows Phone Developer tools must be installed (instructions here)
- Your Windows Phone device must be registered (instructions here). Bear in mind that registrations implies:
- having a valid App Hub developer account ($99 annual fee)
- identity validation with GeoTrust which could take some days.
- living / having a valid and legal address on one of these countries.
A registration walkthrough can be followed here.
- The Zune client software must be installed on the host computer (downloadable from here)
After complying with the above requirements, you will need to run the Application Deployment Tool (included with Developer tools) in order to deploy the app to the device. Instructions here.
But, what happens if you cannot comply with one of the above requirements? for instance, my country is not listed? Some possible workarounds for the above:
- Have your Windows Phone 7 device unlocked for developing purposes (nothing to do with telcos locking). ChevronWP7 seemed to be a great tool for doing that but currently seems to be discontinued (after the guys had some discussions with Microsoft :p).
- Try this tool (it requires the phone to be unlocked) (I personally haven’t tried it yet)
- On the meanwhile, use the emulator that is included in the developer tools :(
Now, what happens for instance if your customer is not technical and is not willing to install any development tool for deploying your app into his/her phone? In this case, according to this article there would be possible to submit an app to Marketplace that remains private and only available to be downloaded by the people we just want to. Sounds good (and logical btw) but it seems that this feature is still not available :(.
So, as far as I can see as workaround I guess you could use Marketplace, uploading a free app that asks for some kind of PIN when loads in order to work. This PIN should only be shared by you and your customer. Make sense? But, for uploading an app to Marketplace you must be registered as well as the app should pass the certification test which could put you in a loop :(.
If you have any comments / suggestions / news on this matter, please post a comment.
Hope this helps to save somebody else’s time. Also hope Microsoft could give developers more tools in order to support offshoring scenarios where development is being done in different, not yet listed countries and customers are not so willing (or just cannot) install a bunch of dev tools just for deploying an app to their phones.