在 C# 中創建可執行的自解壓存檔

自解壓存檔(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# 中創建可執行自解壓存檔的步驟。

以下代碼示例顯示瞭如何在 .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 的信息。此外,您可以將您的查詢發佈到我們的論壇

也可以看看