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
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.
Außerdem könnte es auch rechtlich, abhängig von der Lizenz, nicht erlaubt sein.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.