bass.dll einbinden als Ressource

  • VB.NET

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    Schau mal weiter oben im Studio, da hast du Comboboxen. Jeweils für Architektur und Debug/Release

    Wenn du auf Release umstellst und auf erstellen klickst, wird ein Ordner mit dem Namen Release erstellt, neben deinem Debug-Ordner(Im Bin Ordner, bzw. einem Unterordner dort). Dort findest du dann auch die kompilierte Datei.
    @RodFromGermany
    @Takafusa
    Alles klar supi danke :)

    Edit:
    @-Franky-
    Hab grad mal in den Logs meines Virenscanners nachgeschaut. Der hat mir tatsächlich mein Programm in Quarantäne gesteckt. Hab die exe dann einfach vom Virenscan ausgeschlossen und schwupdiwups es funktioniert tatsächlich wie in Post1.
    Ich werde die betreffenden Programmzeilen jetzt einfach in einen Try-Block tun und dem User bei einem Fehler einfach mitteilen, dass er doch entweder das Programm vom Virenscan auszuschließen hat oder es manuell zu installieren. Und dann einfach in meine Zip zwei Ordner reinmachen, einmal manuelle und einmal Installation mit dem Installer...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „kafffee“ ()

    kafffee schrieb:

    Hab die exe dann einfach vom Virenscan ausgeschlossen und schwupdiwups es funktioniert tatsächlich wie in Post1. ...und dem User bei einem Fehler einfach mitteilen, dass er doch entweder das Programm vom Virenscan auszuschließen hat

    Ein Programm, das von mir verlangt beim Virenscanner ausgeschlossen zu werden damit es funktioniert, kommt bei mir entweder erst gar nicht auf die Platte und spätestens bei einer entsprechenden Meldung direkt ins Nirwana. Werf den entsprechenden Teil, der eine DLL (und die DLL aus der Ressource) aus Deiner Exe heraus extrahieren möchte raus. Du kannst ja die abhängigen DLLs auch so mitliefern.
    Mfg -Franky-

    kafffee schrieb:

    c:\Programme oder c:\programme(x86)
    Das ist eigentlich egal, aber als Anhaltspunkt: Ist es für x86 compiliert, dann nach c:\programme(x86), ansonsten nach c:\programme.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe alle meine DLL´s als Ressource in meinen Programmen hinterlegt.
    Das spart umständliche Installer und man hat bei jedem Update die richtigen DLLs zur Verfügung.
    Generell kann man meine EXE-Datei(n) in den Anwendungsordner kopieren und bei der Ausführung werden alle erforderlichen Ordner erstellt und alle erforderlichen DLL's "entpackt".

    Wichtig ist hier, dass man folgenden Programmcode in einer Art "Startklasse" (oder StartModul) aufruft und in diesem Modul die DLL aber nicht verwendet wird.
    Das funktioniert nämlich nicht.

    Die zweite Variante wäre ein erzwungener Neustart, falls die DLL ersetzt wird. Dann kann man die DLL-Funktionen in der selben Klasse oder Modul aufrufen.

    VB.NET-Quellcode

    1. If Not File.Exists(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "lc.dll")) Then
    2. IO.File.WriteAllBytes(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "lc.dll"), My.Resources.lc)
    3. End If
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at

    dive26 schrieb:

    Das spart umständliche Installer und man hat bei jedem Update die richtigen DLLs zur Verfügung.


    Ich habe die DLLs immer in der Projektmappe, mache selbst selten einen Installer, ich liefer am liebsten ZIPs aus. Wenn ich nun eine DLL z.B. wegen eine geschlossenen Lücke oder sonst warum austauschen will/muss, brauch ich nicht mal kompilieren, du must die Ressourcen updaten und kompilieren, das finde ich umständlich. Wobei ich i.d.R. zumindest einen Testlauf mache mit den geupdateten DLLs, zumindest spar ich mir das Ressourcen updaten. Noch dazu machen auf deine Weise AVs gerne mal Probleme. Imo sind eingebettete DLLs Unsinn, ausser bei einem Installer.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Takafusa“ ()