public static byte[] ExtractCabinetFile(string InputFile, string FileName) { var cabFile = new CabinetFile(InputFile); return(cabFile.ReadFile(FileName)); }
public static IReadOnlyCollection <string> EnumCabinetFiles(string InputFile) { var cabFile = new CabinetFile(InputFile); return(cabFile.Files); }
/// <summary> /// Expands a cabinet file in pure C# (TM) /// Because nothing else god damn existed at the time of writing this /// and CAB is some archaic format that makes barely any sense in 2021 /// at least for most people it seems /// TODO: Multi part /// TODO: CheckSum /// Relevant Documentation that might help at 20% only: https://interoperability.blob.core.windows.net/files/Archive_Exchange/%5bMS-CAB%5d.pdf /// </summary> /// <param name="InputFile">Input cabinet file</param> /// <param name="OutputDirectory">Output directory</param> public static void ExtractCabinet(string InputFile, string OutputDirectory, Action <int, string> progressCallBack = null) { var cabFile = new CabinetFile(InputFile); cabFile.ExtractAllFiles(OutputDirectory, progressCallBack); }