Properly fragment NetFx custom actions.
FIxes https://github.com/wixtoolset/issues/issues/7677.
Bob Arnson committed
Aug 15, 2023 at 18:05 UTC
6f520b9def48f302625906ad961e1afa28edb3d0
2 files changed
+11
-22
src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs
-17
@@ -117,11 +117,7 @@ namespace WixToolsetTest.Netfx
117
var results = build.BuildAndQuery(Build, "Binary", "CustomAction", "Wix4NetFxNativeImage");
118
WixAssert.CompareLineByLine(new[]
119
{
120
- "Binary:Wix4NetCheck_arm64\t[Binary data]",
121
- "Binary:Wix4NetCheck_x64\t[Binary data]",
122
- "Binary:Wix4NetCheck_x86\t[Binary data]",
120
"Binary:Wix4NetFxCA_X86\t[Binary data]",
124
- "CustomAction:Wix4NetFxDotNetCompatibilityCheck_X86\t1\tWix4NetFxCA_X86\tDotNetCompatibilityCheck\t",
121
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t",
122
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t",
123
"CustomAction:Wix4NetFxExecuteNativeImageInstall_X86\t3137\tWix4NetFxCA_X86\tExecNetFx\t",
@@ -140,11 +136,7 @@ namespace WixToolsetTest.Netfx
136
var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4NetFxNativeImage");
137
WixAssert.CompareLineByLine(new[]
138
{
143
- "Binary:Wix4NetCheck_arm64\t[Binary data]",
144
- "Binary:Wix4NetCheck_x64\t[Binary data]",
145
- "Binary:Wix4NetCheck_x86\t[Binary data]",
139
"Binary:Wix4NetFxCA_X64\t[Binary data]",
147
- "CustomAction:Wix4NetFxDotNetCompatibilityCheck_X64\t1\tWix4NetFxCA_X64\tDotNetCompatibilityCheck\t",
140
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t",
141
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t",
142
"CustomAction:Wix4NetFxExecuteNativeImageInstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t",
@@ -163,11 +155,7 @@ namespace WixToolsetTest.Netfx
155
var results = build.BuildAndQuery(BuildARM64, "Binary", "CustomAction", "Wix4NetFxNativeImage");
156
WixAssert.CompareLineByLine(new[]
157
{
166
- "Binary:Wix4NetCheck_arm64\t[Binary data]",
167
- "Binary:Wix4NetCheck_x64\t[Binary data]",
168
- "Binary:Wix4NetCheck_x86\t[Binary data]",
158
"Binary:Wix4NetFxCA_A64\t[Binary data]",
170
- "CustomAction:Wix4NetFxDotNetCompatibilityCheck_A64\t1\tWix4NetFxCA_A64\tDotNetCompatibilityCheck\t",
159
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t",
160
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t",
161
"CustomAction:Wix4NetFxExecuteNativeImageInstall_A64\t3137\tWix4NetFxCA_A64\tExecNetFx\t",
@@ -191,11 +179,6 @@ namespace WixToolsetTest.Netfx
179
"Binary:Wix4NetCheck_x86\t[Binary data]",
180
"Binary:Wix4NetFxCA_X64\t[Binary data]",
181
"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",
182
"Wix4NetFxDotNetCheck:DotNetCoreCheckManualId\tMicrosoft.NETCore.App\tx64\t7.0.1\tLatestMajor\tDOTNETCORECHECKRESULT",
183
}, results.OrderBy(s => s).ToArray());
184
}
src/ext/NetFx/wixlib/NetFxExtension_Platform.wxi
+11
-5
@@ -10,7 +10,6 @@
10
<CustomAction Id="$(var.Prefix)NetFxExecuteNativeImageCommitInstall$(var.Suffix)" DllEntry="ExecNetFx" Execute="commit" Impersonate="no" Return="ignore" SuppressModularization="yes" BinaryRef="$(var.Prefix)NetFxCA$(var.Suffix)" />
11
<CustomAction Id="$(var.Prefix)NetFxExecuteNativeImageUninstall$(var.Suffix)" DllEntry="ExecNetFx" Execute="deferred" Impersonate="no" Return="ignore" SuppressModularization="yes" BinaryRef="$(var.Prefix)NetFxCA$(var.Suffix)" />
12
<CustomAction Id="$(var.Prefix)NetFxExecuteNativeImageCommitUninstall$(var.Suffix)" DllEntry="ExecNetFx" Execute="commit" Impersonate="no" Return="ignore" SuppressModularization="yes" BinaryRef="$(var.Prefix)NetFxCA$(var.Suffix)" />
13
- <CustomAction Id="$(var.Prefix)NetFxDotNetCompatibilityCheck$(var.Suffix)" DllEntry="DotNetCompatibilityCheck" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)NetFxCA$(var.Suffix)" />
13
14
<InstallExecuteSequence>
15
<Custom Action="$(var.Prefix)NetFxScheduleNativeImage$(var.Suffix)" Before="InstallFiles" Overridable="yes" />
@@ -18,17 +17,24 @@
17
<Custom Action="$(var.Prefix)NetFxExecuteNativeImageUninstall$(var.Suffix)" After="$(var.Prefix)NetFxExecuteNativeImageCommitUninstall$(var.Suffix)" Overridable="yes" Condition="RollbackDisabled = 1" />
18
<Custom Action="$(var.Prefix)NetFxExecuteNativeImageCommitInstall$(var.Suffix)" After="$(var.Prefix)NetFxExecuteNativeImageUninstall$(var.Suffix)" Overridable="yes" Condition="RollbackDisabled <> 1" />
19
<Custom Action="$(var.Prefix)NetFxExecuteNativeImageInstall$(var.Suffix)" After="$(var.Prefix)NetFxExecuteNativeImageCommitInstall$(var.Suffix)" Overridable="yes" Condition="RollbackDisabled = 1" />
20
+ </InstallExecuteSequence>
21
+ </Fragment>
22
+
23
+ <Fragment>
24
+ <Binary Id="$(var.Prefix)NetFxCA$(var.Suffix)" SourceFile="!(bindpath.netfxca.$(var.platform))netfxca.dll" />
25
+ </Fragment>
26
+
27
+ <Fragment>
28
+ <CustomAction Id="$(var.Prefix)NetFxDotNetCompatibilityCheck$(var.Suffix)" DllEntry="DotNetCompatibilityCheck" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)NetFxCA$(var.Suffix)" />
29
+
30
+ <InstallExecuteSequence>
31
<Custom Action="$(var.Prefix)NetFxDotNetCompatibilityCheck$(var.Suffix)" Before="LaunchConditions" Overridable="yes" />
32
</InstallExecuteSequence>
33
34
<InstallUISequence>
35
<Custom Action="$(var.Prefix)NetFxDotNetCompatibilityCheck$(var.Suffix)" Before="LaunchConditions" Overridable="yes" />
36
</InstallUISequence>
27
- </Fragment>
37
29
- <!-- NetFx Custom Action DLL Definitions -->
30
- <Fragment>
31
- <Binary Id="$(var.Prefix)NetFxCA$(var.Suffix)" SourceFile="!(bindpath.netfxca.$(var.platform))netfxca.dll" />
38
<Binary Id="$(var.Prefix)NetCheck_x86" SourceFile="!(bindpath.x86)NetCoreCheck.exe" />
39
<Binary Id="$(var.Prefix)NetCheck_x64" SourceFile="!(bindpath.x64)NetCoreCheck.exe" />
40
<Binary Id="$(var.Prefix)NetCheck_arm64" SourceFile="!(bindpath.arm64)NetCoreCheck.exe" />