C#/ .NET:创建CAB并在没有外部库的情况下向其添加文件

And*_*y E 4 .net c# cab

我知道有一个类似的问题,但标记的答案提供了一个外部库的链接,需要在用户的机器上安装几个依赖项.

我不需要提取或其他任何像列出文件一样的东西 - 我只需要将文件夹的全部内容添加到单个cabinet文件中.我知道cabinet.dll存在于\ Windows\System32文件夹中,我希望有一种与这个DLL交互的简单方法来实现我想要做的事情.

没有外部库可以做到这一点吗?如果有人能指出我正确的方向,我会永远感激.

Dar*_*rov 9

你可以看看WiX,更具体地说是Microsoft.Deployment.Compression.Cab装配.它有一个很好的API,允许你这样做:

CabInfo cab = new CabInfo(@"c:\Work\some.cab"); 
cab.Pack(@"C:\Work\folder");
Run Code Online (Sandbox Code Playgroud)

它取决于Microsoft.Deployment.Compression独立的组件,因此您只需要这两个组件.