Hallo
Ich verwende in meiner Applikation das "C:ProgrammeNational InstrumentsLabVIEW 2009vi.libAnalysisbaseanly.llbMean.vi" welches die lvanlys.dll benötigt. Wenn ich nun die Appliaktion mit dem App. Builder generiere kopiert er die lvanlys.dll in meinen DATA Ordner.
Auf meinem Zielsystem habe ich LVRTE 2009 installiert und im Ordner "C:ProgrammeNational InstrumentsSharedLabVIEW Run-Time2009" befindet sich ja diese lvanlys.dll schon.
Wiso wird diese "lvanlys.dll" Automatisch in meinem Data Ordner generiert wenn diese lvanlys.dll in der Runtime enthalten ist?
Hallo Cardinal,
die lvanlys.dll wird von Funktionen benötigt, die m.W. nicht in der LV-Base-Version enthalten sind.
Da der AppBuilder nicht weiß, auf welchem System die Exe mal laufen wird, wird diese DLL in den DATA-Ordner gepackt, wo alle benötigten Dateien per Default landen. Musst du ja nicht mitkopieren, wenn's auch ohne geht...
Ja das stimmt schon, aber ich will nicht das mir der Application Builder einfach irgendwelche Datein in den Data Ordner Packt. Ich will wissen für was das ganze zeugs sein soll.
Ich fiinde es mühsam wenn ich diese Datei jetzt bei jedem Build Manuel löschen muss. Es wäre meiner Meinung nach eine bessere Lösung wenn die
lvanlys.dll Automatisch in den Supported files erscheinen würde und ich immer noch selber entscheiden könnte ob ich dieses File in meiner Application will oder nicht.
Hallo,
Mean.vi benötigt die lvanlys.dll... Das diese DLL unter Shared liegt, heißt nicht, dass sie nach einer RunTimeEngine-Installation automatisch auf dem Zielrechner landet. Deshalb wird sie bei einem AppBuild mitgenommen - die App benötigt diese DLL ja!
Ich habe auf dem Ziel Rechner die "LabVIEW 2009 Run-Time Engine (Standard) (32-bit)" installiert und da ist die lvanlys.dll enthalten!?
Hallo Cardinal,
zuerst erstellt du eine Exe. Abhängigkeiten dieser Exe (wozu die lvanlys.dll nun mal gehört) landen im Exe/DATA-Ordner. Dort würden auch andere DLLs (von Drittanbietern) etc. landen. Im zweiten Schritt erstellt man einen Installer - und der verwendet als Baustein den kompletten EXE-Ordner inklusive DATA-Unterordner.
Wenn dich diese DLL stört, kannst du sie per Batch (Aufruf nach Abschluß der Installation aus dem Setup heraus ist ja als Einstellmöglichkeit vorhanden!) ja wieder löschen. Egal, wie oft diese DLL mitkopiert wird: Windows sorgt dafür, dass nur eine Kopie in den Speicher geladen wird, egal wieviele LV-Applikationen darauf zugreifen... Und diese eine DLL ist wirklich das kleinste Übel bei dem, was dir beim Installer-Erstellen so alles mit eingebunden wird!
Ja das ist mir schon klar! Aber bei eienr Dll von Drittanbietern muss ich diese manuell als Supported File hinzufügen.
Es ist mir schon klar das ich diese dll von hand oder batch löschen kann aber es geht mir ums Prinzip ich will nicht dass LV automatisch sachen in meinen DATA Ordner packt.
Bis jetzt wusste bei uns niemand für was die lvanlys.dll überhaupt ist und jetzt haben wird ca. 20 - 30 Produktions Applikationen die diese dll im Data Ordner haben.
Werde mir nun wohl ein Batch basteln um die dll's aus meiner SW zu entfernen.
Danke
Hallo Cardinal,
dann guck mal in die Mean.vi hinein. Da liegt ein DLL-Aufruf drin - rate mal wohin der geht... (lvanlys = LabVIEW Analysis)
Hallo, ich habe hierzu auch eine Frage:
Ich verwende eine build in der die /data/lvanlys.dll beigefügt wurde. Beim Starten der Exe findet er diese jedoch nicht obwohl sie ja in dem data Ordner liegt und auf dem Zielrechner die RTE installiert ist.
Mit der RTE kann es ja nichts zu tun haben, denn wenn er es dort nicht findet dann findet er es doch auf jeden Fall im /data Ordner.
Kann es ein Problem geben wenn man das "LabVIEW 8.x file layout" verwendet?
Viele Dank
Hallo GT,
Zitat:Kann es ein Problem geben wenn man das "LabVIEW 8.x file layout" verwendet?
Wäre es nicht einfacher, wenn du das schnell mal ausprobierst?
Einfach eine neue Build-Spec ohne "8.x-Layout" erstellen und testen…
(Ich kann nur sagen: mit Standard-Settings, d.h. ohne 8.x-Layout, habe ich keine Probleme mit der lvanlys.dll!)