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