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