Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Executable et ActiveX

2 réponses
Avatar
Ed Lapoignee
Bonjour à tous,

voici mon problème :

J'ai deux programmes qui utilisent un même ActiveX mais dans deux versions
différentes.

Par exemple :

Mon programme A utilise la version 1.0 de mon ActiveX N.

Mon programme B utilise la version 2.0 de mon ActiveX N

Ces deux programmes sont installées par un setup.exe standard qui pour
chacun d'eux installe mon ActiveX dans System32.

Ce que je veux faire c'est que chacun de ces setup.exe installe sa propre
version des ActiveX dans le dossier d'installation de mon application afin
que chacun de mes programmes puisse utilisé la bonne version.

1 : J'ai donc créé pour chacun de mes programmes un fichier MonExe.exe.local
qui se trouve dans le dossier de mon application.

Mais comment puis-je faire en sorte que le composant instancié soit bien
celui de mon programme ?

2 : Dois-je installé mes ActiveX sans les enregistrer, puis les enregistrer
au démarrage de mon programme ou bien est-ce que le fait d'utiliser le
fichier .exe.local suffit à instancier les bonnes version des ActiveX qui
sont enregistrés par le setup.?

En espérant avoir été clair,

Merci à tous pour vos réponses.

A+

2 réponses

Avatar
Ed Lapoignee
j'ai oublié de préciser que j'étais en VB6

A+

"Ed Lapoignee" a écrit dans le message de
news:
Bonjour à tous,

voici mon problème :

J'ai deux programmes qui utilisent un même ActiveX mais dans deux versions
différentes.

Par exemple :

Mon programme A utilise la version 1.0 de mon ActiveX N.

Mon programme B utilise la version 2.0 de mon ActiveX N

Ces deux programmes sont installées par un setup.exe standard qui pour
chacun d'eux installe mon ActiveX dans System32.

Ce que je veux faire c'est que chacun de ces setup.exe installe sa propre
version des ActiveX dans le dossier d'installation de mon application afin
que chacun de mes programmes puisse utilisé la bonne version.

1 : J'ai donc créé pour chacun de mes programmes un fichier


MonExe.exe.local
qui se trouve dans le dossier de mon application.

Mais comment puis-je faire en sorte que le composant instancié soit bien
celui de mon programme ?

2 : Dois-je installé mes ActiveX sans les enregistrer, puis les


enregistrer
au démarrage de mon programme ou bien est-ce que le fait d'utiliser le
fichier .exe.local suffit à instancier les bonnes version des ActiveX qui
sont enregistrés par le setup.?

En espérant avoir été clair,

Merci à tous pour vos réponses.

A+




Avatar
Patrick Philippot
Bonjour,

Mais comment puis-je faire en sorte que le composant instancié soit
bien celui de mon programme ?



De deux choses l'une

- ou bien les 2 versions du contrôle ActiveX ont le même CLSID auquel cas la
présence du fichier .local suffit à rediriger le chargement vers la copie
locale si elle est présente (c_à-d, s'il y a un ActiveX Control avec le bon
CLSID - celui qui est référencé par l'application - dans le répertoire de
l'exe). Mais vos infos sont contradictoires: il faut que l'ActiveX Control
soit installé dans le répertoire local. Or vous indiquez une fois qu'il est
installé dans SYTEM32 et juste après qu'il est installé dans le répertoire
de l'appli correspondante. Quid?

- ou bien les 2 versions ont un CLSID différent: dans ce cas, la distinction
est automatique puisqu'il s'agit en fait de 2 composants différents. Dans ce
cas, le fichier .local est inutile.

Cordialement.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr