Aujourd'hui sur facebook, Rudy a posé une question intéressante : quel est le meilleur moyen de générer une application pour un client ?

En effet, si sur Windows Phone le package généré par Visual Studio est automatiquement prêt à être envoyé au Store, ce n'est pas aussi simple sur Windows 8 : la génération du package demande de se loguer avec le compte du store, pour pouvoir le signer correctement. Et ceci peut poser problème lorsque l'on développe une application pour le compte d'un client. Est-ce que le client doit donner son mot de passe à son prestataire ? est-ce qu'il doit compiler lui même l’appli (sachant qu'il ne sait pas forcément ce qu'est Visual Studio) ?

La meilleure solution à mon avis, et celle que nous utilisons chez UCAYA, est la suivante :

Pour signer le package, nous n'avons pas besoin du mot de passe du compte, juste de certaines informations associées. Il suffit alors de demander au titulaire du compte de nous les envoyer. Pour ça, il faut qu'une fois connecté, il aille télécharger ces deux fichiers : les informations du compte, et celles des applications (attention, il faut que l'application ait déjà été enregistrée sur le compte). Il peut ainsi vous envoyer toutes les données nécessaires à la génération, sans dévoiler d’informations sensibles.

Ce dont nous avons besoin :

  • Le Publisher (identifiant du compte, sous la forme "CN="+guid) et le PublisherDisplayName (nom du compte affiché dans le store)
  • Pour l'application (attention, il peut y en avoir plusieurs dans le second fichier) : le MainPackageIdentityName, et l'un des ReservedNames (à priori il n'y en a qu'un, s'il y en a plusieurs, choisir le nom par défaut)

Maintenant, allez dans le manifest de l’application, onglet Packaging :

Packaging

Et il faut remplir les informations suivantes :

  • Package name : mettre le MainPackageIdentityName
  • Package display name : mettre le ReservedName
  • Publisher display name : pas dûr, on mets le PublisherDisplayName

Ensuite, il faut changer le certificat. Cliquer sur "Choose certificate", puis "Configure certificate" et "create test certificate" :

Choose Certificate

Puis dans la fenêtre qui s'ouvre, remplacez le "Publisher common name" par l'identifiant du publisher (le guid qui suit le "CN=", mais ne mettez pas "CN=")

Create Test Certificate

Voilà, le package est prêt à être généré. Ces modifications du manifest sont en fait celles qui sont faites automatiquement par Visual Studio lorsque vous utilisez l'assistant.

Lancez l'assistant de génération de package. Il vous demande si vous voulez générer le package pour le Windows Store. Si vous choisissez oui, il vous demandera de vous loguer. Dites juste que vous voulez un package de test, et celui qui sera généré sera compatible avec le store. Vous pouvez l'envoyer à votre client, et le laisser faire l’upload.