2010-05-05 8 views
2

Espérons que c'est une question simple, mais googling s'est avéré infructueux (et frustrant, pour dire le moins). Des liens vers une bonne documentation seraient grandement appréciés.Comment créer plusieurs versions d'un contrôle ActiveX?

Voici le problème. Nous avons une application web avec un contrôle ActiveX associé. (Le contrôle enveloppe une ancienne application MFC crufty si cela est important.) Pour l'avenir, nous prévoyons de publier plusieurs versions de cette application, et chacune aura une version correspondante du contrôle.

Si quelqu'un accède à deux versions de l'application Web, cet utilisateur doit se retrouver avec deux versions différentes du contrôle sur son système. (Les contrôles devraient être sympas et ne pas s'entrechoquer). De plus, je veux automatiser ce processus. Notre système possède un numéro de version global qui s'applique à tous les composants. Si nous modifions le numéro de version, la prochaine génération devrait produire une nouvelle version du contrôle.

Quelle est la meilleure façon de faire cela?

+0

Avez-vous pu résoudre ce problème? Je rencontre le même problème et chaque fois que j'installe une nouvelle version, ma vieille version ActiveX est corrompue. Je change des guids pour tous les composants et interfaces publiques pour chaque nouvelle version. –

Répondre

1

Si votre contrôle ActiveX est exactement le même pour toutes les versions de votre application, vous ne devriez pas changer la version du contrôle pour éviter un processus d'installation ennuyeux pour les utilisateurs finaux. La version AX est nécessaire pour la mise à jour automatique si nécessaire.

Si le contrôle diffère pour chaque version, j'utiliserais des CLSID différents pour les contrôles.

+0

L'ActiveX n'est pas la même pour toutes les versions de notre application. Il semblerait que la seule façon de résoudre le problème comme je l'ai décrit est d'assigner un nouveau CLSID à chaque version du contrôle comme vous le suggérez. Malheureusement, cela en ferait une bête à automatiser. Nous avons fini par simplement relaxer nos exigences. Les utilisateurs vont maintenant télécharger le contrôle si c'est plus récent que la version qu'ils ont installée. –

Questions connexes