Depuis les premières annonces à propos du prochain système d’exploitation mobile de Microsoft, Windows Phone 7, on peut facilement comprendre que l’éditeur souhaite mettre tout en place pour la satisfaction du client finale. En effet, celui-ci mise en grande partie sur l’aspect esthétique et ergonomique de l’interface mais également sur la qualité des applications qui seront déployés sur le MarketPlace. Pour que la satisfaction cliente soit maximum, et donc que les demandes de remboursement d’applications qui pourrait planter, ou ne pas convenir à l’utilisateur, une série de dispositions ont été mises en place.
La première est d’uniformiser le hardware des téléphones qui seront distribués sous différentes marques (Samsung, HTC…). Tous les téléphone devront répondrent à un cahier des charges matériel très stricte, que ce soit au niveau du processeur, de la quantité de mémoire, ou les trois bouttons en facade du téléphone… Je ne rentrerai pas dans les détails techniques, pour cela, consultez l’article de Pierre Cauchois sur MSDN. Les bénéfices de cette régle imposée à tous les constructeur est toute simple, vous, développeurs, n’aurez à créer des applications que pour du matériel que vous connaitrez à l’avance. Par exemple, vous savez que l’écran de l’utilisateur finale aura obligatoirement une résolution de 800x400 ou de 480x320 (chacune en mode portrait et paysage).
Le second impératif est d’avoir une version trial de ses applications payantes afin que l’utilisateur final puisse tester l’application et vérifier qu’elle correspond bien à son désir, et donc qu’il payera une application qu’il aura vraiment souhaitée. Le gros avantage apporté par le SDK de Windows Phone 7 et du MarketPlace est qu’il est vraiment très simple de créer une version trial de vos applications et ce, de façon sécurisée. C’est ce que nous allons voir dans cet article.
Lorsque vous aurez créé votre application Windows phone 7 sous Visual Studio 2010, importez le namespace Microsoft.Phone.License.

Ensuite, dans votre application créer une instance de la classe LicenseInfo qui ne contient qu’une fonction nommée IsTrial() qui vous retourne true l’application est lancée en mode trial et logiquement false si vous être en mode complet.
LicenseInfo license = new LicenseInfo();
if (license.IsTrial())
{
// Mode Trial
// Afficher un message par exemple
// pour confirmer le mode trial
}
Attention, actuellement cette méthode retourne toujours true. Donc si vous souhaitez vous faciliter la tâche de développement, pensez-y. Vous pouvez utiliser les symboles de compilation conditionelle (exemple #IF DEBUG) en créant plusieurs configurations en passant par le gestionaire de configuration :
