aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
index dea1f47d..93620e1b 100644
--- a/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+++ b/src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
@@ -23,7 +23,7 @@ namespace WixToolset.Core.Burn
23 /// </summary> 23 /// </summary>
24 internal class BindBundleCommand 24 internal class BindBundleCommand
25 { 25 {
26 public BindBundleCommand(IBindContext context, IEnumerable<IBurnBackendExtension> backedExtensions) 26 public BindBundleCommand(IBindContext context, IEnumerable<IBurnBackendBinderExtension> backedExtensions)
27 { 27 {
28 this.ServiceProvider = context.ServiceProvider; 28 this.ServiceProvider = context.ServiceProvider;
29 29
@@ -58,7 +58,7 @@ namespace WixToolset.Core.Burn
58 58
59 public IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; } 59 public IEnumerable<IExpectedExtractFile> ExpectedEmbeddedFiles { get; }
60 60
61 private IEnumerable<IBurnBackendExtension> BackendExtensions { get; } 61 private IEnumerable<IBurnBackendBinderExtension> BackendExtensions { get; }
62 62
63 private Intermediate Output { get; } 63 private Intermediate Output { get; }
64 64
@@ -380,16 +380,21 @@ namespace WixToolset.Core.Burn
380 // Update the bundle per-machine/per-user scope based on the chained packages. 380 // Update the bundle per-machine/per-user scope based on the chained packages.
381 this.ResolveBundleInstallScope(section, bundleSymbol, orderedFacades); 381 this.ResolveBundleInstallScope(section, bundleSymbol, orderedFacades);
382 382
383 // Generate data for all manifests. 383 // Give the extension one last hook before generating the output files.
384 foreach (var extension in this.BackendExtensions)
384 { 385 {
385 var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchSymbolsById); 386 extension.SymbolsFinalized(section);
386 command.Execute();
387 } 387 }
388 388
389 // Give the extension one last hook before generating the output files. 389 if (this.Messaging.EncounteredError)
390 foreach (var extension in this.BackendExtensions)
391 { 390 {
392 extension.BundleFinalize(); 391 return;
392 }
393
394 // Generate data for all manifests.
395 {
396 var command = new GenerateManifestDataFromIRCommand(this.Messaging, section, this.BackendExtensions, this.InternalBurnBackendHelper, extensionSearchSymbolsById);
397 command.Execute();
393 } 398 }
394 399
395 if (this.Messaging.EncounteredError) 400 if (this.Messaging.EncounteredError)