DLL in Resurcen Speichern

  • VB.NET
  • .NET 4.5

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    DLL in Resurcen Speichern

    Hallo Liebe Community,

    ich hab ne frage, undzwar habe ich ein NuGet Paket in meiner DLL Verwendet das eine DLL erstellt, allerdings soll mein Projekt eine Standalone exe sein die ohne Extra dateien ist. Ist es ürgendwie möglich sie DLL in die exe einzbinden?
    Grüße, Matix
    Ja ist es. Allerdings solltest du da erst schauen ob du die DLL "einkompilieren"* darfst oder nicht.
    Denn falls nicht und du machst es könnte man unter Umständen sogar Rechtlich gegen dich vorgehen.
    Wenn du nichts findest dann frag den Ersteller an sich aber normalerweise sollte sowas in der Lizenz mit drin stehen.


    *Das dick gedruckte Wort kannst du mal in Google / hier im Forum eingeben da finden sich ziemlich viele Threads zu.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Wie wäre es das anstatt ich nun deine google arbeit mache du dir einfach die license davon durchliest dort steht alles wichtige drin was man darf und was nicht bzw wie man damit umzugehen hat.

    ist das echt so schwer mal selbst nach zu forschen? Vor allem bringt es dir auch null wenn ich dir jetzt ja oder nein sage da du dafür verantwortlich bist und nicht ich.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    @Matix Media Was spricht dagegen, die DLL neben die Exe zu legen?
    Das wäre die gängige Praxis.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    @Matix Media Diese Exe soll der Installer sein?
    Pack alle Deine Dateien in eine ZIP und verteile diese.
    Damit ist gesichert, dass der Empfänger weiß, was wohin kommt, ohne dass iwelches Zeugs z.B. in die Registry geschrieben wird.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Im Projektmappen-Explorer auf "My Project" klicken, dort Ressourcen wählen, dann unter Ressourcen hinzufügen, vorhandene Datei hinzufügen, im OpenFileDialog dann die Datei(en) auswählen und feddich.

    Dann zum schreiben:

    VB.NET-Quellcode

    1. IO.File.WriteAllBytes("path", My.Resources.ResourceName)

    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    Hab es schon erledigt!
    Nachdem das Programm geschlossen ist, wird die Datei wieder gelöscht.
    Mit Hilfe eines Batch Scriptes.

    Code:

    VB.NET-Quellcode

    1. ​Try
    2. Dim exePath As String = Application.StartupPath
    3. Dim exeName As String = "DotNetZip.dll"
    4. 'Dim exeUpdate As String = exePath & "\Products\unsupported\tools\" & exeName
    5. Dim ProcessProperties As New ProcessStartInfo
    6. ProcessProperties.FileName = exePath & "\update.bat"
    7. ProcessProperties.WindowStyle = ProcessWindowStyle.Hidden 'Konsole verstecken
    8. Using srm As New IO.StreamWriter(exePath & "\update.bat") 'Batch erstellen
    9. With srm
    10. .WriteLine("CD /D """ & exePath & """")
    11. .WriteLine(":Start")
    12. .WriteLine("ERASE /Q /F """ & exeName & """||goto Start") 'In einer Schleife wird versucht die alte .exe zu löschen
    13. '.WriteLine("COPY""" & exeUpdate & """ """ & exePath & "\" & exeName & """")
    14. .WriteLine("ERASE /Q /F update.bat")
    15. End With
    16. End Using
    17. Dim myProcess As Process = Process.Start(ProcessProperties) 'Batch starten
    18. Catch ex As Exception
    19. MsgBox("Konnte Datei ""DotNetZip.dll"" nicht Löschen! (Fehler: " & ex.Message & ")")
    20. End Try
    Grüße, Matix
    @Matix Media Suboptimal.
    Wenn jemand merkt, dass da ein Script steht, wird er neugierign.
    Deklariere die Process-Variable in der Klasse mit WithEvents oder nimm AddHandler und fang das Excited-Event ab.
    In diesem kannst Du das Programm löschen.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ich verstehe den Sinn dahinter nicht. Warum wird die entpackt dann wieder gelöscht?
    Schau dir für nen Updater einfach mal "nUpdate" von @Trade an. Und dann prüfe halt nur einmal beim Start
    des Programmes auf Updates.

    Desweiteren wird sicherlich irgendwann ein Virenprogramm auf dein Programm anspringen da dieses entpacken und dann wieder löschen
    sehr suspekt aussieht. Und das tut es selbst für mich schon. Kommt mir vor als ob du da irgend ein "Virus" zusammen schustert der nach Ausführung
    seine Spuren verwischt. (nur mein Gedanke).
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    #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 :!:
    Ok.

    Also nochmal: Hast du dir den Link von @Trade mal durchgelesen?
    Das solltest du mal tun.

    Ich habe mir mal den "Adwanced Explorer" oder wie auch immer er heißt angeschaut.
    Du nutzt 2 Programme um auf Updates zu prüfen, lädst das Update runter und die heruntergeladene Datei wird OHNE
    vorherige Überprüfung einfach gestartet. Stell dir mal vor jemand bekommt Zugriff auf deinen Server.

    Der vertauscht die Dateien sagt deinem Programm es wäre ein Update verfügbar und zack haben alle deine Kunden nen Virus auffen Rechner.
    Und weißt du wer dann die Schuld bekommt? Richtig du. (Gutes Beispiel vor ein Paar Jahren: hotforsecurity.bitdefender.com…ealing-malware-11639.html )

    Es ist absolut nicht böse gemeint. Nur bevor man irgendwas "dahin" baut ohne Ahnung davon zu haben handelt fahrlässig.
    Es gibt dazu genügend Lektüre, siehe Trade sein Link.
    Desweiteren gibt es alternativen von Leuten die sich damit befassen und fertiges zur Verfügung stellen siehe: nUpdate - Die komfortable Updatelösung

    Ich hoffe ich trete damit niemanden auf die Füße. Aber ich denke hier geht es um die Sicherheit von deinen "Kunden"/"Nutzern".
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    xChRoNiKx schrieb:

    Desweiteren wird sicherlich irgendwann ein Virenprogramm auf dein Programm anspringen da dieses entpacken und dann wieder löschen sehr suspekt aussieht.
    Nicht unbedingt. Ich perönlich habe einen solchen Installer mit InnoSetup erstellt. Da nach dem eigentlichen entpacken der Datein einige noch angepasst werden müssen, und ich lieber die .NET-Klassen benutze, als die Stringmanipulation in PascalScript, entpackt das Setup in einem Temp Ordner die nötigen Dateien und Programme (neben einer DLL die InnoSetup selbst für ein Feature benötigt), führt sie aus, und nachdem das Setup zuende ist, werden sie wieder gelöscht. Bisher hat nicht ein Antivirus darauf angeschlagen (auch in Firmennetzen), wobei ich nicht weiß inwiefern die Signierung all unserer Dateien einschließlich dem Setup selbst da mit rein spielt.

    Generell abwegig find ich das nicht, jedoch würde ich für einen Installer auch was nehmen, das dafür ausgelegt ist, wie z.B. InnoSetup, NSIS, WiX.
    Post-AGB:
    §1 Mit dem Lesen dieses Posts stimmst du den AGB unverzüglich zu
    §2 Ein Widerruf muss innerhalb von 3 Sekunden nach Lesen des Hauptbestandteil des ersten jemals gelesenen Posts erfolgen
    Abs.1 Die Signatur zählt nicht zum Hauptbestandteil des Posts
    §3 Ein erfolgreicher Widerruf zwingt zu einem Besuch bei einem Hypnotiseur oder Neurochirurg, sodass der gelesene Text aus den Erinnerungen entfernt werden kann
    Abs.1 Die Kosten und Risiken sind jeweils selbst zu tragen