این آموزش سریع نحوه ایجاد خود استخراجی Zip با استفاده از C# را در قالب یک فایل EXE توضیح میدهد که میتواند مستقیماً برای استخراج محتویات روی سیستمی با .NET Framework 2.0 یا بالاتر اجرا شود. جزئیات پیکربندی محیط توسعه، لیستی از فضاهای نام و کلاس های لازم برای انجام کار و یک کد نمونه قابل اجرا در سی شارپ را ارائه می دهد. در حالی که یک فایل ZIP خود استخراجی با استفاده از C# ایجاد می کنید، می توان آن را به روش هایی که در این مقاله توضیح داده شده است سفارشی کرد.
مراحل ایجاد ZIP استخراج شونده با استفاده از سی شارپ
- محیط برنامه را برای اضافه کردن Aspose.ZIP برای ایجاد SFX ZIP پیکربندی کنید
- یک جریان فایل برای فایل SFX جدید ایجاد کنید
- یک شی کلاس Archive را نمونه سازی کنید
- با ارائه نام ورودی و فایل مورد نظر با استفاده از روش CreateEntry یک ورودی در بایگانی جدید ایجاد کنید.
- برای سفارشی کردن خروجی EXE، شیء کلاس SelfExtractorOptions را Instanti کنید
- بایگانی را به عنوان یک فایل EXE با استفاده از پیکربندی سفارشی ذخیره کنید
این مراحل فرآیند تولید زیپ خود استخراج شونده با استفاده از C# را با کمک دنباله ای از مراحل مورد نیاز برای انجام کار توصیف می کنند. ما باید یک جریان فایل ایجاد کنیم که برای ذخیره فایل بایگانی استفاده شود و سپس با افزودن یک فایل ورودی به آن یک بایگانی ایجاد کنیم. گزینههایی نیز برای پیکربندی فایل خروجی SFX قبل از ذخیره آن به عنوان یک فایل EXE بررسی میشوند.
کد برای ایجاد ZIP استخراج شونده با استفاده از سی شارپ
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"); | |
} | |
} | |
} |
این کد نحوه تولید ZIP خود استخراجی با استفاده از C# را با راهنمایی برای افزودن یک ورودی به بایگانی نشان می دهد. توجه داشته باشید که میتوانید با استفاده از متد ()CreateEntries که امکان انتخاب یک پوشه برای بایگانی را فراهم میکند، یک پوشه کامل را نیز به بایگانی اضافه کنید. در طول فرآیند، میتوانید در صورت نیاز، برخی از فایلها را نیز با استفاده از روش DeleteEntry از بایگانی حذف کنید.
این آموزش کوتاه به ما یاد داده است که یک فایل ZIP SFX ایجاد کنیم، اما اگر میخواهید یک بایگانی ۷z ایجاد کنید، به مقاله در نحوه ایجاد آرشیو 7z در سی شارپ مراجعه کنید.