我知道这里有一个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/