public void BuildFileList() { publisher.Initialize(); string path = @"C:\temp\" + Guid.NewGuid().ToString(); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); publisher.Update("Temp folder created."); } var files = CopyTo(path); var extractPath = ExtractFiles(files); var extracts = Directory.EnumerateFiles(extractPath, "*.*", SearchOption.AllDirectories); foreach (var extract in extracts) { var fileName = extract.Replace(extractPath + "\\", ""); var file = new File(System.IO.Path.GetFileName(fileName), System.IO.Path.GetExtension(fileName), fileName); file.AssociateToBuild(Id); Files.Add(file); publisher.Update(string.Format("File: {0}", fileName)); } if (System.IO.Directory.Exists(path)) { System.IO.Directory.Delete(path, true); publisher.Update("Cleaning up."); } publisher.Complete(); }