/// <summary> /// Packs the input files into a cab that is appended to the /// output SfxCA.dll. /// </summary> private static void PackInputFiles(string outputFile, IDictionary <string, string> fileMap) { log.WriteLine("Packaging files"); CabInfo cabInfo = new CabInfo(outputFile); cabInfo.PackFileSet(null, fileMap, CompressionLevel.Max, PackProgress); }
private void InitWithWindowsLib(List <FileInCab> windowsLibListFiles, CompressionLevel level) { foreach (var cabGroupedFiles in windowsLibListFiles.GroupBy(f => f.CabPath)) { if (!Directory.Exists(cabGroupedFiles.Key)) { Directory.CreateDirectory(Path.GetDirectoryName(cabGroupedFiles.Key)); } } // create .cab foreach (var cabGroupedFiles in windowsLibListFiles.GroupBy(f => f.CabPath)) { var cabInfo = new CabInfo(cabGroupedFiles.Key); var filesDic = cabGroupedFiles.ToDictionary(file => file.RelativePathInCab, file => file.SourcePath); cabInfo.PackFileSet(filesDic, level, null); } VerifyCabFilesWithWindowsLib(windowsLibListFiles); }