Ovaj kratki vodič opisuje kako stvoriti samoraspakirajuću Zip koristeći C# u obliku EXE datoteke koja se može izravno izvršiti za izdvajanje sadržaja na sustavu koji ima .NET Framework 2.0 ili noviji. Pruža pojedinosti o konfiguraciji razvojnog okruženja, popis potrebnih imenskih prostora i klasa potrebnih za izvršenje zadatka te primjer koda koji se može izvoditi u C#. Dok stvorite samoraspakirajuću ZIP datoteku koristeći C#, ona se može prilagoditi na brojne načine koji su opisani u ovom članku.
Koraci za stvaranje samoraspakujućeg ZIP-a pomoću C#
- Konfigurirajte okruženje aplikacije za dodavanje Aspose.ZIP za stvaranje SFX ZIP-a
- Stvorite tok datoteke za novu SFX datoteku
- Instancirajte objekt klase Archive
- Napravite unos u novoj arhivi unosom naziva unosa i ciljne datoteke koristeći CreateEntry metodu
- Instancirajte objekt klase SelfExtractorOptions za prilagodbu izlaznog EXE
- Spremite arhivu kao EXE datoteku koristeći prilagođenu konfiguraciju
Ovi koraci opisuju proces generiranja samoraspakirajućeg ZIP-a koristeći C# uz pomoć niza koraka potrebnih za izvođenje zadatka. Moramo stvoriti tok datoteka koji će se koristiti za spremanje arhivske datoteke, a zatim stvoriti arhivu dodavanjem jednog unosa datoteke u nju. Također se istražuju opcije za konfiguriranje izlazne SFX datoteke prije spremanja kao EXE datoteke.
Kod za stvaranje samoraspakujućeg ZIP-a pomoću 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"); | |
} | |
} | |
} |
Ovaj kôd demonstrira kako proizvesti ZIP koji se sam izvlači koristeći C# navođenjem za dodavanje jednog unosa u arhivu. Imajte na umu da možete dodati i cijelu mapu u arhivu pomoću metode CreateEntries() koja omogućuje odabir mape za arhiviranje. Tijekom procesa možete ukloniti neke datoteke i iz arhive pomoću metode DeleteEntry ako je potrebno.
Ovaj kratki vodič nas je naučio izraditi SFX ZIP datoteku, ali ako želite stvoriti 7z arhivu, pogledajte članak na kako napraviti 7z arhivu u C#.