Erstellen Sie ein ausführbares, selbstextrahierendes Archiv in C#

Ein selbstextrahierendes Archiv (SFX oder SEA) ist ein spezieller Dateityp, der komprimierte Daten zusammen mit ausführbaren Anweisungen enthält. Dieses Archiv hat die Fähigkeit, die darin enthaltenen Dateien selbst zu extrahieren. Daher benötigen Sie keine spezielle Extraktions- oder Dekomprimierungsanwendung, um selbstextrahierende Archive zu öffnen. In diesem Artikel erfahren Sie, wie Sie aus Ihren .NET-Anwendungen heraus ausführbare, selbstextrahierende Archive in C# erstellen.

C# .NET-API zum Erstellen von selbstextrahierenden Archiven

Um selbstextrahierende Archive zu erstellen, verwenden wir Aspose.ZIP for .NET. Es ist eine leistungsstarke und funktionsreiche API, mit der Sie die Archivierungsfunktionen in .NET-Anwendungen ganz einfach automatisieren können. Darüber hinaus unterstützt es eine Vielzahl gängiger Archivformate wie ZIP, TAR usw. Sie können die DLL der API herunterladen oder mit NuGet installieren.

PM> Install-Package Aspose.Zip 

Erstellen Sie ein selbstextrahierendes Archiv in C#

Beginnen wir mit der Erstellung eines selbstextrahierenden Archivs, vorausgesetzt, Sie haben Aspose.ZIP für .NET installiert. Da es sich um ein ausführbares Archiv handelt, lautet die Erweiterung .exe. Im Folgenden sind die Schritte zum Erstellen eines ausführbaren, selbstextrahierenden Archivs in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie ein ausführbares, selbstextrahierendes Archiv in .NET erstellen.

// Erstellen Sie FileStream, um das SFX-Archiv zu speichern
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // Erstellen Sie ein neues Archiv
    using (var archive = new Archive())
    {
        // Dateien/Ordner zum Archiv hinzufügen
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // Optionen für das SFX-Archiv erstellen und festlegen
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // SFX-Archiv erstellen
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

Ausführen von selbstextrahierenden Archiven über die Befehlszeile

Das selbstextrahierende Archiv, das wir im vorherigen Abschnitt erstellt haben, kann durch einen Doppelklick darauf entpackt werden. Wenn Sie jedoch die Befehlszeile verwenden möchten, können Sie das Archiv mit dem folgenden Befehl extrahieren.

C:>archive.exe -autoExtract 

Hier ist -autoExtract die primäre Option, mit der Sie das Archiv extrahieren können. Falls das Archiv passwortgeschützt ist, können Sie das Passwort mit der Option -password angeben, wie im folgenden Befehl gezeigt.

C:>archive.exe -autoExtract -password:T0p$ecret

Die vollständige Liste der Befehle zum Arbeiten mit einem ausführbaren selbstextrahierenden Archiv finden Sie in diesem Artikel.

Holen Sie sich eine kostenlose API-Lizenz

Sie können Aspose.ZIP für .NET ohne Evaluierungseinschränkungen verwenden, indem Sie eine kostenlose temporäre Lizenz erwerben.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie selbstextrahierende Archive (SFX oder SEA) in C# erstellen. Außerdem haben wir besprochen, wie man ein selbstextrahierendes Archiv über die Kommandozeile entpackt. Sie können einfach Aspose.ZIP für .NET installieren und das bereitgestellte Codebeispiel in Ihre .NET-Anwendungen einbetten. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.ZIP für .NET erfahren. Sie können Ihre Fragen auch in unserem Forum posten.

Siehe auch