Mergen einer DLL in eine exe...

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Fortender.

    Mergen einer DLL in eine exe...

    Hi leuts...

    ich hab ein kleines problem (mal wieder :D ) also:

    Ich habe eine exe die sich nur starten lässt mit einer dll. Jetzt möchte ich aber auch dass das geht ohne die DLL also hab ein bischen gegoogelt:

    ilMerge : Verstehe ich nicht :(

    ilMergeGUI : Sagt es geht nicht mit .net4.5

    assamblyCompressor: folgender fehler:

    im modul wurde ein assemblymanifest erwartet


    habt ihr irgendeine idee wie ich es sonst machen kann oder habt ihr eine fehlerlösung zum assamblyCompressor?

    Danke im voraus <3
    Es fangt einmal damit an, dass viele Developer das nicht wollen, und es grundsätzlich in den meisten Fällen keinen Sinn macht die .dll in die exe zu packen.

    und /offtopic:
    Dir ist klar, dass in deiner Signatur Samstag mit zwei M geschrieben ist?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Handelt es sich denn um eine Managed DLL bzw. um eine .NET Assembly? Falls das der Fall ist, dann würde ich erstmal überprüfen, ob der Entwickler der Lib es überhaupt gestattet diese einzukompilieren bzw. mit deiner Assembly zu mergen.
    Bei einer Unmanaged DLL würde dir aber nicht viel mehr übrig bleiben als diese bspw. in die Ressourcen zu packen und bei Programmstart zu extrahieren oder falls das möglich ist direkt zu laden.

    Falls es sich hier tatsächlich um eine reine .NET Angelegenheit handelt, machst du wohl irgendwas falsch.
    @Gather es handelt sich in diesem fall um deine MetroSuite ich haber aber im Programm ausführlich darauf verwiesen! Und in deinem Post eine anmerkung geschriben gehabt!

    und /offtopic:
    Dir ist klar, dass in deiner Signatur Samstag mit zwei M geschrieben ist?
    ja dass weis ich bereits bin aber noch nicht zu einer korrektur gekommen...

    Bilder
    • gather.PNG

      17,44 kB, 682×366, 145 mal angesehen

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

    Die Frage ist warum überhaupt Mergen ? Brauchst du doch nicht machen. Solange du die .dll mitlieferst ist doch alles gut.
    Du brauchst ja selbst dafür kein Setup einfach ne .zip bereitstellen wo alles nötige drin ist.
    Und Gather hat dir ja auch nicht erlaubt das du dies darfst so wie es sich anhört.


    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    @xChRoNiKx ja aber welcher endbenutzer möchte denn immer 2 datein auf dem Desktop haben? Es ist schöner und einfacher wenn es ge mergt wird! Und immernoch nicht ist meine frage beantwortet ihr sagt die ganze zeit nur dass ich es nicht machen soll aber dass war ja nicht meine frage ich hab gefragt wie es geht und nicht ob ich es machen soll!

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

    Also erstmal: "This Programm using metrosuit.dll by Gather"
    Das Englisch ist ja grausam und sowas würde ich auch nicht als gültige Erwähnung gelten lassen, wenn noch nicht mal der Name der Library richtig geschrieben wurde...
    Es ist Dir auch trotzdem nicht gestattet, dass Du Dir einfach das Recht herausnimmst, die Library einzukompilieren. Das muss Gather dann explizit erlauben.

    Zum Merging selber: Was ist dabei, wenn man weitere DLL-Dateien bei einem Programm dabei hat? Das ist die normalste Sache der Welt. Und wenn man das Ding auf dem Desktop haben will, legt man sich halt einfach eine Verknüpfung an und fertig.
    Des Weiteren sind irgendwelche Methoden mit Byte-Array in den Ressourcen und dann rauskopieren bei sowas fehl am Platz. Sowas verunstaltet imho nur das Programm und ist einfach total redundant. Außerdem schlagen Antivirenprogramme bei derartiger Software auch öfters mal an.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    AssemblyCompressor hat bei mir ganz gut funktioniert als ich mal damit gespielt habe. Ich gehe jetzt mal irgendwie nicht von einem Anwenderfehler aus, die Applikation ist ja ziemlich simpel gehalten.
    Versuche es doch mal mit ILMerge. Da ist vom Entwickler eine ziemlich ausführliche Erklärung zu den ganzen Befehlszeilenparameter dabei, aber du kannst ja auch Google anstrengen.
    Da du es hier sowie es scheint nur mit .NET Assemblies zu tun hast, sollte das auch alles kein Problem sein.

    SpieleArenaORG schrieb:

    @xChRoNiKx ja aber welcher endbenutzer möchte denn immer 2 datein auf dem Desktop haben? Es ist schöner und einfache wenn es ge mergt wird!

    Ist doch ganz einfach. Bietest du ein kleines Tool an, das nicht installiert werden soll/muss, dann legt sich der Benutzer den Ordner in ein Verzeichnis seiner Wahl und erstellt wenn er es wirklich auf dem Desktop haben will eine Verknüpfung.
    Ist das jetzt DIE Anwendung, die man unbedingt installieren muss, dann wird das ganze automatisch über den Installer abgehandelt. Nie liegt die Executable direkt auf dem Desktop (bah!).

    SpieleArenaORG schrieb:

    Und immernoch nicht ist meine frage beantwortet ihr sagt die ganze zeit nur dass ich es nicht machen soll aber dass war ja nicht meine frage ich hab gefragt wie es geht und nicht ob ich es machen soll!

    Das ist ziemlich unverschämt. Es gibt eine Menge Tools, die dir (deine) Assemblies zusammenführen können. ILMerge hast du noch nicht einmal angefasst, weil dich die Befehlszeile wohl direkt abgeschreckt hat. Der Entwickler hat sich extra die Mühe gemacht, alle Befehlszeilenparameter genau zu dokumentieren. Außerdem hättest du dir den Thread sparen können, hättest du nur einmal kurz Google angestrengt.

    OT:
    Im übrigen will ich noch was zu deinem About-Tab, den du uns mit deinem Screenshot präsentiert hast loswerden.
    Es hilft, wenn man sich das, was man geschrieben hat auch mal durchliest. Ich sehe auf den ersten Blick ziemlich viele Fehler. Das reicht von einfachen Rechtschreibfehlern, bis hin zu groben Grammatikfehlern.
    Verstehe mich nicht falsch, ich will dir nur einen gut gemeinten Rat geben und du willst das Programm ja veröffentlichen, sonst hättest du gar nicht erst einen About-Tab eingebaut.
    Wenn du keine korrekten englischen Sätze bauen kannst, dann schaue dir doch diverse Info-Texte von anderen Programmen an. Du musst ja auch nicht unbedingt vollständige Sätze schreiben, es reichen sicherlich auch Halbsätze oder Stichworte.
    Mein persönlicher Favorit: "An spcial thank you to Gather from hem is the design for the Mc User DB and MC Ban DB"
    Ich wünsche dir weiterhin ein gutes Gelingen!

    MfG
    Tim
    Sorry, aber eine Exe hat im Produktivbetrieb nichts auf dem Desktop verloren. Dafür gibt es Verknüpfungen.
    Ob sich die DLL ein kompilieren lässt hat der DLL Ersteller schon einmal vor entschieden.

    Das Einkompilieren einer DLL widerspricht der Idee einer Dynamic Link Library.

    Noch ein Nachtrag: Deine Art und Weise die User hier "anzubrüllen" für dein Problem ist ziemlich daneben
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    @Morrison Wie kann ich den eine funktion ausf&uuml;hren bevor das Programm wirklich startet sonst beendet es sich ja direkt wieder



    @Trade Das denglisch in dem Programm ist nur Provisorisch zum entg&uuml;ltigen Release werde ich einen guten kumpel der englisch unterrichtet nochmal das richtig &uuml;bersetzten lassen vom deutschen ins englische und es wird 2 Sprach zur auswahl geben (detsch & englisch)! Au&szlig;erdem habe ich exlipzit gefragt am 12.7.17 und habe bis jetzt noch keine antwort erhalten und bin davon ausgegangen dass ich wie alle anderen die gefragt haben es einkompilieren darf unter namensnennung!

    @Fortender ich habe mich an IlMerge herangetraut nachdem ich den ersten beitrag gepostet hatte aber ich bekomme den selben fehler wie bei ilmerge gui ich darf laut programm nicht die .net4.5 programme mergen!

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

    SpieleArenaORG schrieb:

    habe bis jetzt noch keine antwort erhalten und bin davon ausgegangen dass ich wie alle anderen die gefragt haben es einkompilieren darf unter namensnennung!
    Also frei nach dem Motto: "Was mir nicht explizit verboten wurde, ist erlaubt."? So geht es halt nur leider nicht.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    SpieleArenaORG schrieb:

    ich habe mich an IlMerge hernagetraut nachdem ich den ersten beitrag gepostet hatte aber ich bekomme den selben fehler wie bei ilmerge gui ich darf laut programm nicht die .net4.5 programme mergen!

    Da ich sowas nicht verwende, bin ich da auch nicht auf dem neusten Stand. Allerdings gibt es ja noch viel mehr Tools, die dir das ermöglichen könnten. Dann fügt man eben seinem Google-Suchbegriff noch das spezifische .NET Framework hinzu.
    Dann findet man ILMerge-Alternativen wie bspw. LibZ. Schon magisch so eine Google-Suche, findest du nicht auch?
    Ouh Ouh.... Die .exe Datei auf dem Desktop ? Wo leben wir denn hier.... Dafür gibt es Verknüpfungen wie die Vorposter auch schon sagten.

    Und geholfen wurde dir ja im Prinzip du hast alle Werkzeuge zur Hand um das ganze zu bewerkstelligen.
    Versuche doch erstmal die Erlaubnis zu bekommen das du es Mergen darfst ( denn bei der Lib von Gather steht es ist ausdrücklich verboten AUSSER nach einer Absprache wenn ich das richtig im Kopf habe)
    Das heißt es hilft dir auch kein erwähnen wenn es verboten ist.

    Ja soweit von mir ;)
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Trotz allem ist es mit meiner .dll nicht gestattet.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    xChRoNiKx schrieb:

    Verstehe nicht was dagegen spricht ?

    Versteht der TE selbst nicht. Er will keine Executable mit DLLs auf den Desktop legen, was aber gar nicht notwendig ist, da ein Anwender nach dem Herunterladen das Archiv entpackt und die Files an seinen gewünschten Ort legt und optional eine Verknüpfung auf dem Desktop platziert.
    Ohne triftigen Grund (hier definitiv nicht vorhanden) zwing man keinem Benutzer die Installation einer solchen Anwendung auf.

    Das mit dem Mergen hat sich ja so wie es jetzt aussieht sowieso erledigt. Sieht für mich nicht so aus, als würde Gather ihm nach der Konversation die Freigabe zum Einkompilieren erteilen.

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