Criar arquivo executável de extração automática em C#

Um arquivo de extração automática (SFX ou SEA) é um tipo especial de arquivo que contém dados compactados junto com instruções executáveis. Este arquivo tem a capacidade de extrair os arquivos que contém por si só. Portanto, você não precisa de nenhum aplicativo de extração ou descompactação específico para abrir arquivos de extração automática. Neste artigo, você aprenderá como criar arquivos executáveis de extração automática em C# a partir de seus aplicativos .NET.

API C# .NET para criar arquivos de extração automática

Para criar arquivos auto-extraíveis, usaremos Aspose.ZIP para .NET. É uma API poderosa e rica em recursos que permite automatizar os recursos de arquivamento em aplicativos .NET com bastante facilidade. Além disso, ele suporta uma variedade de formatos de arquivo populares, como ZIP, TAR, etc. Você pode baixar a DLL da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.Zip 

Criar um arquivo de extração automática em C#

Vamos começar a criar um arquivo auto-extraível assumindo que você instalou o Aspose.ZIP para .NET. Como este será um arquivo executável, sua extensão será .exe. A seguir estão as etapas para criar um arquivo executável de extração automática em C#.

O exemplo de código a seguir mostra como criar um arquivo executável de extração automática no .NET.

// Crie FileStream para salvar o arquivo SFX
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // Criar um novo arquivo
    using (var archive = new Archive())
    {
        // Adicionar arquivos/pastas para arquivar
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // Crie e defina opções para arquivo SFX
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // Criar arquivo SFX
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

Executando arquivos de extração automática usando a linha de comando

O arquivo de extração automática que criamos na seção anterior pode ser extraído clicando duas vezes nele. No entanto, se você quiser usar a linha de comando, poderá extrair o arquivo com o seguinte comando.

C:>archive.exe -autoExtract 

Aqui, -autoExtract é a principal opção que permite extrair o arquivo. Caso o arquivo seja protegido por senha, você pode especificar a senha usando a opção -password, conforme mostrado no comando a seguir.

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

A lista completa dos comandos para trabalhar com um arquivo executável de extração automática é fornecida em este artigo.

Obtenha uma licença de API gratuita

Você pode usar o Aspose.ZIP para .NET sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como criar arquivos de extração automática (SFX ou SEA) em C#. Além disso, discutimos como extrair um arquivo de extração automática usando a linha de comando. Você pode simplesmente instalar o Aspose.ZIP para .NET e incorporar o exemplo de código fornecido em seus aplicativos .NET. Além disso, você pode explorar mais sobre o Aspose.ZIP para .NET usando sua documentação. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também