@joebigelow / wix-1 / commits / 65a9e0b6

Clean and create export directory early.

...to support extracting cabinets to the root of the export directory rather than requiring files in cabinets to be extracted to their own directory.

Bob Arnson committed Dec 17, 2018 at 17:13 UTC 65a9e0b609f6b25e0e138eef9e8bb58cd98120d9
2 files changed +6 -6
src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
+6
@@ -36,6 +36,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
36 {
37 using (var database = new Database(this.Context.DecompilePath, OpenDatabase.ReadOnly))
38 {
39 + // Delete the directory and its files to prevent cab extraction failure due to an existing file.
40 + if (Directory.Exists(this.Context.ExtractFolder))
41 + {
42 + Directory.Delete(this.Context.ExtractFolder, true);
43 + }
44 +
45 var unbindCommand = new UnbindDatabaseCommand(this.Messaging, database, this.Context.DecompilePath, this.Context.DecompileType, this.Context.ExtractFolder, this.Context.IntermediateFolder, this.Context.IsAdminImage, false, skipSummaryInfo: false);
46 var output = unbindCommand.Execute();
47 var extractedFilePaths = new List<string>(unbindCommand.ExportedFiles);
src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
-6
@@ -121,12 +121,6 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
121 // extract the cabinet files
122 if (0 < cabinetFiles.Count)
123 {
124 - // delete the directory and its files to prevent cab extraction due to an existing file
125 - if (Directory.Exists(this.ExportBasePath))
126 - {
127 - Directory.Delete(this.ExportBasePath, true);
128 - }
129 -
124 // ensure the directory exists or extraction will fail
125 Directory.CreateDirectory(this.ExportBasePath);
126