From 238a1601a3cdf11cb9becaf8a53f281bdbbcbf09 Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Mon, 3 Apr 2023 22:16:27 -0400 Subject: Hide visible NetCoreCheck.exe window. Fixes https://github.com/wixtoolset/issues/issues/7353. Also adds unit test and removes dead code. --- .../WixToolsetTest.Netfx/NetfxExtensionFixture.cs | 23 ++++++++++++++++++++++ .../Package.en-us.wxl | 9 +++++++++ .../UsingDotNetCompatibilityCheck/Package.wxs | 17 ++++++++++++++++ .../PackageComponents.wxs | 9 +++++++++ .../UsingDotNetCompatibilityCheck/example.txt | 1 + src/ext/NetFx/wixext/NetFxCompiler.cs | 17 ---------------- src/libs/dutil/WixToolset.DUtil/procutil.cpp | 1 + 7 files changed, 60 insertions(+), 17 deletions(-) create mode 100644 src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.en-us.wxl create mode 100644 src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.wxs create mode 100644 src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/PackageComponents.wxs create mode 100644 src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/example.txt diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs index 38997c67..aebfe9f4 100644 --- a/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs @@ -177,6 +177,29 @@ namespace WixToolsetTest.Netfx }, results.OrderBy(s => s).ToArray()); } + [Fact] + public void CanBuildUsingDotNetCompatibilityCheck() + { + var folder = TestData.Get(@"TestData\UsingDotNetCompatibilityCheck"); + var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); + + var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4NetFxDotNetCheck"); + WixAssert.CompareLineByLine(new[] + { + "Binary:Wix4NetCheck_arm64\t[Binary data]", + "Binary:Wix4NetCheck_x64\t[Binary data]", + "Binary:Wix4NetCheck_x86\t[Binary data]", + "Binary:Wix4NetFxCA_X64\t[Binary data]", + "CustomAction:Wix4NetFxDotNetCompatibilityCheck_X64\t1\tWix4NetFxCA_X64\tDotNetCompatibilityCheck\t", + "CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", + "CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", + "CustomAction:Wix4NetFxExecuteNativeImageInstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", + "CustomAction:Wix4NetFxExecuteNativeImageUninstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", + "CustomAction:Wix4NetFxScheduleNativeImage_X64\t1\tWix4NetFxCA_X64\tSchedNetFx\t", + "Wix4NetFxDotNetCheck:DotNetCoreCheckManualId\tMicrosoft.NETCore.App\tx64\t7.0.1\tLatestMajor\tDOTNETCORECHECKRESULT", + }, results.OrderBy(s => s).ToArray()); + } + private static void Build(string[] args) { var result = WixRunner.Execute(args); diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.en-us.wxl b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.en-us.wxl new file mode 100644 index 00000000..f1df1234 --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.en-us.wxl @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.wxs new file mode 100644 index 00000000..bf286abb --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/Package.wxs @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/PackageComponents.wxs b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/PackageComponents.wxs new file mode 100644 index 00000000..d9b211bd --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/PackageComponents.wxs @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/example.txt b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/example.txt new file mode 100644 index 00000000..1b4ffe8a --- /dev/null +++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/TestData/UsingDotNetCompatibilityCheck/example.txt @@ -0,0 +1 @@ +This is example.txt. \ No newline at end of file diff --git a/src/ext/NetFx/wixext/NetFxCompiler.cs b/src/ext/NetFx/wixext/NetFxCompiler.cs index c40bc77b..bfadbe07 100644 --- a/src/ext/NetFx/wixext/NetFxCompiler.cs +++ b/src/ext/NetFx/wixext/NetFxCompiler.cs @@ -697,9 +697,6 @@ namespace WixToolset.Netfx case "Platform": platform = this.ParsePlatform(element, sourceLineNumbers, attrib); break; - case "FeatureBand": - platform = this.ParseFeatureBand(element, sourceLineNumbers, attrib); - break; case "Version": version = this.ParseHelper.GetAttributeVersionValue(sourceLineNumbers, attrib); break; @@ -812,20 +809,6 @@ namespace WixToolset.Netfx return platform; } - private string ParseFeatureBand(XElement element, SourceLineNumber sourceLineNumbers, XAttribute attrib) - { - string featureBand = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); - - if (!Int32.TryParse(featureBand, out var intFeatureBand) || (100 > intFeatureBand) || (intFeatureBand > 999)) - { - this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, element.Name.LocalName, - attrib.Name.LocalName, featureBand, "An integer in the range [100 - 999]")); - - } - - return featureBand; - } - private string ParseRuntimeType(XElement element, SourceLineNumber sourceLineNumbers, XAttribute attrib) { var runtimeType = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); diff --git a/src/libs/dutil/WixToolset.DUtil/procutil.cpp b/src/libs/dutil/WixToolset.DUtil/procutil.cpp index f96a1999..aba3b495 100644 --- a/src/libs/dutil/WixToolset.DUtil/procutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/procutil.cpp @@ -352,6 +352,7 @@ extern "C" HRESULT DAPI ProcExec( ProcExitOnFailure(hr, "Failed to allocate full command-line."); si.cb = sizeof(si); + si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = static_cast(nCmdShow); if (!::CreateProcessW(wzExecutablePath, sczFullCommandLine, NULL, NULL, FALSE, 0, 0, NULL, &si, &pi)) { -- cgit v1.2.3-55-g6feb