Tạo kho lưu trữ tự giải nén có thể thực thi trong C#

Kho lưu trữ tự giải nén(SFX hoặc SEA) là một loại tệp đặc biệt chứa dữ liệu nén cùng với các hướng dẫn thực thi. Kho lưu trữ này có khả năng tự giải nén các tệp mà nó chứa. Do đó, bạn không cần bất kỳ trình giải nén hoặc ứng dụng giải nén cụ thể nào để mở các kho lưu trữ tự giải nén. Trong bài viết này, bạn sẽ tìm hiểu cách tạo kho lưu trữ tự giải nén thực thi trong C# từ bên trong các ứng dụng .NET của bạn.

C# .NET API để tạo kho lưu trữ tự giải nén

Để tạo các kho lưu trữ tự giải nén, chúng tôi sẽ sử dụng Aspose.ZIP for .NET. Đây là một API mạnh mẽ và giàu tính năng cho phép bạn tự động hóa các tính năng lưu trữ trong các ứng dụng .NET một cách khá dễ dàng. Hơn nữa, nó hỗ trợ nhiều định dạng lưu trữ phổ biến như ZIP, TAR, v.v. Bạn có thể tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Zip 

Tạo kho lưu trữ tự giải nén trong C#

Hãy bắt đầu tạo một kho lưu trữ tự giải nén giả sử rằng bạn đã cài đặt Aspose.ZIP cho .NET. Vì đây sẽ là một kho lưu trữ thực thi, phần mở rộng của nó sẽ là .exe. Sau đây là các bước để tạo một kho lưu trữ tự giải nén thực thi trong C#.

Mẫu mã sau đây cho thấy cách tạo một kho lưu trữ tự giải nén thực thi trong .NET.

// Tạo FileStream để lưu kho lưu trữ SFX
using (FileStream zipFile = File.Open("Archives/archive.exe", FileMode.Create))
{
    // Tạo một kho lưu trữ mới
    using (var archive = new Archive())
    {
        // Thêm tệp / thư mục vào kho lưu trữ
        archive.CreateEntry("SourceFile1.txt", "Archives/SourceFile1.txt");

        // Tạo và đặt các tùy chọn cho kho lưu trữ SFX
        var sfxOptions = new SelfExtractorOptions()
        {
            ExtractorTitle = "Extractor",
            CloseWindowOnExtraction = true, 
        };

        // Tạo kho lưu trữ SFX
        archive.Save(zipFile, new ArchiveSaveOptions() { SelfExtractorOptions = sfxOptions });
    }
}

Thực thi Tự giải nén Lưu trữ bằng Dòng lệnh

Lưu trữ tự giải nén mà chúng ta đã tạo trong phần trước có thể được giải nén bằng cách nhấp đúp vào nó. Tuy nhiên, nếu bạn muốn sử dụng dòng lệnh, bạn có thể giải nén kho lưu trữ bằng lệnh sau.

C:>archive.exe -autoExtract 

Ở đây, \ -autoExtract là tùy chọn chính cho phép bạn giải nén kho lưu trữ. Trong trường hợp tệp lưu trữ được bảo vệ bằng mật khẩu, bạn có thể chỉ định mật khẩu bằng tùy chọn \ -password, như được hiển thị trong lệnh sau.

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

Danh sách đầy đủ các lệnh để làm việc với một kho lưu trữ tự giải nén thực thi được cung cấp trong bài viết này.

Nhận giấy phép API miễn phí

Bạn có thể sử dụng Aspose.ZIP cho .NET mà không có giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo các kho lưu trữ tự giải nén (SFX hoặc SEA) trong C#. Hơn nữa, chúng ta đã thảo luận về cách giải nén một kho lưu trữ tự giải nén bằng dòng lệnh. Bạn chỉ cần cài đặt Aspose.ZIP cho .NET và nhúng mẫu mã được cung cấp vào các ứng dụng .NET của mình. Bên cạnh đó, bạn có thể khám phá thêm về Aspose.ZIP cho .NET bằng cách sử dụng tài liệu của nó. Ngoài ra, bạn có thể đăng các truy vấn của mình lên diễn đàn của chúng tôi.

Xem thêm