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.cs17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
index f048b4e2..4860bf81 100644
--- a/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
+++ b/src/WixToolset.Core.WindowsInstaller/MsmBackend.cs
@@ -24,21 +24,24 @@ namespace WixToolset.Core.WindowsInstaller
24 24
25 var validator = Validator.CreateFromContext(context, "mergemod.cub"); 25 var validator = Validator.CreateFromContext(context, "mergemod.cub");
26 26
27 using (var command = new BindDatabaseCommand(context, backendExtensions, validator)) 27 IBindResult result = null;
28 try
28 { 29 {
29 command.Execute(); 30 var command = new BindDatabaseCommand(context, backendExtensions, validator);
30 31 result = command.Execute();
31 var result = context.ServiceProvider.GetService<IBindResult>();
32 result.FileTransfers = command.FileTransfers;
33 result.TrackedFiles = command.TrackedFiles;
34 32
35 foreach (var extension in backendExtensions) 33 foreach (var extension in backendExtensions)
36 { 34 {
37 extension.PostBackendBind(result, command.Wixout); 35 extension.PostBackendBind(result);
38 } 36 }
39 37
40 return result; 38 return result;
41 } 39 }
40 catch
41 {
42 result?.Dispose();
43 throw;
44 }
42 } 45 }
43 46
44 public IDecompileResult Decompile(IDecompileContext context) 47 public IDecompileResult Decompile(IDecompileContext context)