Tento rychlý tutoriál popisuje jak vytvořit samorozbalovací Zip pomocí C# ve formě souboru EXE, který lze přímo spustit k extrahování obsahu v systému s rozhraním .NET Framework 2.0 nebo vyšším. Poskytuje podrobnosti o konfiguraci vývojového prostředí, seznam nezbytných jmenných prostorů a tříd potřebných ke splnění úkolu a spustitelný ukázkový kód v C#. I když vytváříte samorozbalovací soubor ZIP pomocí jazyka C#, lze jej přizpůsobit mnoha způsoby, které jsou popsány v tomto článku.
Kroky k vytvoření samorozbalovacího ZIP pomocí C#
- Nakonfigurujte prostředí aplikace tak, aby přidalo Aspose.ZIP pro vytváření SFX ZIP
- Vytvořte datový proud souboru pro nový soubor SFX
- Vytvořte instanci objektu třídy Archive
- Vytvořte položku v novém archivu zadáním názvu položky a cílového souboru pomocí metody CreateEntry
- Vytvořte instanci objektu třídy SelfExtractorOptions pro přizpůsobení výstupu EXE
- Uložte archiv jako soubor EXE pomocí vlastní konfigurace
Tyto kroky popisují proces generování samorozbalovacího ZIP pomocí C# s pomocí sekvence kroků potřebných k provedení úkolu. Potřebujeme vytvořit souborový proud, který bude použit k uložení archivního souboru, a poté vytvořit archiv přidáním jedné položky souboru do něj. Jsou také prozkoumány možnosti konfigurace výstupního souboru SFX před jeho uložením jako soubor EXE.
Kód pro vytvoření samorozbalovacího ZIP pomocí C#
using System.IO; | |
using Aspose.Zip; | |
using Aspose.Zip.Saving; | |
namespace CreateSelfExtractingZipUsingCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to create self extracting zip using csharp | |
{ | |
// Initialize license | |
Aspose.Zip.License lic = new Aspose.Zip.License(); | |
lic.SetLicense("Aspose.Total.lic"); | |
// Create a file | |
using (FileStream SfxZipFile = File.Open("SelfExtracting.exe", FileMode.Create)) | |
{ | |
// Instantiate an Archive | |
using (var archiveInstance = new Archive()) | |
{ | |
// Create entry for a file | |
archiveInstance.CreateEntry("entry.jpg", "Sample.jpg"); | |
// Create options for SFX | |
var selfExtractorOptions = new SelfExtractorOptions() | |
{ | |
ExtractorTitle = "Test Extractor", | |
CloseWindowOnExtraction = true, | |
TitleIcon = @"MyIcon.ico" | |
}; | |
archiveInstance.Save(SfxZipFile, new ArchiveSaveOptions() { SelfExtractorOptions = selfExtractorOptions }); | |
} | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Tento kód demonstruje, jak vytvořit samorozbalovací ZIP pomocí C# pomocí přidání jedné položky do archivu. Všimněte si, že úplnou složku můžete přidat také do archivu pomocí metody CreateEntries(), která umožňuje výběr složky k archivaci. Během procesu můžete v případě potřeby odstranit některé soubory také z archivu pomocí metody DeleteEntry.
Tento krátký tutoriál nás naučil vytvářet SFX ZIP soubor, ale pokud chcete vytvořit 7z archiv, podívejte se na článek na jak vytvořit 7z archiv v C#.