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 | { |