Vytvořte spustitelný samorozbalovací archiv v C#

Samorozbalovací archiv(SFX nebo SEA) je speciální typ souboru, který obsahuje komprimovaná data spolu se spustitelnými instrukcemi. Tento archiv má schopnost samostatně extrahovat soubory, které obsahuje. K otevření samorozbalovacích archivů tedy nepotřebujete žádnou konkrétní extrakční nebo dekomprimační aplikaci. V tomto článku se dozvíte, jak vytvořit spustitelné samorozbalovací archivy v C# z vašich aplikací .NET.

C# .NET API pro vytváření samorozbalovacích archivů

K vytvoření samorozbalovacích archivů použijeme Aspose.ZIP for .NET. Jedná se o výkonné a na funkce bohaté API, které vám umožňuje poměrně snadno automatizovat archivační funkce v aplikacích .NET. Navíc podporuje řadu oblíbených archivních formátů, jako je ZIP, TAR atd. Můžete si stáhnout DLL API nebo ji nainstalovat pomocí NuGet.

PM> Install-Package Aspose.Zip 

Vytvořte samorozbalovací archiv v C#

Začněme vytvářet samorozbalovací archiv za předpokladu, že jste nainstalovali Aspose.ZIP pro .NET. Protože se bude jednat o spustitelný archiv, jeho přípona bude .exe. Následují kroky k vytvoření spustitelného samorozbalovacího archivu v C#.

Následující ukázka kódu ukazuje, jak vytvořit spustitelný samorozbalovací archiv v .NET.

// Vytvořte FileStream pro uložení archivu SFX
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // Vytvořte nový archiv
    using (var archive = new Archive())
    {
        // Přidejte soubory/složky do archivu
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // Vytvořte a nastavte možnosti pro archiv SFX
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // Vytvořte archiv SFX
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

Spouštění samorozbalovacích archivů pomocí příkazového řádku

Samorozbalovací archiv, který jsme vytvořili v předchozí části, lze rozbalit dvojitým kliknutím. Pokud však chcete použít příkazový řádek, můžete archiv extrahovat pomocí následujícího příkazu.

C:>archive.exe -autoExtract 

Zde je -autoExtract primární volbou, která vám umožní extrahovat archiv. V případě, že je archiv chráněn heslem, můžete zadat heslo pomocí volby -password, jak je znázorněno v následujícím příkazu.

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

Úplný seznam příkazů pro práci se spustitelným samorozbalovacím archivem je uveden v tomto článku.

Získejte bezplatnou licenci API

Aspose.ZIP pro .NET můžete používat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak vytvořit samorozbalovací archivy (SFX nebo SEA) v C#. Dále jsme probrali, jak extrahovat samorozbalovací archiv pomocí příkazového řádku. Můžete jednoduše nainstalovat Aspose.ZIP pro .NET a vložit poskytnutý ukázkový kód do svých aplikací .NET. Kromě toho můžete prozkoumat více o Aspose.ZIP pro .NET pomocí jeho dokumentace. Také můžete své dotazy posílat na naše fórum.

Viz také