我知道有一个 similar question但标记的答案提供了一个指向外部库的链接,该库需要在用户计算机上安装多个依赖项。
我不需要提取或任何其他花哨的东西,比如列出文件 - 我只需要将一个文件夹的全部内容添加到一个 cabinet 文件中。我知道 cabinet.dll 存在于\Windows\System32 文件夹中,我希望有一种简单的方法可以与此 DLL 交互以实现我正在尝试做的事情。
是否可以在没有外部库的情况下执行此操作?如果有人能指出我正确的方向,我将永远感激不已。
最佳答案
你可以看看WiX更具体地说是 Microsoft.Deployment.Compression.Cab
程序集。它有一个不错的 API,可让您执行此操作:
CabInfo cab = new CabInfo(@"c:\Work\some.cab");
cab.Pack(@"C:\Work\folder");
它依赖于独立的 Microsoft.Deployment.Compression
程序集,因此您只需要这两个程序集。
关于C#/.NET : Creating a CAB and adding files to it without an external library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939639/