aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/MsiBackend.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/MsiBackend.cs23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
index 579977fe..b633ea31 100644
--- a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
+++ b/src/WixToolset.Core.WindowsInstaller/MsiBackend.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{
@@ -38,9 +38,26 @@ namespace WixToolset.Core.WindowsInstaller
38 return result; 38 return result;
39 } 39 }
40 40
41 public BindResult Decompile(IDecompileContext context) 41 public DecompileResult Decompile(IDecompileContext context)
42 { 42 {
43 throw new NotImplementedException(); 43 var extensionManager = context.ServiceProvider.GetService<IExtensionManager>();
44
45 var backendExtensions = extensionManager.Create<IWindowsInstallerBackendDecompilerExtension>();
46
47 foreach (var extension in backendExtensions)
48 {
49 extension.PreBackendDecompile(context);
50 }
51
52 var command = new DecompileMsiOrMsmCommand(context, backendExtensions);
53 var result = command.Execute();
54
55 foreach (var extension in backendExtensions)
56 {
57 extension.PostBackendDecompile(result);
58 }
59
60 return result;
44 } 61 }
45 62
46 public bool Inscribe(IInscribeContext context) 63 public bool Inscribe(IInscribeContext context)