2010-12-09 6 views
4

Je développe deux applications qui ont toutes les deux .NET4 assemblage du même nom, version différente. Cet assembly expose certains objets COM. Est-il possible d'installer les deux applications et de gérer les objets COM des deux assemblages? J'ai une expérience décente avec les assemblys .NET, mais pas beaucoup de COM. Merci d'avance pour aider un néophyte.Windows version COM objets

Répondre

4

La gestion des versions dans COM est effectuée, à un niveau bas, en versionnant les interfaces et en modifiant le CLSID (AND IID de toute interface modifiée). Le ProgID du contrôle est également versionné en ajoutant un numéro .version. Évidemment, les chemins d'installation doivent être différents. Par exemple, pour charger Internet Explorer en tant que contrôle Web, vous pouvez créer l'objet "shell.explorer" pour créer la dernière version, "shell.explorer.1" "shell.explorer.2" etc. différentes versions du contrôle shell.explorer - enregistrées sous différents CLSID - elles partagent le même VersionIndependentProgID, donc lorsqu'une application essaie d'instancier le ProgID sans version, elle obtient la dernière version.