Communication avec une pointeuse

Signaler
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
salut
j'ai fais une application vb6 qui tente de faire connexion a une pointeuse et d'y extraire les données ( pointages)
une dll qui s'apelle zkemkeeper.dll est fournit avec la pointeuse qui englobe toute les fonctions (connection, lire ,fermer...)
mon probleme c'est, sur quelque poste, je ne peus pas enregistrer la dll : cad en tapant dans executer ceuci: Regsvr32 zkemkeeper.dll je me trouve avec ce message: loadlibrary 'zkemkeeper.dll' a echoué-le module spécifié est introuvable.
(j'ai dega copier la dll dans system32)
merci

22 réponses

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
salut,

Je pense que dans ce cas, ça pourrait venir d'une dépedance.
Si tu as installé les outils de Visual Studio, prend Dependency Walker (depends.exe) et regarde si il ne te manque pas une Dll.
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut,
Et en tapant le chemin complet :
Regsvr32 c:\windows\system32\zkemkeeper.dll
ça ne marche pas non plus ?
J'ai eu des cas dans ce genre.
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

le meme probleme en tapant Regsvr32 c:\windows\system32\zkemkeeper.dll
prend Dependency Walker (depends.exe) et regarde si il ne te manque pas une Dll.???? si vous m'expliquer un peu
merci
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Menu Démarrer/.../Microsoft Visual Studio.../Outils/Depends.

Une fois ouvert, menu File/Open et tu vas chercher ta dll

Après le mieux c'est de regarder la partie basse de l'écran, la colonne Module reprend toutes les dlls utilisées par celle-ci.

Attention toutes les dll ne sont pas à inclure, la plupart appartienne à windows.

Si tu sais pas faire le tri, poste la liste, on t'aidera

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Pour dependency Walker, tu peux le télécharger à cette url :
http://www.dependencywalker.com/
Cet utilitaire analyse la dll et te liste les dépendances (les fichiers dont ta dll se sert). Tu peux voir ainsi s'il ne manque pas un de ces fichiers sur ton poste.
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

voila la liste
ADVAPI32.DLL
COMMPRO.DLL
GDI32.DLL
KERNEL32.DLL
MSVCR71.DLL
MSVCRT.DLL
NTDLL.DLL
OLE32.DLL
OLEAUT32.DLL
RPCRT4.DLL
SHELL32.DLL
SHLWAPI.DLL
USER32.DLL
ZKEMKEEPER.DLL
ZKEMSDK.DLL
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
La dépendance importante de ZKEMKEEPER.DLL est ZKEMSDK.DLL.

Toutes les autres DLL appartiennent au système, il ne faut surtout pas les copier d'une machine à l'autre.

Sur la machine ou ça plante, vérifie que tu as zkemsdk.dll et au besoin réenregistre là. Puis essaye de réenregistrer zkemkeeper.dll.

Si pour déployer ton application, tu as fait un empaquetage, vérifie bien que ces 2 dlls sont présentes dedans.

Question : Tu développe en VB6 ou en .NET ? Si je ne m'abuse msvcrt71.dll appartient à .net2003.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

avec vb6
réengistrer zkemsdk.dll cad je tappe regsvr32 zkemsdk.dll  et je fais la meme chose avec zkemkeeper.dll
bon et si j'ai déga copier tous les autres dll que dois-je faire ???
Si pour déployer ton application, tu as fait un empaquetage, vérifie bien que ces 2 dlls sont présentes dedans<----j'ai pa bien compris
merci infinement
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Salut,



réengistrer zkemsdk.dll cad je tappe regsvr32 zkemsdk.dll  et je fais la meme chose avec zkemkeeper.dll>

L'ordre d'enregistrement n'a pas d'importance.

bon et si j'ai déga copier tous les autres dll que dois-je faire ???>Si Windows marche encore, c'est pas bien grave !

j'ai pa bien compris>En général pour distribuer un programme (Le donner à quelqu'un pour qu'il l'installe sur un autre PC) ont lui donne non pas l'exe mais un installeur (Aussi appelé empaquetage). Il te demandait juste que si tu en avait fait un, de vérifier qu'il contienne les deux dlls qui ne sont certainement pas présente sur le PC cible.

Tu confirmes qu'en tapant :

Regsvr32 c:\windows\system32\zkemkeeper.dll

avec zkemkeeper.dll dans system32, tu as le message d'erreur :

loadlibrary 'zkemkeeper.dll' a echoué-le module spécifié est introuvable

?

Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Oui essaye de faire ça.

Si tu as déjà copier les autres dlls, ne fait rien. J'espère seulement que les 2 machines ont le même Windows. Le risque c'est de rendre la machine instable. Croise les doigts pour que tout se passe bien.

Faire un empaquetage, c'est créer l'archive et l'utilitaire qui va te servir à installer ton logiciel sur les autres machines. C'est comme ça qu'il faut déployer une application. Copier l'exécutable ne suffit pas, surtout avec VB6.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
J'ai un peu perdu le fil, mais sur les PC où ton programme ne marche pas, si tu demandes à Depends les dépendances, les Dll dont a besoin le programme et qui sont manquantes sur le PC apparaissent en rouge. Si une Dll apparait en jaune, ca veut dire que la Dll existe sur le PC mais n'a pas la bonne version.

Donc toutes les Dll en rouges doivent être intégrée dans ton Setup d'install.

Vu que l'API que tu utilises a été développée avec VS .NET 2003, sur les PC où ça marche tu n'aurais pas le framework .NET d'installé ?
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

bonjour tlm
merci infinement pour votre aide
je vais essayer de faire un paquetage pour mon application et je vous informe des resultats merci
en faite si vous me proposer un logiciel qui m'aide a faire mon paquetage
merci une autre fois
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Pour un prog qui génère une intalle, Inno Setup est très utilisée par ceux qui trainent sur ce fofo.

D'après mes tests, la non présence d'une dépendance d'une dll ne provoque pas d'échec à la registration.

Détail des tests :

Exe (Avec Dll COM 1 dans ses références)
Dll COM 1 (Avec Dll COM 2 dans ses références)
Dll COM 2

Exe (Avec Dll COM 1 dans ses références)
Dll COM 1 (Avec un public declare d'une routine de "Dll Classique")
Dll Classique

Dans ces deux test, si "Dll COM 2" ou "Dll Classique" est absente ou non registrer, l'exe ne fontionne plus (Messages impossible de créer l'objet ActiveX dans le premier cas, impossible de charger la "Dll Classique" dans le deuxième cas).

Mais la registration/déregistration de "Dll COM 1" se passe toujours très bien.

Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
"...la non présence d'une dépendance d'une dll ne provoque pas d'échec à la registration..."

Ca dépend des cas. La plupart du temps, non, c'est à l'exécution que ça plante.

Mais ça m'est arrivé avec certaines dll, qui lors de l'enregistrement faisaient d'elles mêmes l'enregistrement des dépendances. Dans ce cas là, j'avais eu une erreur d'enregistrement parce qu'il me manquait une dépendance.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

alors si je crée un paquetage tous ça va marcher ???
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
C'est le but (si tu y met tous les fichiers nécessaires).

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

bon j'ai telecharger inno setup et je lui passer tous les fichiers que j'ai créer avec vb6 ansi que les dll necessaire
et j'ai suivi ses instructions
en fin lorsque j'installe mon programme il me donne une fenetre(comme msgbox)  intitulé hello avec le msge welcome to my program c'est tous:(
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Visiblement, tu as intallé un exe d'exemple fournit avec Inno Setup...

Si tu as du mal, y a un http://fred.just.free.fr/francais/Outils/IsTools.html' target='_blank'>logiciel qui est sensé faciliter l'emploi de Inno Setup (Qu'est déjà fort simple).

Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.
Messages postés
72
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
14 août 2008

bon j'ai reussi a faire un paquetage pour mon application mais tjours la meme probleme :(
je me suis bloker
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
14
Toujours le même problème, c'est à dire ?

Tu n'as plus à faire du regsvr32 si tu utilises le package (Mais il faut dire à InnoSetup qu'il faut registrer les dll COM (Y a un flag pour ça si mes souvenirs sont bon)...

Tu as donc toujours loadlibrary 'zkemkeeper.dll' a echoué-le module spécifié est introuvable à l'intalle ?

Tu peux peut être essayer autre chose pour voire... Il y une méthode qui permet de se passer de registration en utilisant des fichiers .manifest.

Voici un lien vers le source VB6.

Attention : la méthode de recherche des dépendances de ce soft laisse à désirer... Mais le reste est impec.

Je suis en deuxième année en école d'ingénieur etpassionné de développement logiciel sous D7 et VB6. Je cherche un stage en entreprise sur Paris de début avril à fin juillet 2007.