Deux de nos programmes utilisent le même serveur COM (également créé par nos soins) avec les mêmes identifiants de classe. Chaque programme lors de l'installation copie les fichiers du serveur COM dans son dossier et regsvr32
s le serveur COM.Puis-je utiliser des manifestes pour consommer un serveur COM sans spécifier sa version?
Le problème est de savoir comment installer le serveur COM afin que l'utilisateur puisse installer l'un de nos programmes ou les deux dans des dossiers différents dans n'importe quel ordre et probablement dans des versions différentes. Clairement c'est impossible sans changer les identifiants de classe et c'est beaucoup de tracas avec des configurations. Idéalement, nous aimerions utiliser des manifestes pour cela et aller sans regsvr32
. Le problème est chaque fois que je lis à propos de COM sans reg (par exemple, here) il y a l'attribut version
dans le assemblyIdentity
. Le numéro de version devrait changer tous les soirs et je n'aime absolument pas l'idée de l'ajuster (automatiquement). Je comprends pourquoi spécifier une dépendance sur une version spécifique est bon, mais c'est complètement inutile dans notre scénario.
Existe-t-il un moyen d'écrire des manifestes pour le serveur COM et le consommateur afin qu'ils ne spécifient pas de versions et fonctionnent avec la version du fichier qui se trouve dans le dossier? Aussi existe-t-il un moyen de restreindre la recherche au même dossier que le consommateur?