diff options
Diffstat (limited to 'src/WixToolset.Core.Burn/BundleBackend.cs')
-rw-r--r-- | src/WixToolset.Core.Burn/BundleBackend.cs | 28 |
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); |