aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/BundleBackend.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.Burn/BundleBackend.cs')
-rw-r--r--src/WixToolset.Core.Burn/BundleBackend.cs28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/WixToolset.Core.Burn/BundleBackend.cs b/src/WixToolset.Core.Burn/BundleBackend.cs
index f859cbec..99442403 100644
--- a/src/WixToolset.Core.Burn/BundleBackend.cs
+++ b/src/WixToolset.Core.Burn/BundleBackend.cs
@@ -15,20 +15,26 @@ namespace WixToolset.Core.Burn
15 { 15 {
16 public IBindResult Bind(IBindContext context) 16 public IBindResult Bind(IBindContext context)
17 { 17 {
18 BindBundleCommand command = new BindBundleCommand(context); 18 var extensionManager = context.ServiceProvider.GetService<IExtensionManager>();
19 //command.DefaultCompressionLevel = context.DefaultCompressionLevel; 19
20 //command.Extensions = context.Extensions; 20 var backendExtensions = extensionManager.GetServices<IBurnBackendExtension>();
21 //command.IntermediateFolder = context.IntermediateFolder; 21
22 //command.Output = context.IntermediateRepresentation; 22 foreach (var extension in backendExtensions)
23 //command.OutputPath = context.OutputPath; 23 {
24 //command.PdbFile = context.OutputPdbPath; 24 extension.PreBackendBind(context);
25 //command.WixVariableResolver = context.WixVariableResolver; 25 }
26
27 var command = new BindBundleCommand(context, backendExtensions);
26 command.Execute(); 28 command.Execute();
27 29
28 var result = context.ServiceProvider.GetService<IBindResult>(); 30 var result = context.ServiceProvider.GetService<IBindResult>();
29 result.FileTransfers = command.FileTransfers; 31 result.FileTransfers = command.FileTransfers;
30 result.TrackedFiles = command.TrackedFiles; 32 result.TrackedFiles = command.TrackedFiles;
31 33
34 foreach (var extension in backendExtensions)
35 {
36 extension.PostBackendBind(result);
37 }
32 return result; 38 return result;
33 } 39 }
34 40
@@ -53,10 +59,10 @@ namespace WixToolset.Core.Burn
53 59
54 public Intermediate Unbind(IUnbindContext context) 60 public Intermediate Unbind(IUnbindContext context)
55 { 61 {
56 string uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); 62 var uxExtractPath = Path.Combine(context.ExportBasePath, "UX");
57 string acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer"); 63 var acExtractPath = Path.Combine(context.ExportBasePath, "AttachedContainer");
58 64
59 using (BurnReader reader = BurnReader.Open(context.InputFilePath)) 65 using (var reader = BurnReader.Open(context.InputFilePath))
60 { 66 {
61 reader.ExtractUXContainer(uxExtractPath, context.IntermediateFolder); 67 reader.ExtractUXContainer(uxExtractPath, context.IntermediateFolder);
62 reader.ExtractAttachedContainer(acExtractPath, context.IntermediateFolder); 68 reader.ExtractAttachedContainer(acExtractPath, context.IntermediateFolder);