Question

Quelqu'un peut-il me dire comment convertir une application héritée qui est vb6 (ocx et exes de la COM DLL) en Regfree COM?

J'ai essayé d'ouvrir les dll dans Visual Studio et de créer un fichier manifeste, mais certaines des dll auxquelles il donne une erreur.

Existe-t-il des outils pour m'aider à suivre ce processus?

J'ai essayé un outil de codeproject appelé regsvr42, qui ne crée pas complètement le manifeste.

J’ai utilisé des outils tels que PE explorer, où j’obtiens toutes les informations sur la typelib, mais les convertir en fichiers manifestes est trop difficile.

Nous avons commencé à migrer cela vers .NET. Depuis quelques mois, nous devons le déployer, ce sera plus facile s'il s'agit d'un déploiement basé sur xcopy.

Était-ce utile?

La solution

Pour créer des fichiers manifestes, vous pouvez essayer d’utiliser Make My Manifest à partir de http://mmm4vb6.atom5.com/ .

EDIT Le site Web de MMM est en panne. Je vois ici que l'auteur avait des problèmes avec leur hébergement et a fourni un autre emplacement pour obtenir Make My Manifest - téléchargez-le ici .

Si vous pouvez contrôler la création d'objets, vous pouvez utiliser DirectCOM à partir de http://www.thecommon.net /10.html

N'oubliez pas que si l'une des DLL ou OCX utilisées crée d'autres objets COM de manière dynamique avec des appels CreateObject, cette référence ne sera pas stockée dans le fichier de projet vbp et vous n'obtiendrez pas le fichier manifeste complet. Vous devrez probablement capturer des créations d'objet pendant que l'application est en cours d'exécution. L'application Depends.exe peut profiler l'application en cours d'exécution et signaler toutes les dll utilisées. Je ne sais pas s'il existe un outil capable de trouver des informations supplémentaires relatives à COM.

Autres conseils

Cet article sur MSDN contient une excellente procédure à suivre: Activation des composants COM sans inscription: Procédure pas à pas .

Make My Manifest peut accepter les liaisons tardives et anticipées. Vous devez simplement ajouter les références aux dépendances tardives manuellement, par emplacement de fichier ou par ProgId.

Vous pouvez consulter http://mmm4vb6.atom5.com/mmm-demo -1248.html pour une aide supplémentaire dans l'utilisation de l'utilitaire.

MakeMyManifest est bien présenté comme un outil automatique de création de manifestes pour les projets VB6. c'est moi-même. DirectCOM a aussi des fans, encore une fois, je ne l'ai pas essayé.

EDIT Le site Web de MMM est en panne. Je vois ici que l'auteur avait des problèmes avec leur hébergement et a fourni un autre emplacement pour obtenir Make My Manifest - téléchargez-le ici .

Il existe une technique semi-automatique. Vous pouvez créer les manifestes avec Visual Studio 2008 (vous pouvez utiliser une version gratuite telle que Visual Basic Express Edition). Ensuite, effectuez quelques modifications à la main pour que les manifestes puissent être utilisés à partir de VB6. Voir cette section de cet article MSDN pour obtenir des instructions pas à pas - ignorez le reste de l’article concernant ClickOnce.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top