在 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 的信息。此外,您可以将您的查询发布到我们的 论坛

也可以看看