Forum: PC Hard- und Software [VB2010] DLL in EXE einbinden


von Engll (Gast)


Lesenswert?

Hallo Leute,

Ich habe mir in VB2010 ein kleines Programm geschrieben,
welches mir einige Tätigleiten abnimmt.
Dieses benutzt eine externe DLL, welche wie folgt importieret wird:

<DllImport("dorn.dll")>
Private Function dorn_open(ByVal vert As Integer, ByVal ind As Integer, 
ByRef handle As lc_handle_t) As Int32
End Function

Ich muss nun immer die DLL mit de EXE Datei mitkopieren, damit das 
Programm funktioniert und nicht abstürzt.
Ein Bekannter hat mir gesagt, dass es möglich ist, die DLL in die EXE 
miteinzubinden, und dass ich dann
die DLL nicht mehr mitkopieren muss.
Er weiss selbst aber nicht, wie es geht, weil die DLL keine managed DLL 
ist.

Kann mir da wer ein Totorial für Dummys empfehlen?

mfG
Engll

von Nano (Gast)


Lesenswert?

Das ist keine gute Idee. DLLs können und werden upgedatet. Wenn die DLL 
von Dritten, die du mitlieferst, eine Sicherheitslücke hat, dann könnte 
sie durch eine korrigierte Version ausgetauscht werde. Dies ist nicht 
mehr möglich, wenn du sie statisch in deine EXE einbindest.

von Nano (Gast)


Lesenswert?

Außerdem könnte es auch rechtlich, abhängig von der Lizenz, nicht 
erlaubt sein.

von Peter Z. (hangloose)


Lesenswert?


von Anita H. (anita1995)


Lesenswert?

Engll schrieb:
> Hallo Leute,
>
> Ich habe mir in VB2010 ein kleines Programm geschrieben,
> welches mir einige Tätigleiten abnimmt.

Poste mal den Sourcecode und die DLL

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Kann man auch als Resource mit ResHacker o.ä. einbinden
und bei Programmstart einfach die Resource als .dll wieder
speichern.

Die Resourcen-Funktionen sind in der MSDN bzw.  API
beschrieben.

von Engll (Gast)


Lesenswert?

Habe es jetzt zusammengebracht, ohne externes Programm.
Die DLL habe ich als "Datei" in den Projekteinstellungen in die 
Resourcen eingebunden.
Bei Programmstart wird geprüft, ob die DLL im Programmstart Verzeichniss 
existiert.
Wenn nicht, wird die Resourcedatei in das Startverzeichniss kopiert.

Fertig.

Der Tip von Heinz B. ging in die richtige Richtung.
Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.