Certains d'entre vous l'on déjà remarqué, la version 2 de notre application Yocto-Visualization ne tourne pas sous Windows XP. En fait, elle utilise le framework .Net 4.5 qui refuse de s'installer sur Windows XP. Cette semaine, nous vous montrons comment contourner le problème.
L'obsolescence de Windows XP
Vous vous en êtes peut-être rendu compte, Microsoft fait tout ce qui est en son pouvoir pour éradiquer Windows XP: plus de maintenance, les dernières versions de leurs outils refusent de s'installer sur ce vieil OS. On a même noté que par défaut, la dernière version de Visual-Studio génèrent des exécutables qui ne fonctionnent pas sur XP. Du point de vue de Microsoft, cette manière de faire peut se comprendre: pourquoi dépenser de l'argent à maintenir un système d'exploitation sorti il y a 17 ans et qui n'est plus vendu depuis presque 10 ans? Après-tout, l'utilisateur moyen, qui change de smart-phone tous les deux ans, peut bien se permettre d'acheter une nouvelle licence de Windows tous les dix ans, d'autant plus que la plupart du temps le changement se fait naturellement à l'occasion d'un changement de machine. Et tant pis pour le client s'il doit changer sa vielle imprimante par l'occasion.
Seulement voila, ce raisonnement ignore sciemment tout une catégorie d'utilisateurs: les industriels. Il y a encore dans le monde quantité d'ordinateurs sous XP qui servent à faire fonctionner des machines plus ou moins grosses. Ces outils de production, qui valent littéralement des millions, quand ce n'est pas des milliards, sont sensés fonctionner plusieurs dizaines d'années. Pas question de mettre à la casse une chaîne de production qui donne satisfaction parce que le système d'exploitation de ses ordinateurs de contrôle n'est plus à la mode. Quant à simplement remplacer Window XP par une version plus moderne, même les concepteurs de ces machines industrielles ne s'y risquent pas. En effet, elles sont le plus souvent constituées de sous-ensembles, fabriqués par des tiers, qui nécessitent quantités de drivers qui n'ont pas forcement leur équivalent sur un autre OS.
Chez Yoctopuce, on pense comme tout le monde qu'il est préférable migrer vers un OS plus moderne que Windows XP, ne serait-ce que pour profiter des mises à jour de sécurité, indispensables pour la survie d'un ordinateur dans l'internet moderne. Cependant, on pense aussi que ce n'est pas une raison pour abandonner à leur triste sort ceux qui ne peuvent pas migrer, quelles que soient leur raisons. C'est pourquoi on a modifié le code source de Yocto-Visualization pour qu'il puisse facilement être recompilé pour le Framework .Net 3.5, aisément disponible sur n'importe quelle machine XP. On ne compte pas mettre à disposition un installeur, mais le processus pour obtenir un exécutable est relativement simple.
Recompiler Yocto-Visualization pour .Net 3.5
Etape 1
Si n'est déjà fait, installez Visual-Studio sur votre machine, vous pouvez le télécharger gratuitement depuis le site de Microsoft. Vous aurez besoin de la version 2015 au minimum. Notez que la version 2017 ne s'installera pas sur XP, par contre vous pouvez faire cohabiter plusieurs versions de Visual-Studio sur la même machine et nous n'êtes pas obligés d'utiliser une machine XP pour compiler un programme qui tournera sous XP.
Etape 2
Téléchargez les sources de Yocto-Visualization sur gitHub, elles sont disponibles sous la forme d'un fichier ZIP que vous pourrez décompresser où bon vous semble.
Téléchargez les sources de Yocto-Visualization
Etape 3
Ouvrez le fichier YoctoVisualization.csproj avec Visual-Studio. Ouvrez les propriétés du projet, et dans l'onglet application, changez le paramètre target framework pour .NET Framework 3.5.
Changer le version du framework
Etape 4
Recompilez l'application, et vous trouverez dans le sous-répertoire "bin/Debug" un executable "YoctoVisualization.exe" que vous pourrez utiliser sur XP. N'oubliez de copier "yapi.dll" et "amd64\yapi.dll" en même temps que l'exécutable.
Le prix à payer
La version standard de Yocto-Visualization tire partie de quelques optimisations disponibles seulement à partir de .Net 4.5, une version compilée pour 3.5 sera donc un peu plus lente, mais cela nous a semblé un compromis acceptable. A vous de jouer !