Fertige VB .exe geht ohne .dll nicht! WIE .dll zu .exe hinzufügen?

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von 105lerabsolut.

    Fertige VB .exe geht ohne .dll nicht! WIE .dll zu .exe hinzufügen?

    Hallo Leute,

    bin neu hier und ich hoffe ihr könnt mir helfen. Ich bin absoluter Anfänger in Visual Basic und benutze Visual Basic 2010. Und ich habe 3 Fragen. Euch mögen die Fragen vielleicht lächerlich vorkommen aber wie gesagt ich bin TOTALER Anfänger.

    1. Ich habe ein Programm entworfen mit Mediaplayern etc. und habe dann meine fertige .exe auf dem PC inkl. der 2 .dll Dateien. Ohne diese 2 .dll Dateien funktioniert das Programm nicht und es gibt Fehlermeldungen. Jetzt meine Frage wie kann ich die .dll in die .exe packen? Ich habe es schon mit Gilma und IlMerge probiert aber da kommt dann die Meldung das dies mit Microsoft Visual Basic nicht möglich ist. BITTE: Ich bin absoluter Anfänger und hab mein Programm Schritt für Schritt mit einem Video-Tutorial gemacht deswegen habe ich keine Ahnung davon, wäre nett wenn ihr mir hier deswegen sehr detailliert helfen könntet!

    2. Wie kann ich es anstellen das dann wenn jemand die .exe öffenet bei Herausgeber mein Name steht? Ich habe bisher noch keine Infos dazu gefunden.

    3. (Die dümmste Frage überhaupt :rolleyes: ) Kann man die Visual Basic Programme eigentlich auch auf dem Mac und Linux anschauen? (schäm)


    Ok, Leute ich danke euch schon mal für eure ausführliche Hilfe und ich hoffe das mir das einer jetzt erklären kann.

    Vielen vielen vielen Dank!

    MfG

    P.S. Ich hoffe ich hab diesen Thread in einem richtigen Unterforum gepostet...
    1. Warum verwendest du als absoluter Anfänger dll-Dateien. Fang doch mal mit was leichterem an oder berichte mal, wofür du die benötigst.

    2. Wie vorher schon gesagt und ja, man darf bei Herausgeber seinen Namen hinschreiben.

    3. Die Programme laufen nur unter Windows und dort auch nur, wenn Net Framework installiert ist.

    Viele Grüße Jannik.
    @Jannik S. Er verwendet den Windows MediaPlayer, der braucht eine Dll....

    1. Wieso willst sie in ne Exe fassen? Aber: [VB.NET] DLLs in Resourcen einbinden & Verweis darauf

    2. Drück STRG + F (Suchen) Mach Gesamte Projektmappe und nun gibst unter dem Suchbegriff den Namen deines Programms ein (bzw. am anfang WindowsApplication1)


    Dann drück solang bist du auf das AssablyInfo kommst.


    Da kannst es umändern. Ich erkläre:

    VB.NET-Quellcode

    1. <Assembly: AssemblyTitle("WindowsApplication1")> 'Hier kannst du den Namen ändern
    2. <Assembly: AssemblyDescription("")> 'Hier kannst du die Beschreibung ändern
    3. <Assembly: AssemblyCompany("Microsoft")> 'Hier kannst du den Hersteller ändern
    4. <Assembly: AssemblyProduct("WindowsApplication1")> 'Hier kannst du den ProductNamen ändern
    5. <Assembly: AssemblyCopyright("Copyright © Microsoft 2011")> 'Hier kannst du das Copyright ändern
    6. <Assembly: AssemblyTrademark("")> 'Hier kannst du die Trademark ändern


    VB.NET-Quellcode

    1. <Assembly: AssemblyVersion("1.0.0.0")> 'Hier kannst die Version ändern
    2. <Assembly: AssemblyFileVersion("1.0.0.0")> 'Hier kannst die DateiVersion ändern



    3. Nein. Einfach so nicht, ich glaube es gibt ein Programm, dass das irgendwie machen kann. Glaub es heißt mono


    4. BITTE Als Hilfreich einstufen!
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    sandiro schrieb:

    Klicke im Menü unter "Projekt / NameDeinesProjekts-Eigenschaften" und dort hast du eine Registerkarte "Anwendung".

    Ok habs gefunden wenn ich jetzt aber den Code

    VB.NET-Quellcode

    1. Private WithEvents Domaene As AppDomain = AppDomain.CurrentDomain Private Function Domaene_AssemblyResolve(ByVal sender As Object, ByVal args As System.ResolveEventArgs) As System.Reflection.Assembly Handles Domaene.AssemblyResolve If args.Name.Contains("NamederDLL") Then Return System.Reflection.Assembly.Load(My.Resources.NamederDLL) Else Return Nothing End If End Function


    einfüge dann kommt folgende 2 Fehlermeldungen auf der Fehlerliste: "Die Anweisung ist in einem Namespace ungültig!"

    Meine 2 .dll heißen: AxInterop.WMPLib.dll und Interop.WMPLib.dll

    das heißt ich schreibe anstatt NamederDLL folgendes: AxIntercop.WMPLib oder?

    Ich habe vorher unter Verweise die beiden Windows Media Player Namespaces importiert. Ist dies bisher richtig? Die zwei Namespaces haben als Typ .COM und alle anderen .NET macht dies was?

    Wie gesagt vielen dank für jede Hilfe! :D

    sandiro schrieb:

    Genau, NameDerDLL musst du an 2 Stellen ändern und das ganze natürlich für beide DLLs

    Geht immer noch nicht weil er wenn ich Projekt erstellen will folgende 2 Fehlermeldungen gibt: "Die Anweisung ist in einem Namespace ungültig!"

    und wenn ich mir anschau was er damit meint dann gefallen ihm die 2 folgenden codes nicht:

    VB.NET-Quellcode

    1. Private WithEvents Domaene As AppDomain = AppDomain.CurrentDomain


    und

    VB.NET-Quellcode

    1. Private Function Domaene_AssemblyResolve(ByVal sender As Object, ByVal args As System.ResolveEventArgs) As System.Reflection.Assembly Handles Domaene.AssemblyResolve


    Wie soll ich eigentlich den 2. Schritt machen? In Ressourcen einbinden?

    sandiro schrieb:

    unter "Projekt / DeinProjekt-Eigenschaften / Ressourcen" kannst du die beiden DLLs hinzufügen

    Habe jetzt 2 Ressourcen mit dem Namen Interop.WMPLib und Ax.Interop.WMPLib angelegt und alles ordnungsgemäß eingestellt. Wenn ich jetzt aber auf Projekt erstellen klicke bekomme ich die Meldung "Fehler beim Buildvorgang". Außerdem ist angeblich der Namespace und der Ressourcenname ungültig. Ich verzweifel... :pinch:
    Für das einbinden von Datenbibliothekdateien gibt es einige Programme

    Zum Beispiel assemblyCompressor:
    maximiliankrauss.net/page/assemblyCompressor.aspx

    Oder Gilma (ein GUI Programm für ILMerge)
    sourceforge.net/projects/gilma/

    Alternativ gibts auch noch NuGenUnify (auch ein GUI Programm für ILMerge)
    download.cnet.com/NuGenUnify/3000-10250_4-10435849.html

    mfg Mike

    NscMike schrieb:

    Für das einbinden von Datenbibliothekdateien gibt es einige Programme

    Zum Beispiel assemblyCompressor:
    maximiliankrauss.net/page/assemblyCompressor.aspx

    Oder Gilma (ein GUI Programm für ILMerge)
    sourceforge.net/projects/gilma/

    Alternativ gibts auch noch NuGenUnify (auch ein GUI Programm für ILMerge)
    download.cnet.com/NuGenUnify/3000-10250_4-10435849.html

    mfg Mike

    Hallo,

    würde es jetzt gerne mit IlMerge und Gilma probieren. Leider kommt dann immer folgende Fehlermeldung wenn ich auf "Merge" klicke und alles richtig eingestellt habe: "Error Occurred in processing. Unresolved assembly reference not allowed: Microsoft.Visual.Basic."

    So wie ich das verstehe kann man dort also keine Visual Basic Dateien zusammenführen oder wie ist das?

    Ich hab auch noch einen Screenshot gemacht:




    Wäre cool wenn es mit Gilma bzw. IlMerge doch gehen würde.
    Anscheinend hast du etwas falsch hinzugefügt (vielleicht verwechselt)
    Bei mir funktioniert Gilma sowohl auch NuGenUnify mit den beiden WMP dll's.
    Siehe Screenshot
    Bilder
    • NuGenUnify.JPG

      64,63 kB, 893×513, 243 mal angesehen
    • Gilma.JPG

      46,59 kB, 765×373, 261 mal angesehen

    NscMike schrieb:

    Anscheinend hast du etwas falsch hinzugefügt (vielleicht verwechselt)
    Bei mir funktioniert Gilma sowohl auch NuGenUnify mit den beiden WMP dll's.
    Siehe Screenshot
    Nein ich habe nichts falsch hinzugefügt ich habe extra noch einmal alles überprüft. Es funktioniert einfach nicht es kommt immer noch die gleiche Fehlermeldung die ich oben schon gepostet habe! ;(

    Könnte ich evtl. etwas falsch in Visual Basic an sich gemacht haben?? Denn an Gilma kannst ja wohl kaum liegen aber er zeigt immer noch die Fehlermeldung