สร้างไฟล์เก็บถาวรแบบแยกไฟล์ที่เรียกใช้งานได้ใน C#

self-extracting archive (SFX หรือ SEA) คือไฟล์ประเภทพิเศษที่มีข้อมูลที่บีบอัดพร้อมกับคำแนะนำในการดำเนินการ ไฟล์เก็บถาวรนี้มีความสามารถในการแยกไฟล์ที่มีอยู่ด้วยตัวเอง ดังนั้น คุณไม่จำเป็นต้องใช้โปรแกรมแยกไฟล์หรือโปรแกรมขยายขนาดเพื่อเปิดไฟล์เก็บถาวรแบบขยายตัวเอง ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์เก็บถาวรที่ขยายไฟล์ได้เองใน C# จากภายในแอปพลิเคชัน .NET ของคุณ

C# .NET API เพื่อสร้างไฟล์เก็บถาวรแบบขยายตัวเอง

ในการสร้างไฟล์เก็บถาวรแบบขยายตัวเอง เราจะใช้ Aspose.ZIP for .NET เป็น API ที่ทรงพลังและเต็มไปด้วยคุณสมบัติที่ช่วยให้คุณกำหนดคุณสมบัติการเก็บถาวรโดยอัตโนมัติในแอปพลิเคชัน .NET ได้อย่างง่ายดาย นอกจากนี้ ยังรองรับไฟล์เก็บถาวรรูปแบบต่างๆ ที่เป็นที่นิยม เช่น ZIP, TAR เป็นต้น คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Zip 

สร้างไฟล์เก็บถาวรแบบขยายตัวเองใน C

มาเริ่มสร้างไฟล์เก็บถาวรแบบขยายตัวเองโดยสมมติว่าคุณได้ติดตั้ง Aspose.ZIP for .NET เนื่องจากไฟล์นี้จะเป็นไฟล์เก็บถาวรที่เรียกใช้งานได้ นามสกุลของไฟล์จะเป็น .exe ต่อไปนี้เป็นขั้นตอนในการสร้างไฟล์เก็บถาวรแบบแยกไฟล์ที่เรียกใช้งานได้ใน C#

  • ขั้นแรก สร้างวัตถุ FileStream ใหม่สำหรับเก็บถาวร
  • จากนั้น สร้างวัตถุของคลาส Archive
  • เพิ่มไฟล์ไปยังไฟล์เก็บถาวรโดยใช้เมธอด Archive.CreateEntry(string, string)
  • สร้างออบเจกต์ของคลาส SelfExtractorOptions เพื่อแยกตัวเลือกสำหรับการคลายไฟล์เก็บถาวรด้วยตนเอง
  • ตั้งค่าตัวเลือกต่างๆ เช่น ชื่อเรื่อง ไอคอน เป็นต้น
  • สุดท้าย ให้บันทึกไฟล์เก็บถาวรแบบขยายตัวเองโดยใช้เมธอด Archive.Save(FileStream, new ArchiveSaveOptions())

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์เก็บถาวรแบบขยายตัวเองที่เรียกใช้งานได้ใน .NET

// สร้าง FileStream เพื่อบันทึกไฟล์เก็บถาวร SFX
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // สร้างไฟล์เก็บถาวรใหม่
    using (var archive = new Archive())
    {
        // เพิ่มไฟล์/โฟลเดอร์ที่จะเก็บถาวร
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // สร้างและตั้งค่าตัวเลือกสำหรับการเก็บถาวร SFX
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // สร้างไฟล์เก็บถาวร SFX
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

ดำเนินการเก็บถาวรขยายตัวเองโดยใช้บรรทัดคำสั่ง

ไฟล์เก็บถาวรแบบขยายตัวเองที่เราสร้างไว้ในส่วนก่อนหน้าสามารถแยกออกได้โดยการดับเบิลคลิก อย่างไรก็ตาม หากคุณต้องการใช้บรรทัดคำสั่ง คุณสามารถแตกไฟล์เก็บถาวรด้วยคำสั่งต่อไปนี้

C:>archive.exe -autoExtract 

ที่นี่ -autoExtract เป็นตัวเลือกหลักที่ให้คุณแตกไฟล์เก็บถาวร ในกรณีที่ไฟล์เก็บถาวรมีการป้องกันด้วยรหัสผ่าน คุณสามารถระบุรหัสผ่านโดยใช้ตัวเลือก -รหัสผ่าน ดังที่แสดงในคำสั่งต่อไปนี้

C:>archive.exe -autoExtract -password:T0p$ecret

รายการคำสั่งทั้งหมดเพื่อทำงานกับไฟล์เก็บถาวรแบบแยกไฟล์ที่เรียกใช้งานได้มีอยู่ใน บทความนี้

รับใบอนุญาต API ฟรี

คุณสามารถใช้ Aspose.ZIP for .NET ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์เก็บถาวรแบบขยายตัวเอง (SFX หรือ SEA) ใน C# นอกจากนี้ เราได้กล่าวถึงวิธีการแตกไฟล์เก็บถาวรแบบขยายตัวเองโดยใช้บรรทัดคำสั่ง คุณสามารถติดตั้ง Aspose.ZIP for .NET และฝังตัวอย่างโค้ดที่ให้ไว้ในแอปพลิเคชัน .NET ของคุณ นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.ZIP for .NET ได้โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถโพสต์คำถามของคุณไปที่ ฟอรัม ของเรา

ดูสิ่งนี้ด้วย