Crea archivio eseguibile autoestraente in C#

Un archivio autoestraente (SFX o SEA) è un tipo speciale di file che contiene dati compressi insieme a istruzioni eseguibili. Questo archivio ha la capacità di estrarre i file che contiene da solo. Pertanto, non è necessaria alcuna specifica applicazione di estrazione o decompressione per aprire archivi autoestraenti. In questo articolo imparerai come creare archivi eseguibili autoestraenti in C# dalle tue applicazioni .NET.

API C# .NET per creare archivi autoestraenti

Per creare archivi autoestraenti, utilizzeremo Aspose.ZIP for .NET. È un’API potente e ricca di funzionalità che consente di automatizzare facilmente le funzionalità di archiviazione nelle applicazioni .NET. Inoltre, supporta una varietà di formati di archivio popolari come ZIP, TAR, ecc. Puoi scaricare la DLL dell’API o installarla usando NuGet.

PM> Install-Package Aspose.Zip 

Crea un archivio autoestraente in C#

Iniziamo a creare un archivio autoestraente supponendo che tu abbia installato Aspose.ZIP per .NET. Poiché questo sarà un archivio eseguibile, la sua estensione sarà .exe. Di seguito sono riportati i passaggi per creare un archivio eseguibile autoestraente in C#.

Nell’esempio di codice seguente viene illustrato come creare un archivio eseguibile autoestraente in .NET.

// Crea FileStream per salvare l'archivio SFX
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // Crea un nuovo archivio
    using (var archive = new Archive())
    {
        // Aggiungi file/cartelle da archiviare
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // Crea e imposta le opzioni per l'archivio SFX
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // Crea un archivio SFX
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

Esecuzione di archivi autoestraenti utilizzando la riga di comando

L’archivio autoestraente che abbiamo creato nella sezione precedente può essere estratto facendo doppio clic su di esso. Tuttavia, se si desidera utilizzare la riga di comando, è possibile estrarre l’archivio con il comando seguente.

C:>archive.exe -autoExtract 

Qui, -autoExtract è l’opzione principale che ti consente di estrarre l’archivio. Nel caso in cui l’archivio sia protetto da password, è possibile specificare la password utilizzando l’opzione -password, come mostrato nel comando seguente.

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

L’elenco completo dei comandi per lavorare con un archivio eseguibile autoestraente è fornito in questo articolo.

Ottieni una licenza API gratuita

Puoi utilizzare Aspose.ZIP per .NET senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come creare archivi autoestraenti (SFX o SEA) in C#. Inoltre, abbiamo discusso come estrarre un archivio autoestraente utilizzando la riga di comando. Puoi semplicemente installare Aspose.ZIP per .NET e incorporare l’esempio di codice fornito nelle tue applicazioni .NET. Inoltre, puoi esplorare di più su Aspose.ZIP per .NET usando la sua documentazione. Inoltre, puoi inviare le tue domande al nostro forum.

Guarda anche