[API] DLL déjà registered ???

Résolu
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 - 6 août 2010 à 19:30
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 6 août 2010 à 20:40
Bonjour,
Comment savoir si un fichier DLL est déjà registered ? Plus précisément, quel API permet de faire ça ?

5 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
6 août 2010 à 20:25
Du coup j'ai posté trop vite, je ne me suis pas relu (désolé) et je n'ai pas été à l'essetiel.

Tu n'as pas vraiment besoin de savoir quel composant est inscrit ou non. Je te conseille juste une chose c'est d'en faire la copie dans le répertoire système de l'OS avant d'appeler DLLSelfRegister ou regsvr32.exe peut importe la méthode, car si tu souhaite faire des logiciels portable (sur clé USB) par exemple, l'enregistrement d'un ActiveX, spécifie sont chemin d'accès au registre Windows, et si tu enregistre un ActiveX connu (mscomctl.ocx par exemple) et que d'autres applications s'en servent, l'emplacement de ce contrôle n'existera plus une fois ton USB retiré, les programmes utilisant cet ActiveX rechercheront alors un composant à un emplacement qui n'existe pas.

Donc pour moi tes script d'install devrons copier les dépendances, les enregistrés, si ces dépendances n'existent pas, si c'est déjà le cas alors pas besoin d'aller plus loin.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
6 août 2010 à 20:18
Salut,

Je suppose que ce message est en rapport avec ton précédent. Perso je ne sais pas si l'on peux savoir via une API.
En regardant dans le registre 'HKEY_CLASSES_ROOT\CLSID' si ma mémoire est bonne, contient toutes les clé détenant des informations sur les activeX enregistrés.

Il me semble que les IDE de vb le font de cette façon. Mais je ne veux pas dire de bétises.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 août 2010 à 20:34
Je pense que cette source pourra t'intéresser :

http://www.vbfrance.com/codes/TROUVER-CLASSID-DLL-ACTIVEX_41466.aspx

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 1
6 août 2010 à 20:36
Oui, c'est exactement ce que je comptais faire : copier les library dans le system puis les registered. Cependant, je n'avais tilté avec l'astuce du fichier présent dans system = déjà registered. Donc merci, ça règle ma question : tester la présence du fichier dans system.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
6 août 2010 à 20:40
fichier présent dans system = déjà registered

Dans 99,99% des cas mais pas toujours attention quand même !

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous