aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/MsmBackend.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/MsmBackend.cs23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
index de9c4162..84588572 100644
--- a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
+++ b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
@@ -1,4 +1,4 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. 1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 2
3namespace WixToolset.Core.WindowsInstaller 3namespace WixToolset.Core.WindowsInstaller
4{ 4{
@@ -43,9 +43,26 @@ namespace WixToolset.Core.WindowsInstaller
43 return result; 43 return result;
44 } 44 }
45 45
46 public BindResult Decompile(IDecompileContext context) 46 public DecompileResult Decompile(IDecompileContext context)
47 { 47 {
48 throw new NotImplementedException(); 48 var extensionManager = context.ServiceProvider.GetService<IExtensionManager>();
49
50 var backendExtensions = extensionManager.Create<IWindowsInstallerBackendDecompilerExtension>();
51
52 foreach (var extension in backendExtensions)
53 {
54 extension.PreBackendDecompile(context);
55 }
56
57 var command = new DecompileMsiOrMsmCommand(context, backendExtensions);
58 var result = command.Execute();
59
60 foreach (var extension in backendExtensions)
61 {
62 extension.PostBackendDecompile(result);
63 }
64
65 return result;
49 } 66 }
50 67
51 public bool Inscribe(IInscribeContext context) 68 public bool Inscribe(IInscribeContext context)