Publié le 23 mars 2007
Exécuter des programmes sous VISTA tient un peu de la roulette russe. Un exemple : l’autre jour, alors que j’utilisais un de mes programmes tranquillement, paf ! Un beau message d’erreur sur une commande HExtraitMemo().
Pourquoi ? HExtraitMemo() a essayé de créer un fichier dans le répertoire courant. Où est le mal ? L’application est dans le répertoire /program files/ dans lequel il est interdit d‘écrire, à moins d‘être en mode d’exécution administrateur.
J’ai eu de la chance (comme dirait Picasa). Le plus souvent VISTA ne dit rien, mais ne fait pas ce qu’on lui demande.
UAC et virtualisation du disque font que de nombreux programmes ont un comportement imprévisible. Votre application va planter ou pire, ne pas faire ce qu’elle doit faire, si elle réalise des opérations aussi fantastiques que :
C’est le bug de l’an 2000 boosté aux amphétamines, car pour l’an 2000 on savait un peu où chercher, notamment dans les parties du code s’occupant des dates. Avec VISTA, toute ligne de code devient suspecte.
Pour les tests, c’est encore plus drôle. Il faut excuter le programme en mode utilisateur, puis en mode administrateur. C’est pas fini. Il faut aussi penser à tester avec l’application placée dans un répertoire protégé ( /Program files/ par exemple) et dans un répertoire normal.
Et c’est pas fini ! Quand vous aurez bien compris les implications de l’UAC et de la virtualisation des répertoires, il faudra passer au mode 64 bits. En 64 bits, tout change !
Joyeux an 2000