Այս արագ ձեռնարկը նկարագրում է ինչպես ստեղծել ինքնաարտահանվող Zip՝ օգտագործելով C# EXE ֆայլի տեսքով, որը կարող է ուղղակիորեն գործարկվել՝ .NET Framework 2.0 կամ ավելի բարձր տարբերակ ունեցող համակարգի բովանդակությունը հանելու համար: Այն տրամադրում է զարգացման միջավայրի կազմաձևման մանրամասները, առաջադրանքն իրականացնելու համար անհրաժեշտ անվանատարածքների և դասերի ցանկը և C#-ում գործարկվող օրինակելի կոդը: Մինչ դուք ստեղծում եք ինքնաարտահանվող ZIP ֆայլ՝ օգտագործելով C#, այն կարող է հարմարեցվել մի շարք եղանակներով, որոնք նկարագրված են այս հոդվածում:
C#-ի միջոցով ինքնաարտահանվող ZIP ստեղծելու քայլեր
- Կազմաձևեք հավելվածի միջավայրը՝ ավելացնելու Aspose.ZIP՝ SFX ZIP ստեղծելու համար
- Ստեղծեք ֆայլի հոսք նոր SFX ֆայլի համար
- Ստեղծեք Archive դասի օբյեկտ
- Ստեղծեք գրառում նոր արխիվում՝ տրամադրելով մուտքի անունը և թիրախային ֆայլը՝ օգտագործելով CreateEntry մեթոդը
- Instantiate SelfExtractorOptions դասի օբյեկտը հարմարեցնելու ելքային EXE
- Պահպանեք արխիվը որպես EXE ֆայլ՝ օգտագործելով հատուկ կազմաձևումը
Այս քայլերը նկարագրում են ինքնաարտահանվող ZIP-ի ստեղծման գործընթացը՝ օգտագործելով C#՝ առաջադրանքը կատարելու համար անհրաժեշտ քայլերի հաջորդականության օգնությամբ: Մենք պետք է ստեղծենք ֆայլի հոսք, որը կօգտագործվի արխիվային ֆայլը պահելու համար, այնուհետև ստեղծենք արխիվ՝ դրանում մեկ ֆայլ ավելացնելով: Ընտրանքներ են ուսումնասիրվում նաև ելքային SFX ֆայլը կարգավորելու համար՝ նախքան այն որպես EXE ֆայլ պահելը:
Կոդ՝ C#-ի միջոցով ինքնաարտահանվող 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 մեթոդը:
Այս կարճ ձեռնարկը մեզ սովորեցրել է ստեղծել SFX ZIP ֆայլ, սակայն եթե ցանկանում եք ստեղծել 7z արխիվ, տես ինչպես ստեղծել 7z արխիվ C#-ում-ի հոդվածը: