Silverlight pour Windows Embedded 7 – Préparation de l’environnement de développement

Dans cet article, je vous propose de voir quels sont les outils et les configurations nécessaires pour pouvoir faire du développement d’applications Silverlight pour Windows Embedded 7. Cette nouvelle version d’OS embarqué nous propose en effet un moteur de rendu XAML (compatible Silverlight 3) piloté en "code behind" par du C++ natif. Nous aurons donc besoin de à minima de Visual Studio, Expression Blend, Platform Builder et Windows Virtual PC. L’objectif étant de préparer un émulateur Windows Embedded 7 qui tournera sous forme de machine virtuelle. Nous serons alors à même de commencer à développer et à tester nos applications.

Cette première partie se focalisera sur la préparation de l’émulateur. Une seconde partie fait l’objet de la partie pour le développement à proprement dit.

Le projet OSDesign pour Visual Studio 2008 SP1 est téléchargeable ici.
Le VHD contenant cet OS pour Windows 7 Virtual PC est téléchargeable ici.
Cet article est aussi disponible sur labs.bewise.fr

1- Les logiciels à installer

Il vous faut:

– Visual Studio 2008 SP1 (n’oubliez pas C++ dans les langages)

– Le SDK Silverlight 3 (si vous ne l’avez pas déjà installé)

– Expression Blend 3 ou 4

– Windows Virtual PC pour Windows 7 (Sur un OS serveur 2008 avec Hyper-V, cela ne fonctionnait pas sur mon environnement)

– Télécharger la CTP de Windows Embedded Compact 7 à cette adresse : https://connect.microsoft.com/directory/non-feedback/windows-embedded/ 
image

Comptez 8Go d’espace sur votre disque dur. Installez l’OS de préférence dans le répertoire proposé par défaut et évitez surtout les espaces dans les noms de dossiers.

L’installeur fournit Platform Builder qui s’intègre à Visual Studio 2008 SP1. En plus d’installer Platform Builder, pensez à cocher "Windows Embedded Silverlight Tools". Ces outils nous serons bien utiles pour le développement de nos applications ainsi que "x86 Architecture" pour installer le BSP (Board Support Package) pour Virtual PC pour l’émulateur.

image image

2- La préparation de l’OS Emulateur

Nous pouvons maintenant créer un nouveau type de projet dans Visual Studio 2008 "OS Design". Ce type de projet va nous permettre de sélectionner les fonctionnalités dans le catalogue des fonctionnalités de Windows compact 7 et de compiler notre système d’exploitation avec pour cible une machine x86 (en l’occurrence une machine virtuelle Windows Virtual PC). Bien sûr, la fonctionnalité qui nous intéresse le plus est le moteur XAML.

La procédure est la suivante :

– Créer un projet de type OS Design :
image

– Le SDK pour WinCE7 est détecté :
image

– Sur l’écran suivant, cocher le BSP "Virtual PC":
image

– Ensuite il faut choisir un "modèle" d’OS. Dans mon cas, je préfère passer par un "Entreprise Web Pad" et revoir ensuite les fonctionnalités dont j’ai besoin :
image

– Dans les options suivantes, j’ai décoché ".NetCompact Framework et VBScript" :
image

– Et pour ce qui est du réseau, j’ai coché le "Wired Network" dans la partie "Local Area Network" (LAN) :

image

– Ne pas cocher tout de suite la build sur l’écran de fin de l’assistant : nous devons d’abord revoir quelques éléments avant :
image

Le projet est maintenant créé, mais il faut ajouter quelques drivers, et surtout le moteur XAML : Silverlight For Windows Embedded.

– Ouvrir la fenêtre "Catalogs Items View" (menu "View >> Others Windows")

– Dans la partie BSP, déplier la partie "Device Driver" et cocher les drivers pour la carte réseau, pour la carte son éventuellement et pour le clavier pour WIN7VPC :
image

-  Dans la partie "Core OS", cocher "Silverlight For Windows Embedded" qui se trouve dans "Shell and User Interface >> Silverlight for Windows Embedded ". Au passage choisir aussi une résolution d’écran parmi celle proposées.
image

Maintenant notre OS Design contient ce qu’il faut pour faire tourner des applications Silverlight. Par contre, avant de pouvoir déployer ces applications depuis Visual Studio en mode "Debug" et de pouvoir faire du pas à pas par exemple, il nous faudra quelques outils. Ces outils nous permettront d’autoriser entre autre la connexion TCP depuis notre machine de dev à notre émulateur.

– Il faut donc récupérer les fichiers suivants qui sont généralement (sur une machine de dev "classique") ici : C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\x86\ :
Clientshutdown.exe
ConmanClient2.exe
CMaccept.exe
eDbgTL.dll
TcpConnectionA.dll

– Coller ensuite ces fichiers dans le dossier "C:\WINCE700\platform\VirtualPC\FILES" où C:\wince700 est le dossier racine de votre installation de la CTP de Windows Compact 7.

– Enfin il faut compléter le fichier OSDesign.bib de notre projet pour lui dire d’inclure ces fichiers dans l’OS. Les directives dans ce fichier vont nous permettre de placer des fichiers additionnels dans le dossier Windows de l’OS :

clientshutdown.exe $(_FLATRELEASEDIR)\clientshutdown.exe NK
CMAccept.exe $(_FLATRELEASEDIR)\CMAccept.exe NK
ConmanClient2.exe $(_FLATRELEASEDIR)\ConmanClient2.exe NK
eDbgTL.dll $(_FLATRELEASEDIR)\eDbgTL.dll NK
TcpConnectionA.dll $(_FLATRELEASEDIR)\TcpConnectionA.dll NK

image

Enfin, il faut modifier une option importante : "Enable KITL"  doit être mise à "No". Si je ne le fais pas, ma VM démarre mais reste en écran noir….

Pour cela, dans l’explorateur de solution faire un clic "droit" >> "Propriétés". Puis dans "Build Options" mettre "No" dans la zone "Enable KITL" :

image

Notre OS est maintenant prêt à être compilé. Prévoyez entre 20 min à 4H selon la machine !

Pour ma part je préfère compiler directement en "RELEASE" car je n’ai pas particulièrement l’intention de débuguer Windows :-).

La compilation est terminée avec succès :
image

Un fichier NK.bin a été générée dans le dossier "\RelDir\VirtualPC_x86_Release\" de votre projet d’OS Design.Le mien fait 36Mo. Ce fichier est la ROM de votre OS. Il faut maintenant la placer dans un disque dur virtuel et faire en sorte de booter dessus.

3 – La machine virtuelle

Pour préparer le disque virtuel, nous allons utiliser un petit outil bien pratique. Il va nous inclure le fichier NK.bin directement et en plus ajouter le fichier de boot "qui va bien" pour faire en sorte de démarrer l’OS présent dans ce fichier. Au passage vous pourrez même choisir le "SplashScreen" de démarrage.

L’outil s’appelle diskprep et se trouve ici : http://archive.msdn.microsoft.com/DiskPrep

image

– Choisir une dimension vidéo et surtout sélectionner la dernière option pour inclure le fichier NK.bin

– L’écran suivant demande le chemin du vhd à créer. Je vous conseille un disque assez grand si vos applications silverlight embarquent beaucoup de ressources comme des images. Utilisez par contre le mode "dynamically expanding" pour ne pas utiliser de l’espace pour rien.
image

– Une fois le disque créé, configurer une nouvelle machine virtuelle dans Windows Virtual pc :

image

– La machine n’a pas forcément un besoin excessif de RAM, en général je fais tourner à 512 ou 1024Mo

image

– Utiliser le VHD créé par diskprep

image

Il ne reste plus qu’à démarrer la VM pour vérifier que ça fonctionne:

image

4 – Le SDK Silverlight For Windows Embedded

Lors de l’installation de Windows Embedded, les outils WEST (Windows Embedded Silverlight Tools) sont installés. Mais cela ne suffira pas pour développer. Nous avons besoin du SDK pour utiliser le moteur XAML pour Embedded dans nos applications C++. Ce SDK se "fabrique" directement via votre projet d’OSDesign dans Visual Studio sous forme d’un installeur MSI. Une fois ce SDK "fabriqué",  nous aurons à l’installer afin que Visual Studio détecte correctement le SDK et nous permette de l’utiliser.

– Dans l’explorateur de solution de Visual Studio, faire un clic droit sur le dossier "SDKs" et choisir l’option "Add New SDK"

image

– Dans les pages de propriétés, remplir le nom du SDK pour qu’il soit bien identifiable par la suite ainsi que les autres informations relatives à la version du produit

image

– Choisir éventuellement le nom et le chemin du MSI qui va être généré.

image

– Une fois les options complétées, lancer une Build du SDK.

image

– Il ne reste plus qu’à installer ce SDK  : Il suffit de suivre l’assistant.

image

Vous êtes maintenant enfin prêt à développer !

Dans cet article, vous avez donc la procédure à suivre pour avoir tous les outils nécessaires au développement d’applications Silverlight pour Windows Embedded 7.
Maintenant que vous êtes prêt, nous verrons dans l’article suivant, comment faire votre première application, la déployer et la débuguer sur l’émulateur que nous venons de mettre en place.

Publié dans Silverlight Tagués avec : , , , , ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Verifions que vous êtes un humain * Time limit is exhausted. Please reload CAPTCHA.

Archives

Social

  • Twitter
  • LinkedIn
  • Flux RSS
  • mvp
  • technet
  • Google+