Contexte:COM Extrayez ProgID exe sans l'enregistrer
Je voudrais extraire les données COM d'une application VB6 je peux enregistrer correctement si (selon Microsoft bonnes pratiques) l'application. J'utilise WiX 3.0 et heat.exe n'extraira pas les données (problème connu avec la chaleur) et je n'ai pas accès au fichier TLB associé. L'application VB6 n'a pas de compatibilité activée, donc elle régénère les GUID COM chaque build (Ils veulent que l'application puisse fonctionner côte à côte avec une ancienne version.)
J'ai créé une application C# qui va collecter les TypeLib, l'interface et les informations CoClass à partir de l'application VB6 sans l'enregistrer et créer un fichier wxs pour la bougie à utiliser. Mon entreprise a plusieurs autres applications plus anciennes comme celle-ci et j'aimerais en faire une solution plus générique.
Les enjeux:
1.Le il un moyen de recueillir la « vraie » ProgID (programmeur prévu un) de l'application avec le projet ou d'un fichier TLB et sans l'enregistrer?
2. Existe-t-il un moyen de connaître le modèle de thread souhaité à partir d'une DLL sans l'enregistrer? (J'ai l'intention qu'il peut gérer tous les éléments COM actifs, pourrait aussi bien être complet) Merci.
OLE-COM Object Viewer fourni avec Visual Studio peut le faire, c'est donc certainement possible. Bonne question! + 1 – ParmesanCodice
Cela se fait généralement en configurant la redirection de registre et en invoquant l'auto-inscription. Le composant COM n'est pas enregistré et je ne sais pas si cela satisfait la partie "sans l'enregistrer" de la question. J'utilise une version modifiée de suif: http://www.unicontsoft.com/upload/tallow/ – wqw
Mon intention était de voir si il n'y avait pas de faire des appels au registre. Je vais lire sur la redirection Merci. – mangelo