diff options
| author | Rob Mensching <rob@firegiant.com> | 2018-10-24 21:06:51 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@robmensching.com> | 2018-10-24 21:17:34 -0700 |
| commit | 822d917960cbd35f506598af4baa6a20ad4b447e (patch) | |
| tree | 0d4cf39e25f5fe213bbeac2fb546d2aa86b172db /src/WixToolset.Core.WindowsInstaller/MsiBackend.cs | |
| parent | 7a2859709034f7f4f048a0757779a6e2fee6df5b (diff) | |
| download | wix-822d917960cbd35f506598af4baa6a20ad4b447e.tar.gz wix-822d917960cbd35f506598af4baa6a20ad4b447e.tar.bz2 wix-822d917960cbd35f506598af4baa6a20ad4b447e.zip | |
Re-introduce "decompile" to backend
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/MsiBackend.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/MsiBackend.cs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs index 579977fe..b633ea31 100644 --- a/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs +++ b/src/WixToolset.Core.WindowsInstaller/MsiBackend.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | 1 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. |
| 2 | 2 | ||
| 3 | namespace WixToolset.Core.WindowsInstaller | 3 | namespace WixToolset.Core.WindowsInstaller |
| 4 | { | 4 | { |
| @@ -38,9 +38,26 @@ namespace WixToolset.Core.WindowsInstaller | |||
| 38 | return result; | 38 | return result; |
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | public BindResult Decompile(IDecompileContext context) | 41 | public DecompileResult Decompile(IDecompileContext context) |
| 42 | { | 42 | { |
| 43 | throw new NotImplementedException(); | 43 | var extensionManager = context.ServiceProvider.GetService<IExtensionManager>(); |
| 44 | |||
| 45 | var backendExtensions = extensionManager.Create<IWindowsInstallerBackendDecompilerExtension>(); | ||
| 46 | |||
| 47 | foreach (var extension in backendExtensions) | ||
| 48 | { | ||
| 49 | extension.PreBackendDecompile(context); | ||
| 50 | } | ||
| 51 | |||
| 52 | var command = new DecompileMsiOrMsmCommand(context, backendExtensions); | ||
| 53 | var result = command.Execute(); | ||
| 54 | |||
| 55 | foreach (var extension in backendExtensions) | ||
| 56 | { | ||
| 57 | extension.PostBackendDecompile(result); | ||
| 58 | } | ||
| 59 | |||
| 60 | return result; | ||
| 44 | } | 61 | } |
| 45 | 62 | ||
| 46 | public bool Inscribe(IInscribeContext context) | 63 | public bool Inscribe(IInscribeContext context) |
