16.03.2009, 14:24
Beitrag #1
|
geist07
LVF-Gelegenheitsschreiber
Beiträge: 127
Registriert seit: Dec 2007
8.5, 8.6, 2009SP1,2010,2011
2007
kA
994xx
Deutschland
|
*.dll nicht gefunden
Hallo,
folgendes PB:
Ich habe mit dem Applicationbuilder eine *.exe erstellt und in diese mit *.dlls eingebunden. Das Funktioniert. Schiebe ich den Ordner mit der *.exe und den *.dlls auf einen anderen Rechner ohne Entwicklungsumgebung bekomme ich die Meldung dll-Datei XY-konnte nicht gefunden werden. Dabei handelt es sich aber um eine *.dll die definitiv im Ordner system32 vorhanden ist. Diese Meldung betrifft nicht die von mir eingebundenen *.dlls.
Auf dem Zielrechner ist die entsprechende LV-Runtime bereits installiert. Kann die Fehlermeldung daran liegen dass auf dem Rechner keine Administratorrechte vorliegen?, konnte aber in den Ordner system32 *.dlls hinzufügen, kann nur keine Programme installieren. Oder liegt es daran das ich den noch benötigten DAQ-treiber noch nicht installiert habe, oder liegt es an was ganz anderem?
geist07
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
|
|
|
16.03.2009, 14:48
Beitrag #2
|
|
|
16.03.2009, 14:56
Beitrag #3
|
geist07
LVF-Gelegenheitsschreiber
Beiträge: 127
Registriert seit: Dec 2007
8.5, 8.6, 2009SP1,2010,2011
2007
kA
994xx
Deutschland
|
*.dll nicht gefunden
' schrieb:In dem DLL-Aufrufknoten sollte nur xy.dll stehen ohne Pfad.
danke für den tipp, wieder dazugelernt.
' schrieb:Vielleicht steht in dem VI mit dem DLL-Aufruf der Pfad : c:winntsystem32xy.dll drinn.
Auf dem Zielrechner heisst der aber c:windowssystem32xy.dll ...
aber mein Pb bleibt weiterhin ungelöst, die Pfade sind auf beiden rechnern identisch.
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
|
|
|
16.03.2009, 15:17
Beitrag #4
|
|
|
16.03.2009, 15:40
Beitrag #5
|
geist07
LVF-Gelegenheitsschreiber
Beiträge: 127
Registriert seit: Dec 2007
8.5, 8.6, 2009SP1,2010,2011
2007
kA
994xx
Deutschland
|
*.dll nicht gefunden
' schrieb:Was noch sein könnte (bin ich aber nicht sicher)
- Mit neueren LV Versionen, geht das kopieren nicht mehr, je nach dem muss ein installer gemacht werden.
- ev. braucht es das NI-DAQmx eben doch
- neue DLL müssen im System registriert werden (regsvr32), oder gilt das nur für ActiveX.dll?
- du verwendest VISTA
Ich hatte aber bis jetzt noch nie solch ein Problem mit den "System-DLL"
ich werde dann doch erstmal den DAQmx installieren und es nochmal probieren,
nein ich verwende XP,
Eine weitere Frage, weil du es erwähntest: Beim erstellen der exe habe ich die Meldung bekommen "Fehler beim kopieren von dll". Daraufhin ist die Erstellung abgebrochen. Die dll die das Problem verursachte habe ich später in den Ordner der exe mit kopiert. woran kann diese meldung liegen?
Wenn ich einen Installer mache gehe ich dann korrekt davon aus, das ich erst die exe mit eingebundenen dlls. machen muss und anschließend aus dem entstehenden Ordner die Installationsroutine erzeugen muss?
Eine Anmerkung zu meinem ersten Problem. Wenn ich meine erzeugte exe auf einem 3. Rechner laufen lasse, hier existiert die Entwicklungsumgebung ebenfalls, funktioniert das ganze problemlos.
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
|
|
|
17.03.2009, 07:45
Beitrag #6
|
geist07
LVF-Gelegenheitsschreiber
Beiträge: 127
Registriert seit: Dec 2007
8.5, 8.6, 2009SP1,2010,2011
2007
kA
994xx
Deutschland
|
*.dll nicht gefunden
eine dll di nicht gefunden werden kann heißt unter anderem nipalu.dll,
weiß jemand ob die zum DAQ gehört?
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
|
|
|
19.03.2009, 10:43
Beitrag #7
|
rolfk
LVF-Guru
Beiträge: 2.305
Registriert seit: Jun 2007
alle seit 6.0
1992
EN
2901GG
Niederlande
|
*.dll nicht gefunden
' schrieb:Was noch sein könnte (bin ich aber nicht sicher)
- Mit neueren LV Versionen, geht das kopieren nicht mehr, je nach dem muss ein installer gemacht werden.
- ev. braucht es das NI-DAQmx eben doch
- neue DLL müssen im System registriert werden (regsvr32), oder gilt das nur für ActiveX.dll?
Registrierung ist normalerweise eine reine ActiveX Angelegenheit.
And den OP: Du sagst dass es um eine DLL geht die in system32 steht, welche ist das denn???
Rolf Kalbermatter
|
|
|
19.03.2009, 10:54
Beitrag #8
|
rolfk
LVF-Guru
Beiträge: 2.305
Registriert seit: Jun 2007
alle seit 6.0
1992
EN
2901GG
Niederlande
|
*.dll nicht gefunden
' schrieb:eine dll di nicht gefunden werden kann heißt unter anderem nipalu.dll,
weiß jemand ob die zum DAQ gehört?
Ja absolut sicher, obwohl es nicht nur NI DAQ ist. Das ist die NI Platform Abstraction Layer Utility DLL. Also ein Teil des NI PAL Treibers. Das ist ein Treiber der die Hardware Platform abstrahiert, so dass DMA, Interrupt und Speicherzugriff aus Sicht der darüberliegenden NI Treiber für alle Platformen (Windows 32Bit, 64Bit, Linux, Mac OSX, RT, etc) genau gleich aussieht. Als solches wird es von jedem NI Hardware Treiber in der einen oder anderen Form gebraucht. Die DLL ist der User Space Teil davon, der von LabVIEW zum Beispiel indirekt benützt wird wenn Du in irgendeiner Weise DAQ VIs eingebaut hast. Das ist daran zu sehen dass beim Builden der Applikation z.B. lvdaq.dll oder nilvaiu.dll mit in den Build genommen wird aber ist nicht der einzige Grund.
Rolf Kalbermatter
|
|
|
21.03.2009, 22:08
Beitrag #9
|
geist07
LVF-Gelegenheitsschreiber
Beiträge: 127
Registriert seit: Dec 2007
8.5, 8.6, 2009SP1,2010,2011
2007
kA
994xx
Deutschland
|
*.dll nicht gefunden
Danke für eure Hilfe,
nach der Installation von Ni-DAQmx 8.9 befindet sich genannte dll im System32 und auch die erstellte exe lässt sich problemlos starten
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen." (Albert Einstein)
|
|
|
| |