diff options
| author | Bob Arnson <bob@firegiant.com> | 2023-04-03 22:16:27 -0400 |
|---|---|---|
| committer | Bob Arnson <github@bobs.org> | 2023-04-04 12:29:33 -0400 |
| commit | 238a1601a3cdf11cb9becaf8a53f281bdbbcbf09 (patch) | |
| tree | d00fa3a47c4d862e763240e2770df87974c25445 | |
| parent | 9023fd4d6dd4339003defcfb12002432357193b9 (diff) | |
| download | wix-238a1601a3cdf11cb9becaf8a53f281bdbbcbf09.tar.gz wix-238a1601a3cdf11cb9becaf8a53f281bdbbcbf09.tar.bz2 wix-238a1601a3cdf11cb9becaf8a53f281bdbbcbf09.zip | |
Hide visible NetCoreCheck.exe window.
Fixes https://github.com/wixtoolset/issues/issues/7353.
Also adds unit test and removes dead code.
7 files changed, 60 insertions, 17 deletions
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 | |||
| 177 | }, results.OrderBy(s => s).ToArray()); | 177 | }, results.OrderBy(s => s).ToArray()); |
| 178 | } | 178 | } |
| 179 | 179 | ||
| 180 | [Fact] | ||
| 181 | public void CanBuildUsingDotNetCompatibilityCheck() | ||
| 182 | { | ||
| 183 | var folder = TestData.Get(@"TestData\UsingDotNetCompatibilityCheck"); | ||
| 184 | var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder }); | ||
| 185 | |||
| 186 | var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4NetFxDotNetCheck"); | ||
| 187 | WixAssert.CompareLineByLine(new[] | ||
| 188 | { | ||
| 189 | "Binary:Wix4NetCheck_arm64\t[Binary data]", | ||
| 190 | "Binary:Wix4NetCheck_x64\t[Binary data]", | ||
| 191 | "Binary:Wix4NetCheck_x86\t[Binary data]", | ||
| 192 | "Binary:Wix4NetFxCA_X64\t[Binary data]", | ||
| 193 | "CustomAction:Wix4NetFxDotNetCompatibilityCheck_X64\t1\tWix4NetFxCA_X64\tDotNetCompatibilityCheck\t", | ||
| 194 | "CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", | ||
| 195 | "CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t", | ||
| 196 | "CustomAction:Wix4NetFxExecuteNativeImageInstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", | ||
| 197 | "CustomAction:Wix4NetFxExecuteNativeImageUninstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t", | ||
| 198 | "CustomAction:Wix4NetFxScheduleNativeImage_X64\t1\tWix4NetFxCA_X64\tSchedNetFx\t", | ||
| 199 | "Wix4NetFxDotNetCheck:DotNetCoreCheckManualId\tMicrosoft.NETCore.App\tx64\t7.0.1\tLatestMajor\tDOTNETCORECHECKRESULT", | ||
| 200 | }, results.OrderBy(s => s).ToArray()); | ||
| 201 | } | ||
| 202 | |||
| 180 | private static void Build(string[] args) | 203 | private static void Build(string[] args) |
| 181 | { | 204 | { |
| 182 | var result = WixRunner.Execute(args); | 205 | 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 @@ | |||
| 1 | <!-- | ||
| 2 | This file contains the declaration of all the localizable strings. | ||
| 3 | --> | ||
| 4 | <WixLocalization xmlns="http://wixtoolset.org/schemas/v4/wxl" Culture="en-US"> | ||
| 5 | |||
| 6 | <String Id="DowngradeError" Value="A newer version of [ProductName] is already installed." /> | ||
| 7 | <String Id="FeatureTitle" Value="MsiPackage" /> | ||
| 8 | |||
| 9 | </WixLocalization> | ||
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 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx"> | ||
| 2 | <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
| 3 | <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> | ||
| 4 | |||
| 5 | <netfx:DotNetCompatibilityCheck Id="DotNetCoreCheckManualId" Property="DOTNETCORECHECKRESULT" Platform="x64" RuntimeType="core" RollForward="latestMajor" Version="7.0.1" /> | ||
| 6 | |||
| 7 | <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> | ||
| 8 | <ComponentGroupRef Id="ProductComponents" /> | ||
| 9 | </Feature> | ||
| 10 | </Package> | ||
| 11 | |||
| 12 | <Fragment> | ||
| 13 | <StandardDirectory Id="ProgramFilesFolder"> | ||
| 14 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
| 15 | </StandardDirectory> | ||
| 16 | </Fragment> | ||
| 17 | </Wix> | ||
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 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx"> | ||
| 2 | <Fragment> | ||
| 3 | <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> | ||
| 4 | <Component> | ||
| 5 | <File Name="fake.dll" Source="example.txt" /> | ||
| 6 | </Component> | ||
| 7 | </ComponentGroup> | ||
| 8 | </Fragment> | ||
| 9 | </Wix> | ||
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 | |||
| 697 | case "Platform": | 697 | case "Platform": |
| 698 | platform = this.ParsePlatform(element, sourceLineNumbers, attrib); | 698 | platform = this.ParsePlatform(element, sourceLineNumbers, attrib); |
| 699 | break; | 699 | break; |
| 700 | case "FeatureBand": | ||
| 701 | platform = this.ParseFeatureBand(element, sourceLineNumbers, attrib); | ||
| 702 | break; | ||
| 703 | case "Version": | 700 | case "Version": |
| 704 | version = this.ParseHelper.GetAttributeVersionValue(sourceLineNumbers, attrib); | 701 | version = this.ParseHelper.GetAttributeVersionValue(sourceLineNumbers, attrib); |
| 705 | break; | 702 | break; |
| @@ -812,20 +809,6 @@ namespace WixToolset.Netfx | |||
| 812 | return platform; | 809 | return platform; |
| 813 | } | 810 | } |
| 814 | 811 | ||
| 815 | private string ParseFeatureBand(XElement element, SourceLineNumber sourceLineNumbers, XAttribute attrib) | ||
| 816 | { | ||
| 817 | string featureBand = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | ||
| 818 | |||
| 819 | if (!Int32.TryParse(featureBand, out var intFeatureBand) || (100 > intFeatureBand) || (intFeatureBand > 999)) | ||
| 820 | { | ||
| 821 | this.Messaging.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, element.Name.LocalName, | ||
| 822 | attrib.Name.LocalName, featureBand, "An integer in the range [100 - 999]")); | ||
| 823 | |||
| 824 | } | ||
| 825 | |||
| 826 | return featureBand; | ||
| 827 | } | ||
| 828 | |||
| 829 | private string ParseRuntimeType(XElement element, SourceLineNumber sourceLineNumbers, XAttribute attrib) | 812 | private string ParseRuntimeType(XElement element, SourceLineNumber sourceLineNumbers, XAttribute attrib) |
| 830 | { | 813 | { |
| 831 | var runtimeType = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); | 814 | 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( | |||
| 352 | ProcExitOnFailure(hr, "Failed to allocate full command-line."); | 352 | ProcExitOnFailure(hr, "Failed to allocate full command-line."); |
| 353 | 353 | ||
| 354 | si.cb = sizeof(si); | 354 | si.cb = sizeof(si); |
| 355 | si.dwFlags = STARTF_USESHOWWINDOW; | ||
| 355 | si.wShowWindow = static_cast<WORD>(nCmdShow); | 356 | si.wShowWindow = static_cast<WORD>(nCmdShow); |
| 356 | if (!::CreateProcessW(wzExecutablePath, sczFullCommandLine, NULL, NULL, FALSE, 0, 0, NULL, &si, &pi)) | 357 | if (!::CreateProcessW(wzExecutablePath, sczFullCommandLine, NULL, NULL, FALSE, 0, 0, NULL, &si, &pi)) |
| 357 | { | 358 | { |
