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