aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs6
-rw-r--r--src/WixToolset.Core/CommandLine/DecompileCommand.cs11
2 files changed, 7 insertions, 10 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
index 130f5ea8..80f37eb2 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/DecompileMsiOrMsmCommand.cs
@@ -5,7 +5,6 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.ComponentModel; 7 using System.ComponentModel;
8 using System.Xml.Linq;
9 using WixToolset.Core.Native; 8 using WixToolset.Core.Native;
10 using WixToolset.Data; 9 using WixToolset.Data;
11 using WixToolset.Extensibility; 10 using WixToolset.Extensibility;
@@ -40,10 +39,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
40 var output = unbindCommand.Execute(); 39 var output = unbindCommand.Execute();
41 40
42 var decompiler = new Decompiler(this.Messaging, this.Extensions, this.Context.BaseSourcePath, this.Context.SuppressCustomTables, this.Context.SuppressDroppingEmptyTables, this.Context.SuppressUI, this.Context.TreatProductAsModule); 41 var decompiler = new Decompiler(this.Messaging, this.Extensions, this.Context.BaseSourcePath, this.Context.SuppressCustomTables, this.Context.SuppressDroppingEmptyTables, this.Context.SuppressUI, this.Context.TreatProductAsModule);
43 var wxs = decompiler.Decompile(output); 42 result.Document = decompiler.Decompile(output);
44
45 wxs.Save(this.Context.OutputPath, SaveOptions.OmitDuplicateNamespaces);
46 result.SourceDocumentPath = this.Context.OutputPath;
47 43
48 // extract the files from the cabinets 44 // extract the files from the cabinets
49 if (!String.IsNullOrEmpty(this.Context.ExtractFolder) && !this.Context.SuppressExtractCabinets) 45 if (!String.IsNullOrEmpty(this.Context.ExtractFolder) && !this.Context.SuppressExtractCabinets)
diff --git a/src/WixToolset.Core/CommandLine/DecompileCommand.cs b/src/WixToolset.Core/CommandLine/DecompileCommand.cs
index 87cead80..3aa750c8 100644
--- a/src/WixToolset.Core/CommandLine/DecompileCommand.cs
+++ b/src/WixToolset.Core/CommandLine/DecompileCommand.cs
@@ -3,8 +3,8 @@
3namespace WixToolset.Core.CommandLine 3namespace WixToolset.Core.CommandLine
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic;
7 using System.IO; 6 using System.IO;
7 using System.Xml.Linq;
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Extensibility; 9 using WixToolset.Extensibility;
10 using WixToolset.Extensibility.Data; 10 using WixToolset.Extensibility.Data;
@@ -29,10 +29,6 @@ namespace WixToolset.Core.CommandLine
29 29
30 public IMessaging Messaging { get; } 30 public IMessaging Messaging { get; }
31 31
32 private IEnumerable<SourceFile> SourceFiles { get; }
33
34 private string OutputPath { get; }
35
36 public int Execute() 32 public int Execute()
37 { 33 {
38 if (this.commandLine.ShowHelp) 34 if (this.commandLine.ShowHelp)
@@ -52,6 +48,11 @@ namespace WixToolset.Core.CommandLine
52 { 48 {
53 var decompiler = this.ServiceProvider.GetService<IDecompiler>(); 49 var decompiler = this.ServiceProvider.GetService<IDecompiler>();
54 var result = decompiler.Decompile(context); 50 var result = decompiler.Decompile(context);
51
52 if (!this.Messaging.EncounteredError)
53 {
54 result.Document.Save(context.OutputPath, SaveOptions.OmitDuplicateNamespaces);
55 }
55 } 56 }
56 catch (WixException e) 57 catch (WixException e)
57 { 58 {