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 .NET para criar arquivos de extração automática
- Criar um arquivo de extração automática em C#
- Executando arquivos de extração automática a partir da linha de comando
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#.
- Primeiro, crie um novo objeto FileStream para arquivo.
- Em seguida, crie um objeto da classe Archive.
- Adicione arquivos ao arquivo usando o método Archive.CreateEntry(string, string).
- Crie um objeto da classe SelfExtractorOptions para especificar opções para arquivo de extração automática.
- Defina opções como título, ícone, etc.
- Finalmente, salve o arquivo de extração automática usando o método Archive.Save(FileStream, new ArchiveSaveOptions()).
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.