diff options
author | Rob Mensching <rob@firegiant.com> | 2022-01-10 14:51:51 -0800 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2022-01-10 17:08:43 -0800 |
commit | 284f7df20bd0402daeb559343aa4bd003a9ab71e (patch) | |
tree | c6eadb27f23bb5ed4b519e3dfb9d7622d70dcf8b | |
parent | 1a8db0bc8653f6c709fa6c1e0abb82d12ee82672 (diff) | |
download | wix-284f7df20bd0402daeb559343aa4bd003a9ab71e.tar.gz wix-284f7df20bd0402daeb559343aa4bd003a9ab71e.tar.bz2 wix-284f7df20bd0402daeb559343aa4bd003a9ab71e.zip |
Inscribe no longer a global backend concept
The support steps around signing are specialized for each output
type. Trying to normalize the process across backends was not a
fruitful endeavor.
10 files changed, 1 insertions, 194 deletions
diff --git a/src/api/wix/WixToolset.Extensibility/Data/IInscribeContext.cs b/src/api/wix/WixToolset.Extensibility/Data/IInscribeContext.cs deleted file mode 100644 index 31c66aad..00000000 --- a/src/api/wix/WixToolset.Extensibility/Data/IInscribeContext.cs +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
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 | |||
3 | namespace WixToolset.Extensibility.Data | ||
4 | { | ||
5 | using System; | ||
6 | using WixToolset.Extensibility.Services; | ||
7 | |||
8 | #pragma warning disable 1591 // TODO: add documentation | ||
9 | public interface IInscribeContext | ||
10 | { | ||
11 | IServiceProvider ServiceProvider { get; } | ||
12 | |||
13 | string InputFilePath { get; set; } | ||
14 | |||
15 | string IntermediateFolder { get; set; } | ||
16 | |||
17 | string OutputFile { get; set; } | ||
18 | |||
19 | string SignedEngineFile { get; set; } | ||
20 | } | ||
21 | } | ||
diff --git a/src/api/wix/WixToolset.Extensibility/IBackend.cs b/src/api/wix/WixToolset.Extensibility/IBackend.cs index 9579c3ca..be8406e4 100644 --- a/src/api/wix/WixToolset.Extensibility/IBackend.cs +++ b/src/api/wix/WixToolset.Extensibility/IBackend.cs | |||
@@ -13,7 +13,5 @@ namespace WixToolset.Extensibility | |||
13 | IDecompileResult Decompile(IDecompileContext context); | 13 | IDecompileResult Decompile(IDecompileContext context); |
14 | 14 | ||
15 | Intermediate Unbind(IUnbindContext context); | 15 | Intermediate Unbind(IUnbindContext context); |
16 | |||
17 | bool Inscribe(IInscribeContext context); | ||
18 | } | 16 | } |
19 | } | 17 | } |
diff --git a/src/wix/WixToolset.BuildTasks/Insignia.cs b/src/wix/WixToolset.BuildTasks/Insignia.cs deleted file mode 100644 index d89770db..00000000 --- a/src/wix/WixToolset.BuildTasks/Insignia.cs +++ /dev/null | |||
@@ -1,120 +0,0 @@ | |||
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 | |||
3 | namespace WixToolset.BuildTasks | ||
4 | { | ||
5 | using System; | ||
6 | using System.Diagnostics; | ||
7 | using System.Globalization; | ||
8 | using System.IO; | ||
9 | using System.Text; | ||
10 | |||
11 | using Microsoft.Build.Framework; | ||
12 | using Microsoft.Build.Utilities; | ||
13 | |||
14 | #if false | ||
15 | /// <summary> | ||
16 | /// An MSBuild task to run the WiX transform generator. | ||
17 | /// </summary> | ||
18 | public sealed class Insignia : WixToolTask | ||
19 | { | ||
20 | private const string InsigniaToolName = "insignia.exe"; | ||
21 | |||
22 | /// <summary> | ||
23 | /// Gets or sets the path to the database to inscribe. | ||
24 | /// </summary> | ||
25 | public ITaskItem DatabaseFile { get; set; } | ||
26 | |||
27 | /// <summary> | ||
28 | /// Gets or sets the path to the bundle to inscribe. | ||
29 | /// </summary> | ||
30 | public ITaskItem BundleFile { get; set; } | ||
31 | |||
32 | /// <summary> | ||
33 | /// Gets or sets the path to the original bundle that contains the attached container. | ||
34 | /// </summary> | ||
35 | public ITaskItem OriginalBundleFile { get; set; } | ||
36 | |||
37 | /// <summary> | ||
38 | /// Gets or sets the path to output the inscribed result. | ||
39 | /// </summary> | ||
40 | [Required] | ||
41 | public ITaskItem OutputFile { get; set; } | ||
42 | |||
43 | /// <summary> | ||
44 | /// Gets or sets the output. Only set if insignia does work. | ||
45 | /// </summary> | ||
46 | [Output] | ||
47 | public ITaskItem Output { get; set; } | ||
48 | |||
49 | /// <summary> | ||
50 | /// Get the name of the executable. | ||
51 | /// </summary> | ||
52 | /// <remarks>The ToolName is used with the ToolPath to get the location of Insignia.exe.</remarks> | ||
53 | /// <value>The name of the executable.</value> | ||
54 | protected override string ToolName | ||
55 | { | ||
56 | get { return InsigniaToolName; } | ||
57 | } | ||
58 | |||
59 | /// <summary> | ||
60 | /// Get the path to the executable. | ||
61 | /// </summary> | ||
62 | /// <remarks>GetFullPathToTool is only called when the ToolPath property is not set (see the ToolName remarks above).</remarks> | ||
63 | /// <returns>The full path to the executable or simply Insignia.exe if it's expected to be in the system path.</returns> | ||
64 | protected override string GenerateFullPathToTool() | ||
65 | { | ||
66 | // If there's not a ToolPath specified, it has to be in the system path. | ||
67 | if (String.IsNullOrEmpty(this.ToolPath)) | ||
68 | { | ||
69 | return InsigniaToolName; | ||
70 | } | ||
71 | |||
72 | return Path.Combine(Path.GetFullPath(this.ToolPath), InsigniaToolName); | ||
73 | } | ||
74 | |||
75 | /// <summary> | ||
76 | /// Builds a command line from options in this task. | ||
77 | /// </summary> | ||
78 | protected override void BuildCommandLine(WixCommandLineBuilder commandLineBuilder) | ||
79 | { | ||
80 | base.BuildCommandLine(commandLineBuilder); | ||
81 | |||
82 | commandLineBuilder.AppendSwitchIfNotNull("-im ", this.DatabaseFile); | ||
83 | if (null != this.OriginalBundleFile) | ||
84 | { | ||
85 | commandLineBuilder.AppendSwitchIfNotNull("-ab ", this.BundleFile); | ||
86 | commandLineBuilder.AppendFileNameIfNotNull(this.OriginalBundleFile); | ||
87 | } | ||
88 | else | ||
89 | { | ||
90 | commandLineBuilder.AppendSwitchIfNotNull("-ib ", this.BundleFile); | ||
91 | } | ||
92 | |||
93 | commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); | ||
94 | commandLineBuilder.AppendTextIfNotNull(this.AdditionalOptions); | ||
95 | } | ||
96 | |||
97 | /// <summary> | ||
98 | /// Executes a tool in-process by loading the tool assembly and invoking its entrypoint. | ||
99 | /// </summary> | ||
100 | /// <param name="pathToTool">Path to the tool to be executed; must be a managed executable.</param> | ||
101 | /// <param name="responseFileCommands">Commands to be written to a response file.</param> | ||
102 | /// <param name="commandLineCommands">Commands to be passed directly on the command-line.</param> | ||
103 | /// <returns>The tool exit code.</returns> | ||
104 | protected override int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) | ||
105 | { | ||
106 | int returnCode = base.ExecuteTool(pathToTool, responseFileCommands, commandLineCommands); | ||
107 | if (0 == returnCode) // successfully did work. | ||
108 | { | ||
109 | this.Output = this.OutputFile; | ||
110 | } | ||
111 | else if (-1 == returnCode) // no work done. | ||
112 | { | ||
113 | returnCode = 0; | ||
114 | } | ||
115 | |||
116 | return returnCode; | ||
117 | } | ||
118 | } | ||
119 | #endif | ||
120 | } | ||
diff --git a/src/wix/WixToolset.Core.Burn/BundleBackend.cs b/src/wix/WixToolset.Core.Burn/BundleBackend.cs index b179ea50..fa66ab1f 100644 --- a/src/wix/WixToolset.Core.Burn/BundleBackend.cs +++ b/src/wix/WixToolset.Core.Burn/BundleBackend.cs | |||
@@ -45,11 +45,6 @@ namespace WixToolset.Core.Burn | |||
45 | throw new NotImplementedException(); | 45 | throw new NotImplementedException(); |
46 | } | 46 | } |
47 | 47 | ||
48 | public bool Inscribe(IInscribeContext context) | ||
49 | { | ||
50 | return false; | ||
51 | } | ||
52 | |||
53 | public Intermediate Unbind(IUnbindContext context) | 48 | public Intermediate Unbind(IUnbindContext context) |
54 | { | 49 | { |
55 | var uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); | 50 | var uxExtractPath = Path.Combine(context.ExportBasePath, "UX"); |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/MsiBackend.cs b/src/wix/WixToolset.Core.WindowsInstaller/MsiBackend.cs index ab8def5f..37de1904 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/MsiBackend.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/MsiBackend.cs | |||
@@ -2,10 +2,8 @@ | |||
2 | 2 | ||
3 | namespace WixToolset.Core.WindowsInstaller | 3 | namespace WixToolset.Core.WindowsInstaller |
4 | { | 4 | { |
5 | using System; | ||
6 | using WixToolset.Core.WindowsInstaller.Bind; | 5 | using WixToolset.Core.WindowsInstaller.Bind; |
7 | using WixToolset.Core.WindowsInstaller.Decompile; | 6 | using WixToolset.Core.WindowsInstaller.Decompile; |
8 | using WixToolset.Core.WindowsInstaller.Inscribe; | ||
9 | using WixToolset.Core.WindowsInstaller.Unbind; | 7 | using WixToolset.Core.WindowsInstaller.Unbind; |
10 | using WixToolset.Data; | 8 | using WixToolset.Data; |
11 | using WixToolset.Extensibility; | 9 | using WixToolset.Extensibility; |
@@ -71,13 +69,6 @@ namespace WixToolset.Core.WindowsInstaller | |||
71 | return result; | 69 | return result; |
72 | } | 70 | } |
73 | 71 | ||
74 | public bool Inscribe(IInscribeContext context) | ||
75 | { | ||
76 | //var command = new InscribeMsiPackageCommand(context); | ||
77 | //return command.Execute(); | ||
78 | throw new NotImplementedException(); | ||
79 | } | ||
80 | |||
81 | public Intermediate Unbind(IUnbindContext context) | 72 | public Intermediate Unbind(IUnbindContext context) |
82 | { | 73 | { |
83 | var command = new UnbindMsiOrMsmCommand(context); | 74 | var command = new UnbindMsiOrMsmCommand(context); |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/MsmBackend.cs b/src/wix/WixToolset.Core.WindowsInstaller/MsmBackend.cs index 4927ee8c..450bf888 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/MsmBackend.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/MsmBackend.cs | |||
@@ -65,8 +65,6 @@ namespace WixToolset.Core.WindowsInstaller | |||
65 | return result; | 65 | return result; |
66 | } | 66 | } |
67 | 67 | ||
68 | public bool Inscribe(IInscribeContext context) => false; | ||
69 | |||
70 | public Intermediate Unbind(IUnbindContext context) | 68 | public Intermediate Unbind(IUnbindContext context) |
71 | { | 69 | { |
72 | var command = new UnbindMsiOrMsmCommand(context); | 70 | var command = new UnbindMsiOrMsmCommand(context); |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/MspBackend.cs b/src/wix/WixToolset.Core.WindowsInstaller/MspBackend.cs index c46b6027..76328bb1 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/MspBackend.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/MspBackend.cs | |||
@@ -71,8 +71,6 @@ namespace WixToolset.Core.WindowsInstaller | |||
71 | 71 | ||
72 | public IDecompileResult Decompile(IDecompileContext context) => throw new NotImplementedException(); | 72 | public IDecompileResult Decompile(IDecompileContext context) => throw new NotImplementedException(); |
73 | 73 | ||
74 | public bool Inscribe(IInscribeContext context) => throw new NotImplementedException(); | ||
75 | |||
76 | public Intermediate Unbind(IUnbindContext context) | 74 | public Intermediate Unbind(IUnbindContext context) |
77 | { | 75 | { |
78 | #if TODO_PATCHING | 76 | #if TODO_PATCHING |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/MstBackend.cs b/src/wix/WixToolset.Core.WindowsInstaller/MstBackend.cs index a6d86c10..8ce75265 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/MstBackend.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/MstBackend.cs | |||
@@ -30,15 +30,10 @@ namespace WixToolset.Core.WindowsInstaller | |||
30 | throw new NotImplementedException(); | 30 | throw new NotImplementedException(); |
31 | } | 31 | } |
32 | 32 | ||
33 | public bool Inscribe(IInscribeContext context) | ||
34 | { | ||
35 | throw new NotImplementedException(); | ||
36 | } | ||
37 | |||
38 | public Intermediate Unbind(IUnbindContext context) | 33 | public Intermediate Unbind(IUnbindContext context) |
39 | { | 34 | { |
40 | var command = new UnbindMsiOrMsmCommand(context); | 35 | var command = new UnbindMsiOrMsmCommand(context); |
41 | return command.Execute(); | 36 | return command.Execute(); |
42 | } | 37 | } |
43 | } | 38 | } |
44 | } \ No newline at end of file | 39 | } |
diff --git a/src/wix/WixToolset.Core/IncribeContext.cs b/src/wix/WixToolset.Core/IncribeContext.cs deleted file mode 100644 index 9d7055ab..00000000 --- a/src/wix/WixToolset.Core/IncribeContext.cs +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
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 | |||
3 | namespace WixToolset.Core | ||
4 | { | ||
5 | using System; | ||
6 | using WixToolset.Extensibility.Data; | ||
7 | using WixToolset.Extensibility.Services; | ||
8 | |||
9 | internal class InscribeContext : IInscribeContext | ||
10 | { | ||
11 | public InscribeContext(IServiceProvider serviceProvider) | ||
12 | { | ||
13 | this.ServiceProvider = serviceProvider; | ||
14 | } | ||
15 | |||
16 | public IServiceProvider ServiceProvider { get; } | ||
17 | |||
18 | public string IntermediateFolder { get; set; } | ||
19 | |||
20 | public string InputFilePath { get; set; } | ||
21 | |||
22 | public string SignedEngineFile { get; set; } | ||
23 | |||
24 | public string OutputFile { get; set; } | ||
25 | } | ||
26 | } | ||
diff --git a/src/wix/WixToolset.Core/WixToolsetServiceProvider.cs b/src/wix/WixToolset.Core/WixToolsetServiceProvider.cs index de89bb73..7bbd4075 100644 --- a/src/wix/WixToolset.Core/WixToolsetServiceProvider.cs +++ b/src/wix/WixToolset.Core/WixToolsetServiceProvider.cs | |||
@@ -40,7 +40,6 @@ namespace WixToolset.Core | |||
40 | this.AddService<IBindContext>((provider, singletons) => new BindContext(provider)); | 40 | this.AddService<IBindContext>((provider, singletons) => new BindContext(provider)); |
41 | this.AddService<IDecompileContext>((provider, singletons) => new DecompileContext(provider)); | 41 | this.AddService<IDecompileContext>((provider, singletons) => new DecompileContext(provider)); |
42 | this.AddService<ILayoutContext>((provider, singletons) => new LayoutContext(provider)); | 42 | this.AddService<ILayoutContext>((provider, singletons) => new LayoutContext(provider)); |
43 | this.AddService<IInscribeContext>((provider, singletons) => new InscribeContext(provider)); | ||
44 | this.AddService<IUnbindContext>((provider, singletons) => new UnbindContext(provider)); | 43 | this.AddService<IUnbindContext>((provider, singletons) => new UnbindContext(provider)); |
45 | 44 | ||
46 | this.AddService<IBindFileWithPath>((provider, singletons) => new BindFileWithPath()); | 45 | this.AddService<IBindFileWithPath>((provider, singletons) => new BindFileWithPath()); |