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.
- .NET API để tạo kho lưu trữ tự giải nén
- Tạo kho lưu trữ tự giải nén trong C#
- Thực thi Tự giải nén Lưu trữ từ Dòng lệnh
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#.
- Đầu tiên, tạo một đối tượng FileStream mới để lưu trữ.
- Sau đó, tạo một đối tượng của lớp Archive.
- Thêm tệp vào kho lưu trữ bằng phương thức Archive.CreateEntry (string, string).
- Tạo một đối tượng của lớp SelfExtractorOptions để phân tách các tùy chọn cho kho lưu trữ tự giải nén.
- Đặt các tùy chọn như tiêu đề, biểu tượng, v.v.
- Cuối cùng, lưu tệp lưu trữ tự giải nén bằng phương thức Archive.Save (FileStream, new ArchiveSaveOptions()).
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.