Est-il possible de charger un composant OCX pour une application à partir d'un emplacement différent de celui du système par défaut sans supprimer l'enregistrement dans le répertoire System32 avec regsvr32? Deux applications ont des conflits avec un composant OCX.Chargement d'un composant OCX à partir d'un emplacement différent
Répondre
Peut-être que l'activation sans inscription fonctionnera.
Cet exemple fonctionne-t-il dans VS2008 et Windows 7? J'ai un manifeste incorporé pour travailler en utilisant l'EDI mais cet exemple pour le manifeste externe ne fonctionne pas pour moi. –
Peut-être que les applications ont déjà intégré des manifestes? Je ne suis pas sûr si un manifeste externe peut ajouter des aspects à un manifeste incorporé existant (tels que les détails d'activation reg-free) –
Généralement, l'enregistrement gratuit COM fonctionne bien, mais c'est un peu flou sur la mise en forme du manifeste. Il existe des outils qui vous aident à générer le manifeste. Pour autant que je sache, c'est le Windows Dll-Loader lui-même qui a été modifié pour permettre une telle isolation, et je crois que cela ne fonctionne que sur XP et plus. Il fonctionne également uniquement pour les fichiers in-process tels que dll. La virtualisation d'applications est généralement un meilleur moyen de traiter les incompatibilités comme celle-ci, mais nécessite évidemment que vous ayez accès à de tels outils. –
Si le fichier OCX sont des versions differnt alors vous devriez être en mesure d'enregistrer les deux, mais il est peu probable qu'ils ont été versionné correctement (ou créé correctement) si la réponse que j'ai peur avec un objet COM est non.
Bienvenue sur DLL hell. Si vous avez 2 fichiers OCX portant le même nom, même s'ils se trouvent à des emplacements différents, vous rencontrerez toujours des problèmes COM. –
Quel langage de programmation utilisez-vous? – RRUZ
C++ dans VS2005 mais nous essayons de résoudre les conflits pour les applications déjà compilées –