Dans le cadre de ma découverte de Windows Seven, j'ai travaillé sur la validation de mes précédentes versions de Gadget pour Windows VISTA.
Ainsi, j'ai trouvé quelques différences ou astuces dans le développement sur cette nouvelle plateforme.
Impossible de travailler dans le répertoire direct des gadgets
En effet, les gadgets peuvent être stockés dans différents répertoires :
- Personnel: C:\Users\[UsrLogin]\AppData\Local\Microsoft\Windows Sidebar\Gadgets\
- Global: C:\Program Files\Windows Sidebar\Gadgets\
Sous VISTA, il était donc courant de travailler directement dans le répertoire global afin de simplifier le développement. Ceci est impossible avec Windows Seven qui semble charger la liste des Gadgets de ce répertoire une seule fois et non à chaque rechargement du processus SideBar.exe (comme sous VISTA).
Il existe en revanche un troisième répertoire qui supporte ce type de fonctionnement :
- Shared: C:\Program Files\Windows Sidebar\Shared Gadgets\
Il suffit donc de placer ses Gadgets dans ce répertoire et de travailler comme avant pour le développement.
Chargement des modifications effectuées
Attention, comme je l'ai expliqué dans un message précédent la SideBar n'a plus le même fonctionnement que pour VISTA.
Ainsi, pour que le chargement des modifications se fasse correctement, il faut maintenant simplement supprimer toutes les Gadgets de son bureau afin que le processus SideBar.exe se coupe. Ensuite, on peut ajouter la Gadget sur son desktop afin de tester ses modifications.
Ce fonctionnement impose des modifications dans la manière de les développer, car on est alors obigé d'en conserver une seule sur son bureau (celle en cours de développement).
Le concept du Dock/UnDock
J'avais aussi signalé que cette notion (Dock/UnDock) a été remplacé sous Seven par "Larger size/Smaller size", ce qui peut modifier certaines parties du code.
En effet, on pouvait avec VISTA être tenté de conserver la même fonction pour les deux statuts et de faire ainsi exécuter la même action que l'on soit dans la barre ou à l'extérieur.
Il suffisait pour cela de définir la fonction (par exemple "procDock"), puis d'ajouter dans la fonction d'initialisation les déclarations suivantes :
System.Gadget.onUndock = procDock;
System.Gadget.onDock = procDock;
Ceci ne fonctionne plus du tout avec Seven, et fait même directement planter votre Gadget. Celle-ci se retrouve alors bloquée et vous devez couper le processus SideBar.exe, puis de reparcourir les Gadgets disponibles pour le récupérer.
Il faut donc bien tester le fonctionnement de vos composants sous Windows Seven afin de valider que des astuces de développement provoque des erreurs comme celle précitée.
Bug du site Gallery Live.com
Je ne reviendrai pas sur la pertinence de ce site, mais j'ai encore trouvé plus stupide que précédemment. Ainsi, ce site ne supporte simplement pas du tout :
- Internet Explorer 8, qui est pourtant le navigateur par défaut de Windows Seven
- FireFox
Il faut donc proposer son composant en passant par Internet Explorer 6 ou 7. Dans le cas contraire, vous tomberez sur le message suivant "The path for the file isn't in the correct format." en fournissant le chemin de votre fichier .gadget.
L'explication a été trouvé sur un forum :
Vous êtes donc obligé de passer par une autre machine ayant un de ces deux navigateurs afin de faire cette mise à jour.
Conclusion
Bien que cette version de Windows Seven soit une pré-Beta, il est important de voir déjà si vos composants sont toujours fonctionnels avant que celle-ci soit livrée. Ceci afin d'avoir le minimum de surprise lors de son déploiement.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire