我知道这里有一个similar question,但是标记的答案提供了一个指向外部库的链接,该库需要在用户计算机上安装多个依赖项。

我不需要提取文件或其他类似列表文件的东西-我只需要将文件夹的全部内容添加到单个cabinet文件中。我知道\Windows\System32文件夹中存在cabinet.dll,我希望有一种简单的方法可以与此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/

10-12 19:25