自解壓存檔(SFX 或 SEA)是一種特殊類型的文件,其中包含壓縮數據和可執行指令。這個檔案有能力提取它自己包含的文件。因此,您不需要任何特定的提取器或解壓縮器應用程序來打開自解壓檔案。在本文中,您將了解如何在 .NET 應用程序中使用 C# 創建可執行的自解壓存檔。
用於創建自解壓存檔的 C# .NET API
要創建自解壓存檔,我們將使用 Aspose.ZIP for .NET。它是一個功能強大且功能豐富的 API,可讓您非常輕鬆地自動化 .NET 應用程序中的歸檔功能。此外,它支持多種流行的存檔格式,如 ZIP、TAR 等。您可以下載 API 的 DLL 或使用 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 是允許您提取存檔的主要選項。如果存檔受密碼保護,您可以使用 -password 選項指定密碼,如以下命令所示。
C:>archive.exe -autoExtract -password:T0p$ecret
本文 中提供了使用可執行自解壓存檔的完整命令列表。
獲取免費的 API 許可證
通過獲得免費的臨時許可證,您可以在沒有評估限制的情況下使用 Aspose.ZIP for .NET。
結論
在本文中,您學習瞭如何在 C# 中創建自解壓存檔(SFX 或 SEA)。此外,我們還討論瞭如何使用命令行提取自解壓存檔。您可以簡單地安裝 Aspose.ZIP for .NET 並將提供的代碼示例嵌入到您的 .NET 應用程序中。此外,您可以使用其 文檔 探索更多關於 Aspose.ZIP for .NET 的信息。此外,您可以將您的查詢發佈到我們的論壇。