aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
index 80f37eb2..6ca1d89f 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
@@ -44,7 +44,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
44 // extract the files from the cabinets 44 // extract the files from the cabinets
45 if (!String.IsNullOrEmpty(this.Context.ExtractFolder) && !this.Context.SuppressExtractCabinets) 45 if (!String.IsNullOrEmpty(this.Context.ExtractFolder) && !this.Context.SuppressExtractCabinets)
46 { 46 {
47 var extractCommand = new ExtractCabinetsCommand(output, database, this.Context.DecompilePath, this.Context.ExtractFolder, this.Context.IntermediateFolder); 47 var extractCommand = new ExtractCabinetsCommand(output, database, this.Context.DecompilePath, this.Context.ExtractFolder, this.Context.IntermediateFolder, this.Context.TreatProductAsModule);
48 extractCommand.Execute(); 48 extractCommand.Execute();
49 49
50 result.ExtractedFilePaths = extractCommand.ExtractedFiles; 50 result.ExtractedFilePaths = extractCommand.ExtractedFiles;
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
index 94301727..eaed16b8 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
@@ -15,13 +15,14 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
15 15
16 internal class ExtractCabinetsCommand 16 internal class ExtractCabinetsCommand
17 { 17 {
18 public ExtractCabinetsCommand(Output output, Database database, string inputFilePath, string exportBasePath, string intermediateFolder) 18 public ExtractCabinetsCommand(Output output, Database database, string inputFilePath, string exportBasePath, string intermediateFolder, bool treatOutputAsModule = false)
19 { 19 {
20 this.Output = output; 20 this.Output = output;
21 this.Database = database; 21 this.Database = database;
22 this.InputFilePath = inputFilePath; 22 this.InputFilePath = inputFilePath;
23 this.ExportBasePath = exportBasePath; 23 this.ExportBasePath = exportBasePath;
24 this.IntermediateFolder = intermediateFolder; 24 this.IntermediateFolder = intermediateFolder;
25 this.TreatOutputAsModule = treatOutputAsModule;
25 } 26 }
26 27
27 public string[] ExtractedFiles { get; private set; } 28 public string[] ExtractedFiles { get; private set; }
@@ -36,6 +37,8 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
36 37
37 private string IntermediateFolder { get; } 38 private string IntermediateFolder { get; }
38 39
40 public bool TreatOutputAsModule { get; }
41
39 public void Execute() 42 public void Execute()
40 { 43 {
41 var databaseBasePath = Path.GetDirectoryName(this.InputFilePath); 44 var databaseBasePath = Path.GetDirectoryName(this.InputFilePath);
@@ -43,7 +46,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
43 var embeddedCabinets = new SortedList(); 46 var embeddedCabinets = new SortedList();
44 47
45 // index all of the cabinet files 48 // index all of the cabinet files
46 if (OutputType.Module == this.Output.Type) 49 if (OutputType.Module == this.Output.Type || this.TreatOutputAsModule)
47 { 50 {
48 embeddedCabinets.Add(0, "MergeModule.CABinet"); 51 embeddedCabinets.Add(0, "MergeModule.CABinet");
49 } 52 }