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 .NET per creare archivi autoestraenti
- Crea un archivio autoestraente in C#
- Esecuzione di archivi autoestraenti dalla riga di comando
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#.
- Innanzitutto, crea un nuovo oggetto FileStream per l’archivio.
- Quindi, crea un oggetto della classe Archive.
- Aggiungi file all’archivio usando il metodo Archive.CreateEntry(string, string).
- Crea un oggetto della classe SelfExtractorOptions per sepcificare le opzioni per l’archivio autoestraente.
- Imposta opzioni come titolo, icona, ecc.
- Infine, salva il file di archivio autoestraente usando il metodo Archive.Save(FileStream, new ArchiveSaveOptions()).
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.