From 6ed066072db5bf15453da1f8da28f727ba46fc5b Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sun, 20 Nov 2022 11:12:45 -0800 Subject: Allow signing targets to be overridden in simple Sdk-style .wixproj Moved the overridable signing targets (like SignMsi) to a new WixToolset.Signing.props that is included "at the very top of" a .wixproj using Sdk-style project. That way these signing targets can be overridden in the .wixproj. When the overridable signing targets were defined in WixToolset.Signing.targets, then it was necessary to use the more complex Sdk-style Import syntax to place the signing targets low enough in the .wixproj. Closes 7038 --- .../WixprojPackageVcxprojWindowsApp.wixproj | 5 + src/test/wix/WixE2E/WixE2EFixture.cs | 8 ++ src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj | 1 + .../WixToolset.Sdk/tools/WixToolset.Signing.props | 102 +++++++++++++++++++++ .../tools/WixToolset.Signing.targets | 96 +------------------ src/wix/WixToolset.Sdk/tools/wix.props | 2 + src/wix/WixToolset.Sdk/tools/wix.targets | 6 +- 7 files changed, 122 insertions(+), 98 deletions(-) create mode 100644 src/wix/WixToolset.Sdk/tools/WixToolset.Signing.props diff --git a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj b/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj index 63caf5c0..27affb11 100644 --- a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj +++ b/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj @@ -3,6 +3,7 @@ true + true @@ -12,4 +13,8 @@ + + + + diff --git a/src/test/wix/WixE2E/WixE2EFixture.cs b/src/test/wix/WixE2E/WixE2EFixture.cs index f9094fb2..4a0b78d8 100644 --- a/src/test/wix/WixE2E/WixE2EFixture.cs +++ b/src/test/wix/WixE2E/WixE2EFixture.cs @@ -55,6 +55,14 @@ namespace WixE2E var result = RestoreAndBuild(projectPath); result.AssertSuccess(); + + var signingStatement = result.Output.Where(s => s.Contains("warning :")) + .Select(s => s.Replace(Path.GetDirectoryName(projectPath), "").Replace(@"\Debug\", @"\\").Replace(@"\Release\", @"\\")) + .ToArray(); + WixAssert.CompareLineByLine(new[] + { + @"\WixprojPackageVcxprojWindowsApp.wixproj(18,5): warning : SignMsi = obj\\en-US\WixprojPackageVcxprojWindowsApp.msi;obj\\ja-JP\WixprojPackageVcxprojWindowsApp.msi" + }, signingStatement); } [Fact] diff --git a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj index 4a5e6229..eca65bda 100644 --- a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj +++ b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj @@ -13,6 +13,7 @@ + diff --git a/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.props b/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.props new file mode 100644 index 00000000..0b2522c8 --- /dev/null +++ b/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.props @@ -0,0 +1,102 @@ + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.targets b/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.targets index 8b850fd7..c414bcf1 100644 --- a/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.targets +++ b/src/wix/WixToolset.Sdk/tools/WixToolset.Signing.targets @@ -3,10 +3,13 @@ + true $(MSBuildProjectFile).Signed.txt $(IntermediateOutputPath)$(SignedFileName) + + @@ -309,97 +312,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/wix/WixToolset.Sdk/tools/wix.props b/src/wix/WixToolset.Sdk/tools/wix.props index d3c202bf..c526d865 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.props +++ b/src/wix/WixToolset.Sdk/tools/wix.props @@ -19,6 +19,8 @@ + + Debug diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index e18eaf62..a4603c47 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets @@ -31,10 +31,6 @@ $(WixBinDir)WixToolset.BuildTasks.dll - - $(MSBuildThisFileDirectory)WixToolset.Signing.targets - - @@ -937,7 +933,7 @@ - + -- cgit v1.2.3-55-g6feb