aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-12-07 14:19:05 -0800
committerRob Mensching <rob@firegiant.com>2017-12-07 14:19:05 -0800
commit49f1209035aac1fcfad5dbbe25f7b2306d3be86c (patch)
tree6ce5921493eb751b6d89c3faf0ebdf64110cbb65 /src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
parentb1e662bd480241ea914f0f3d6bd174d9ffd03f5f (diff)
downloadwix-49f1209035aac1fcfad5dbbe25f7b2306d3be86c.tar.gz
wix-49f1209035aac1fcfad5dbbe25f7b2306d3be86c.tar.bz2
wix-49f1209035aac1fcfad5dbbe25f7b2306d3be86c.zip
Support MSI backends creating custom tables and remove WixToolset.Data.WindowsInstaller
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/MsiBackend.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/MsiBackend.cs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
index 2590c14f..4753677a 100644
--- a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
+++ b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs
@@ -14,12 +14,26 @@ namespace WixToolset.Core.WindowsInstaller
14 { 14 {
15 public BindResult Bind(IBindContext context) 15 public BindResult Bind(IBindContext context)
16 { 16 {
17 var backendExtensions = context.ExtensionManager.Create<IWindowsInstallerBackendExtension>();
18
19 foreach (var extension in backendExtensions)
20 {
21 extension.PreBackendBind(context);
22 }
23
17 var validator = Validator.CreateFromContext(context, "darice.cub"); 24 var validator = Validator.CreateFromContext(context, "darice.cub");
18 25
19 var command = new BindDatabaseCommand(context, validator); 26 var command = new BindDatabaseCommand(context, backendExtensions, validator);
20 command.Execute(); 27 command.Execute();
21 28
22 return new BindResult(command.FileTransfers, command.ContentFilePaths); 29 var result = new BindResult(command.FileTransfers, command.ContentFilePaths);
30
31 foreach (var extension in backendExtensions)
32 {
33 extension.PostBackendBind(result);
34 }
35
36 return result;
23 } 37 }
24 38
25 public bool Inscribe(IInscribeContext context) 39 public bool Inscribe(IInscribeContext context)