LabVIEWForum.de - dll in Ordner data

LabVIEWForum.de

Normale Version: dll in Ordner data
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

gerne würde ich wissen, wie man eine dll in den /data Ordner der exe durch das builden bekommt. Eine dll welche direkt verwendet wird, kopiert es automatisch nach /data, aber wenn es weitere dll erfordert die nicht direkt der code sieht kann mann diese dll's nicht bei dem exe build in den /data Ordner platzieren.
Ich habe dies im installer hinzugefügt. Dann liegen die aber nicht in /data sonderen im root Verzeichnis eine Ebene höher.

Wie kann man solche dll's in /data bekommen?

Merci
Füge die dll im LabVIEW-Projekt hinzu. Alle Dateien, die in der lvproj-Datei verlinkt sind, kannst du sowohl beim Exe-Build oder bei der Installer-Erstellung beliebigen Ziel-Verzeichnissen hinzufügen.

Gruß, Jens
Zitat:beim Exe-Build oder bei der Installer-Erstellung beliebigen Ziel-Verzeichnissen hinzufügen
Wie macht man das? Ich versuche die dll's in den /data Ordner zu verlinken was jedoch nicht geht.
Hallo GT,

vielleicht so:
[attachment=60418]
Die Datei "PST1 - ChangeLog.txt" ist bei den Quelldateien als "Immer enthalten" eingetragen. Im Bild siehst du dann, wie man den Zielort der Datei festlegen kann…
Hallo GerdW,

bestens nun geht es. Ich hatte diese dll's nicht als "always included".

Vielen Dank und Grüsse
Es gibt doch noch ein Problem, in der Runtime Umgebung findet die App die dll's nicht wenn diese im /data Ordner liegen. Sind diese hingegen im exe-root Verzeichnis dann geht es. Kann der /data Ordner irgendwie mit ins "Suchverzeichnis" der dll's eingebunden werden? Oder wie wird dies grundsätzlich umgesetzt?

Merci
Hallo GT,

dazu findest du im NI-Forum einige Threads, in denen RolfK schon gute Erläuterungen zum Thema "Einbinden von DLLs" gibt.

Kernaussage: du musst die DLLs so installieren, wie sie von Windows (und den DLLs selbst) erwartet werden - und nicht so, wie du es gern hättest!
Gibt es für diese DLLs keinen ordentlichen separaten Installer?
(10.10.2019 10:51 )GerdW schrieb: [ -> ]Gibt es für diese DLLs keinen ordentlichen separaten Installer?
Nein gibt es nicht.
(10.10.2019 10:51 )GerdW schrieb: [ -> ]Kernaussage: du musst die DLLs so installieren, wie sie von Windows (und den DLLs selbst) erwartet werden - und nicht so, wie du es gern hättest!
Also es funktioniert ja wenn es unter dem exe root Verzeichnis liegt, ich frage mich weshalb es unter "root"/data nicht gefunden wird? LV legt ja diese dll's extra dort ab.
Ich glaube nicht das es ein Problem von Windows ist.
Hallo GT,

Zitat:Also es funktioniert ja wenn es unter dem exe root Verzeichnis liegt
Weil die DLLs und Windows zufälligerweise (?) auch im Verzeichnis deiner EXE nachschauen.

Zitat:ich frage mich weshalb es unter "root"/data nicht gefunden wird?
Weil das kein Standard-Suchort für fehlende DLLs ist…

Zitat:LV legt ja diese dll's extra dort ab.
Und sorgt dafür, dass die CLFN-Aufrufe in deiner EXE eben auch dort nach diesen DLLs suchen.

Zitat:Ich glaube nicht das es ein Problem von Windows ist.
Doch: wenn die von deinen CLFN aufgerufenen DLLs nun nach weiteren DLLs suchen, nutzen sie den Standard-Windows-Mechanismus dafür. Und der sucht eben nicht in irgendwelchen Unterordnern von irgendwelchen EXE-Ordnern!
Zwischenfrage:
Handelt es sich um eine .NET-Assembly oder ein DLL, die du per "Call Library Function Node" aufrufst?

Hilft das hier weiter?
https://knowledge.ni.com/KnowledgeArticl...AC&l=de-DE

Gruß, Jens
Seiten: 1 2
Referenz-URLs