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