Beaucoup d'entreprises redoutent qu'une mise à jour vers Windows 10 ou 11 ne condamne leurs vieilles applications Visual Basic 6. Dans la majorité des cas, cette crainte est infondée : Microsoft continue de fournir le runtime VB6 avec Windows. Mais il y a des nuances à connaître.
Ce qui fonctionne toujours
Le cœur du runtime Visual Basic 6 (MSVBVM60.dll) est distribué avec Windows 10 et 11. Une application VB6 « standard », qui n'utilise que des composants de base, démarre donc généralement sans manipulation particulière. Microsoft s'est engagé à supporter le runtime pendant toute la durée de vie de Windows.
Ce qui peut coincer
- Les contrôles ActiveX / OCX tiers : ce sont eux, et non VB6 lui-même, qui posent le plus souvent problème. Ils doivent être présents et correctement enregistrés (
regsvr32) ; - Les architectures 64 bits : les applications VB6 sont en 32 bits, ce qui reste supporté, mais certains composants ou pilotes 16 bits historiques ne le sont plus ;
- Les chemins et permissions : l'écriture dans
Program Filesou dans la base de registre, tolérée autrefois, est désormais restreinte par l'UAC ; - Les dépendances de base de données anciennes (pilotes ODBC/OLEDB obsolètes) parfois absentes des systèmes récents.
Quand une application refuse de démarrer
Le plus souvent, l'erreur pointe un composant manquant ou non enregistré. Identifier précisément la dépendance fautive dans un exécutable dont on n'a pas les sources peut être délicat. C'est un cas où l'analyse du binaire aide : VBReFormer liste les composants COM, OLE et ActiveX référencés par l'application, ce qui permet de repérer immédiatement quelle dépendance installer ou réenregistrer. La version gratuite suffit pour cette inspection.
Et à plus long terme ?
Faire tourner du VB6 sur Windows 11 est une chose ; en assurer la maintenance sur la durée en est une autre. Si vous avez perdu le code source, c'est le bon moment pour le récupérer, voire pour envisager une migration vers .NET. Mais rien ne presse : tant que Windows fournit le runtime, votre application continue de tourner.