Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Problème fonction externe DLL lors du lancement d'un executable

Bonjour à tous,

 

J'ai créé un installeur qui génére mon application sous forme d'éxécutable. L'installeur et l'éxécutable fonctionne parfaitement sur certains PC. Par contre sur d'autres PC lors du lancement de l'application j'ai le message d'erreur suivant qui apparaît : 

IMG_0014[1].jpg

 

À noter que c'est le même installeur et le même éxécutable qui sont utilisés. La DLL est bien présente. Je n'ai pas accès aux fonctions de la DLL donc je ne sais pas comment elles sont rédigés.

 

Quelqu'un a-t-il déjà rencontré ce problème? Il faut que je puisse faire fonctionner cette application sur tout nos PC.

0 Compliments
Message 1 sur 8
5 005 Visites

Bonjour,

 

Il semblerait que ton application ne trouve pas la DLL. Pourrais tu donner quelques détails supplémentaires qui pourraient avoir leurs importance en comparant les cas qui fonctionnent et ceux qui ne fonctionne pas. Donc si tu peux les configs qui marchent avec au moins les points suivants et les configs qui ne fonctionnent pas.

- Système d'exploitation : Windows 7, Windows 8 ...?

- Version 32 ou 64 bits de Windows ?

- Origine de la DLL ? Installé avec ton exe ? driver a installer sur le PC ?...

- Emplacement de la DLL. A côté de ton EXE ? ailleurs

- Emplacement de ton exe : dossier spécifique, programs files ?

- Les droits d'accès du compte utilisé sur le PC .

 

Je demande ces différents points car sur ta capture, tu sembles utiliser Windows 8. Avec les Dll, les chemins et les droits d'accès ont leurs importance et suivant les versions de Windows, ca change pas mal.

 

Dans tous les cas, tiens bon et ne te recogne pas la tête contre ton écran, on va trouver une solution 🙂

 

 

 

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

0 Compliments
Message 2 sur 8
5 000 Visites

"Il semblerait que ton application ne trouve pas la DLL" : C'est ce que j'ai pensé au début. Mais il lit et énumère toutes les fonctions de la DLL et c'est après qu'il ne peut pas les éxécuter.

 

Config' qui fonctionne : Windows7 et Windows 8 64 bits. La DLL a bien été chargé avec le VI dans le builder car ces fonctions sont énumérées. Elle se situe dans le même dossier que le .exe . Effectivement il y a des drivers à installer mais s'ils ne sont pas installés l'application ne s'ouvre pas et un message d'erreur apparaît.

 

Le dossier contenant le .exe est dans programs files (*86) et les PC sont utilisés en mode administrateur. 

 

Config' qui ne fonctionne pas : Windows 8 64bits. C'est le même installeur et le même protocole qui est utilisé.

Donc si tu peux les configs qui marchent avec au moins les points suivants et les configs qui ne fonctionnent pas.

 

 En tout cas je te remercie de t'intéresser à mon problème. En espèrant trouver une réponse.

0 Compliments
Message 3 sur 8
4 990 Visites

Bonjour,

 

La liste des fonctions est connu dans le VI quand tu configures l'appel à la dll. Donc c'est peut être pas ca.

 

Tu pourrais faire les tests suivants  sur la machine windows 8:

 

- lancer l'application en mode administrateur. Clic droit exécuter en tant qu'admin.

Si ca corrige pas le problème

- tu pourrais mettre l'application et la dll dans un dossier du genre c:\MonApplication.et lancer l'exe en utilisateur normal et en admin ?

 

Les droits des applications dans le dossier Programs Files ont évolués entre Windows 7 et 8 ca pourrait avoir un lien. Par défaut, si une applciation n'est pas singé numériquement, on peut n'avoir accès qu'en lecture par exemple sur le dossier de l'application.

 

 

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

0 Compliments
Message 4 sur 8
4 983 Visites

Merci pour la réponse.

 

Je viens de tout désinstaller sur la machine où cela ne fonctionne pas.

J'ai relancé l'installeur en tant qu'administrateur et j'ai sélectionné le bureau comme destination. Dans le dossier de l'éxécutable il y a bien la DLL.

J'ai éxécuté le tout en tant qu'admin et le problème persiste. Je ne comprends pas...

 

0 Compliments
Message 5 sur 8
4 980 Visites

Ok,

 

La dll vient d'où ? est elle compatible Windows 8 ?

Tu as essayé de lancer ton exe en mode compatibilité Windows 7 ?

 

Tu pourrais installer LabVIEW sur une maachnie Windows 8 et vérifier en source si ca fonctionne ?

 

 

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

0 Compliments
Message 6 sur 8
4 973 Visites

Sur les autres PC en windows8 tout fonctionne, c'est vraiment propre à quelques PC.  C'est une DLL qui nous a été fournis, je ne peux pas y avoir accès mais si le programme fonctionne sur certain PC en windows8 je pense qu'elle est compatible. Labview est déja installé sur windows8.

 

Je voudrais bien essayer de vérifier en source mais je ne sais pas ce que cela signifie. Pouvez-vous me décrire la procédure?

 

Merci.

0 Compliments
Message 7 sur 8
4 967 Visites

Ah nouvelle information d'importance. Si sur certains PC en Windows 8 ca fonctionne, c'est que cette DLL oit dépendre d'autres éléments qui sont présents ou pas su rle PC. Si l'exécutable a fonctionnait sur des PC windows 8 64 bits, il faut chercher les différences entre des PCs a la configuration de base identique (Win 8 64 bits). Typiquement un run-time .net ou C++ utilisé par la Dll et qui serait manquant sur certains PC.

 

Pour ce qui est de le tester en source, celà signifie en installant LabVIEW sur un PC qui pose problème est ouvrir le VI qui appelle la dll et voir si tout fonctionne sur ce PC.

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

0 Compliments
Message 8 sur 8
4 965 Visites