Question 178

Les logiciels écrits en Visual Basic sont-il compatible avec Windows Vista ?

Depuis l'arrivée de Windows Vista sur le marché, de nombreux développeurs Visual Basic 6 souhaitent connaître la compatibilité de leurs logiciels avec ce système d'exploitation. La réponse simplifiée est que les logiciels VB6 sont compatibles. Néanmoins, il sera peut-être nécessaire de lancer l'application avec des privilèges administrateur, ou en mode de compatibilité Windows XP.

Sécurité

Windows Vista impose une sécurité accrue en rapport de ses prédécesseurs. Il est donc important de prendre ce point en compte.

Notamment, les écritures dans des endroits inappropriés de la base de registre (notamment la plupart des clés de HKEY_LOCAL_MACHINE) ou du système de fichier (notamment Program files et ses sous-dossiers) ne seront réalisées que pour l'utilisateur local, à l'aide d'un stockage virtuel. Si votre application requiert réellement l'accès à de telles ressources, assurez-vous de réaliser et déployer un fichier manifest le spécifiant.

Par ailleurs, les appels directs à une fonctionnalité présente dans une dll à l'aide de rundll32 est déconseillé. En effet, lorsqu'une boite de dialogue UAC demande s'il faut effectivement cette opération, aucune icône ou texte n'indique explicitement quelle application en est responsable.

De nombreux autres recommandations concernant la sécurité sont encore expliquées dans le guide Windows Vista Application Development Requirements for User Account Control Compatibility.

Chemins de fichiers

Le chemin par défaut de nombreux dossiers est différent sous Windows Vista. Par exemple, le dossier contenant les données de tous les utilisateurs n'est plus "Documents and settings", mais simplement "Users". Même si des liens symboliques réalisent généralement la redirection pour assurer la compatibilité des applications, il est vivement conseillé de retrouver les dossiers corrects durant l'exécution.

Interface graphique

Le thème Vista est très diffèrent du thème XP, ou du thème Windows Classique. Aussi, si vous dessinez des composants non standards ou que certains positionnement de contrôles sont relatifs à un thème particulier, l'aspect de votre application peut ne plus être celui attendu.

Fonctionnalités du système

Lorsque votre application repose sur l'usage de composants système, tels que IIS ou ShadowCopy, il faut vous assurer de ne cibler que les éditions de Windows Vista disposant des composants.

Tester l'application

Le meilleur conseil qui puisse être donné est bien entendu de tester vous-même votre application sous Vista. Ceci peut être facilité par l'utilisation d'une solution de virtualisation, telle que VMWare ou Microsoft Virtual PC.

Si ce type de solution est inapplicable, il est néanmoins conseillé de :

  • vérifiez que votre application fonctionne sous un compte utilisateur restreint, sous Windows XP, pour les applications non administratives
  • tester votre application avec Microsoft Application Compatibility Toolkit 5.0
  • Faute de pouvoir tester vous-même, faites particulièrement attention au feedback des beta-testeurs utilisant ce système.

Pour aller plus loin

Date de publication : 06 mars 2008
Dernière modification : 06 mars 2008
Rubriques : Déploiement, Généralités, Windows
Mots-clés : Vista, Windows, compatible, compatibilité