INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

aus einem Library Import Installer machen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.03.2016, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2016 10:42 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: aus einem Library Import Installer machen
(17.03.2016 08:55 )galilio schrieb:  Hallo Zusammen,


ich habe einen C++ Applikation --> daraus habe ich C-Wrapper erstellt und in Labvien importiert (DLL Library Import).
Jetzt möchte ich aus dieses Interface einen richtigen installer erstellen.
Meine Frage ist:
Bei Solche Anwendung worauf muss ich achten?
z.B die Abhängige DLLs werden dann automatische von dieses Installer in der richtigen Pfad kopiert?
Gibt es spezielle Technik, die ich anwenden muss bei solchen Anwendungen?

Dein Installer hat keine Ahnung was eine DLL genau ist und kann deshalb auch nicht automatisch die Abhängigkeiten bestimmen und installieren. Das musst Du ihm beim Erstellen schon ausdrücklich sagen.

Wohin Du die DLLs installierst ist eine andere Frage. Grundsätzlich sucht Windows DLLs nur an ein paar bestimmten Stellen. Die am praktischsten ist für ein Executable Installer das Directory in dem das Executable selbst liegt. Für eine LabVIEW Entwickellibrary die Benützer innerhalb von LabVIEW selber benützen können ist das einiges komplizierter. Diese DLLs ins selbe Directory kopieren wo LabVIEW.exe liegt funktioniert zwar ist aber extreme hässlich.

Selber löse ich das meist so dass mein Wrapper selber explizit den Import macht durch Verwendung von LoadLibrary() und GetProcAddress() und die Library unter anderem aus dem selben Verzeichnis zu laden versucht dann wo meine Wrapper-DLL ist, aber das ist einiges an Programmieraufwand.

Die zweitbeste Lösung ist um diese DLLs in das <System> Directory zu installieren, aber das hat Konfliktpotential wenn eine andere Applikation für dieselben DLLs dasselbe tut, wenn dann Versionsinkompatibilitäten zwischen diesen DLLs bestehen.

Die letzte Möglichkeit ist um diese DLLs irgendwohin zu installieren und den Pfad während der Installation zur PATH Umgebungsvariable hinzuzufügen. Das ist auch nicht so schön da jede Environmentvariable maximal 1024 Character haben kann und wenn Du verschiedene Tools installiert hast kann das schon mal erreicht warden. Sobald die PATH Environmentvariable länger wird, findet Windows die meisten der eingebauten Programme auch nicht mehr!!!

Falls Du eine LabVIEW Library entwickelst musst Du in jedem Fall in Deiner Dokumentation genau erklären wie Deine DLL Abhängigkeiten sind und wie man diese in der Applikation Build Spezification konfigurieren muss, wenn ein Benützer Deine Library in einer eigenen Applikation einbauen und diese dann auf andere Computer installieren will.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: aus einem Library Import Installer machen - rolfk - 17.03.2016 10:39

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  USB Relay DLL import hansi9990 3 10.270 02.09.2019 09:15
Letzter Beitrag: hansi9990
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.720 30.09.2016 17:20
Letzter Beitrag: hansi9990
  Labview Import / DLL debuggen galilio 36 54.471 10.11.2015 21:42
Letzter Beitrag: rolfk
  SSH library läuft nur wenn geladen hansi9990 0 8.455 29.07.2015 21:12
Letzter Beitrag: hansi9990
  DLL Import automatisieren CS 3 8.111 13.02.2015 10:53
Letzter Beitrag: CS
  Import Assistent findet Funktionen nicht TDO 1 5.669 11.12.2014 16:24
Letzter Beitrag: jg

Gehe zu: