summaryrefslogtreecommitdiff
path: root/src/ext/ComPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/ComPlus')
-rw-r--r--src/ext/ComPlus/ComPlus.wixext.sln4
-rw-r--r--src/ext/ComPlus/ca/complusca.vcxproj8
-rw-r--r--src/ext/ComPlus/ca/cpapprolesched.cpp8
-rw-r--r--src/ext/ComPlus/ca/cpappsched.cpp4
-rw-r--r--src/ext/ComPlus/ca/cpasmsched.cpp22
-rw-r--r--src/ext/ComPlus/ca/cppartrolesched.cpp6
-rw-r--r--src/ext/ComPlus/ca/cppartsched.cpp6
-rw-r--r--src/ext/ComPlus/ca/cpsubssched.cpp4
-rw-r--r--src/ext/ComPlus/ca/cputilsched.cpp2
-rw-r--r--src/ext/ComPlus/test/WixToolsetTest.ComPlus/ComPlusExtensionFixture.cs23
-rw-r--r--src/ext/ComPlus/test/WixToolsetTest.ComPlus/TestData/UsingComPlusPartition/Package.wxs4
-rw-r--r--src/ext/ComPlus/wixext/ComPlusCompiler.cs15
-rw-r--r--src/ext/ComPlus/wixext/ComPlusTableDefinitions.cs50
-rw-r--r--src/ext/ComPlus/wixlib/ComPlusExtension.wxs122
-rw-r--r--src/ext/ComPlus/wixlib/ComPlusExtension_Platform.wxi44
-rw-r--r--src/ext/ComPlus/wixlib/ComPlusExtension_arm64.wxs7
-rw-r--r--src/ext/ComPlus/wixlib/ComPlusExtension_x64.wxs7
-rw-r--r--src/ext/ComPlus/wixlib/ComPlusExtension_x86.wxs7
-rw-r--r--src/ext/ComPlus/wixlib/complus.wixproj6
19 files changed, 177 insertions, 172 deletions
diff --git a/src/ext/ComPlus/ComPlus.wixext.sln b/src/ext/ComPlus/ComPlus.wixext.sln
index 06302fa2..6249fef0 100644
--- a/src/ext/ComPlus/ComPlus.wixext.sln
+++ b/src/ext/ComPlus/ComPlus.wixext.sln
@@ -1,7 +1,7 @@
1 1
2Microsoft Visual Studio Solution File, Format Version 12.00 2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio Version 16 3# Visual Studio Version 17
4VisualStudioVersion = 16.0.30611.23 4VisualStudioVersion = 17.0.32126.317
5MinimumVisualStudioVersion = 10.0.40219.1 5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "complusca", "ca\complusca.vcxproj", "{BDEF51ED-E242-4FA2-801A-01B127DF851A}" 6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "complusca", "ca\complusca.vcxproj", "{BDEF51ED-E242-4FA2-801A-01B127DF851A}"
7EndProject 7EndProject
diff --git a/src/ext/ComPlus/ca/complusca.vcxproj b/src/ext/ComPlus/ca/complusca.vcxproj
index 0bd490b1..696f7dd8 100644
--- a/src/ext/ComPlus/ca/complusca.vcxproj
+++ b/src/ext/ComPlus/ca/complusca.vcxproj
@@ -19,6 +19,14 @@
19 <Configuration>Release</Configuration> 19 <Configuration>Release</Configuration>
20 <Platform>x64</Platform> 20 <Platform>x64</Platform>
21 </ProjectConfiguration> 21 </ProjectConfiguration>
22 <ProjectConfiguration Include="Debug|ARM64">
23 <Configuration>Debug</Configuration>
24 <Platform>ARM64</Platform>
25 </ProjectConfiguration>
26 <ProjectConfiguration Include="Release|ARM64">
27 <Configuration>Release</Configuration>
28 <Platform>ARM64</Platform>
29 </ProjectConfiguration>
22 </ItemGroup> 30 </ItemGroup>
23 31
24 <PropertyGroup Label="Globals"> 32 <PropertyGroup Label="Globals">
diff --git a/src/ext/ComPlus/ca/cpapprolesched.cpp b/src/ext/ComPlus/ca/cpapprolesched.cpp
index a268d156..d4f5d2be 100644
--- a/src/ext/ComPlus/ca/cpapprolesched.cpp
+++ b/src/ext/ComPlus/ca/cpapprolesched.cpp
@@ -6,17 +6,17 @@
6// sql queries 6// sql queries
7 7
8LPCWSTR vcsApplicationRoleQuery = 8LPCWSTR vcsApplicationRoleQuery =
9 L"SELECT `ApplicationRole`, `Application_`, `Component_`, `Name` FROM `ComPlusApplicationRole`"; 9 L"SELECT `ApplicationRole`, `Application_`, `Component_`, `Name` FROM `Wix4ComPlusApplicationRole`";
10enum eApplicationRoleQuery { arqApplicationRole = 1, arqApplication, arqComponent, arqName }; 10enum eApplicationRoleQuery { arqApplicationRole = 1, arqApplication, arqComponent, arqName };
11 11
12LPCWSTR vcsUserInApplicationRoleQuery = 12LPCWSTR vcsUserInApplicationRoleQuery =
13 L"SELECT `UserInApplicationRole`, `ApplicationRole_`, `ComPlusUserInApplicationRole`.`Component_`, `Domain`, `Name` FROM `ComPlusUserInApplicationRole`, `User` WHERE `User_` = `User`"; 13 L"SELECT `UserInApplicationRole`, `ApplicationRole_`, `ComPlusUserInApplicationRole`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusUserInApplicationRole`, `Wix4User` WHERE `User_` = `User`";
14LPCWSTR vcsGroupInApplicationRoleQuery = 14LPCWSTR vcsGroupInApplicationRoleQuery =
15 L"SELECT `GroupInApplicationRole`, `ApplicationRole_`, `ComPlusGroupInApplicationRole`.`Component_`, `Domain`, `Name` FROM `ComPlusGroupInApplicationRole`, `Group` WHERE `Group_` = `Group`"; 15 L"SELECT `GroupInApplicationRole`, `ApplicationRole_`, `ComPlusGroupInApplicationRole`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusGroupInApplicationRole`, `Group` WHERE `Group_` = `Group`";
16enum eTrusteeInApplicationRoleQuery { tiarqUserInApplicationRole = 1, tiarqApplicationRole, tiarqComponent, tiarqDomain, tiarqName }; 16enum eTrusteeInApplicationRoleQuery { tiarqUserInApplicationRole = 1, tiarqApplicationRole, tiarqComponent, tiarqDomain, tiarqName };
17 17
18LPCWSTR vcsApplicationRolePropertyQuery = 18LPCWSTR vcsApplicationRolePropertyQuery =
19 L"SELECT `Name`, `Value` FROM `ComPlusApplicationRoleProperty` WHERE `ApplicationRole_` = ?"; 19 L"SELECT `Name`, `Value` FROM `Wix4ComPlusApplicationRoleProperty` WHERE `ApplicationRole_` = ?";
20 20
21 21
22// property definitions 22// property definitions
diff --git a/src/ext/ComPlus/ca/cpappsched.cpp b/src/ext/ComPlus/ca/cpappsched.cpp
index 1fb2203b..4d867f6b 100644
--- a/src/ext/ComPlus/ca/cpappsched.cpp
+++ b/src/ext/ComPlus/ca/cpappsched.cpp
@@ -6,11 +6,11 @@
6// sql queries 6// sql queries
7 7
8LPCWSTR vcsApplicationQuery = 8LPCWSTR vcsApplicationQuery =
9 L"SELECT `Application`, `Component_`, `Partition_`, `Id`, `Name` FROM `ComPlusApplication`"; 9 L"SELECT `Application`, `Component_`, `Partition_`, `Id`, `Name` FROM `Wix4ComPlusApplication`";
10enum eApplicationQuery { aqApplication = 1, aqComponent, aqPartition, aqID, aqName }; 10enum eApplicationQuery { aqApplication = 1, aqComponent, aqPartition, aqID, aqName };
11 11
12LPCWSTR vcsApplicationPropertyQuery = 12LPCWSTR vcsApplicationPropertyQuery =
13 L"SELECT `Name`, `Value` FROM `ComPlusApplicationProperty` WHERE `Application_` = ?"; 13 L"SELECT `Name`, `Value` FROM `Wix4ComPlusApplicationProperty` WHERE `Application_` = ?";
14 14
15 15
16// property definitions 16// property definitions
diff --git a/src/ext/ComPlus/ca/cpasmsched.cpp b/src/ext/ComPlus/ca/cpasmsched.cpp
index 2d0573a5..325808de 100644
--- a/src/ext/ComPlus/ca/cpasmsched.cpp
+++ b/src/ext/ComPlus/ca/cpasmsched.cpp
@@ -14,36 +14,36 @@ LPCWSTR vcsModuleQuery =
14enum eModuleQuery { mqModule = 1 }; 14enum eModuleQuery { mqModule = 1 };
15 15
16LPCWSTR vcsAssemblyQuery = 16LPCWSTR vcsAssemblyQuery =
17 L"SELECT `Assembly`, `Component_`, `Application_`, `AssemblyName`, `DllPath`, `TlbPath`, `PSDllPath`, `Attributes` FROM `ComPlusAssembly`"; 17 L"SELECT `Assembly`, `Component_`, `Application_`, `AssemblyName`, `DllPath`, `TlbPath`, `PSDllPath`, `Attributes` FROM `Wix4ComPlusAssembly`";
18enum eAssemblyQuery { aqAssembly = 1, aqComponent, aqApplication, aqAssemblyName, aqDllPath, aqTlbPath, aqPSDllPath, aqAttributes }; 18enum eAssemblyQuery { aqAssembly = 1, aqComponent, aqApplication, aqAssemblyName, aqDllPath, aqTlbPath, aqPSDllPath, aqAttributes };
19 19
20LPCWSTR vcsComponentQuery = 20LPCWSTR vcsComponentQuery =
21 L"SELECT `ComPlusComponent`, `CLSID` FROM `ComPlusComponent` WHERE `Assembly_` = ?"; 21 L"SELECT `ComPlusComponent`, `CLSID` FROM `Wix4ComPlusComponent` WHERE `Assembly_` = ?";
22enum eComponentQuery { cqComponent = 1, cqCLSID }; 22enum eComponentQuery { cqComponent = 1, cqCLSID };
23 23
24LPCWSTR vcsComponentPropertyQuery = 24LPCWSTR vcsComponentPropertyQuery =
25 L"SELECT `Name`, `Value` FROM `ComPlusComponentProperty` WHERE `ComPlusComponent_` = ?"; 25 L"SELECT `Name`, `Value` FROM `Wix4ComPlusComponentProperty` WHERE `ComPlusComponent_` = ?";
26 26
27LPCWSTR vcsInterfaceQuery = 27LPCWSTR vcsInterfaceQuery =
28 L"SELECT `Interface`, `IID` FROM `ComPlusInterface` WHERE `ComPlusComponent_` = ?"; 28 L"SELECT `Interface`, `IID` FROM `Wix4ComPlusInterface` WHERE `ComPlusComponent_` = ?";
29enum eInterfaceQuery { iqInterface = 1, iqIID }; 29enum eInterfaceQuery { iqInterface = 1, iqIID };
30 30
31LPCWSTR vcsInterfacePropertyQuery = 31LPCWSTR vcsInterfacePropertyQuery =
32 L"SELECT `Name`, `Value` FROM `ComPlusInterfaceProperty` WHERE `Interface_` = ?"; 32 L"SELECT `Name`, `Value` FROM `Wix4ComPlusInterfaceProperty` WHERE `Interface_` = ?";
33 33
34LPCWSTR vcsMethodQuery = 34LPCWSTR vcsMethodQuery =
35 L"SELECT `Method`, `Index`, `Name` FROM `ComPlusMethod` WHERE `Interface_` = ?"; 35 L"SELECT `Method`, `Index`, `Name` FROM `Wix4ComPlusMethod` WHERE `Interface_` = ?";
36enum eMethodQuery { mqMethod = 1, mqIndex, mqName }; 36enum eMethodQuery { mqMethod = 1, mqIndex, mqName };
37 37
38LPCWSTR vcsMethodPropertyQuery = 38LPCWSTR vcsMethodPropertyQuery =
39 L"SELECT `Name`, `Value` FROM `ComPlusMethodProperty` WHERE `Method_` = ?"; 39 L"SELECT `Name`, `Value` FROM `Wix4ComPlusMethodProperty` WHERE `Method_` = ?";
40 40
41LPCWSTR vcsRoleForComponentQuery = 41LPCWSTR vcsRoleForComponentQuery =
42 L"SELECT `RoleForComponent`, `ApplicationRole_`, `Component_` FROM `ComPlusRoleForComponent` WHERE `ComPlusComponent_` = ?"; 42 L"SELECT `RoleForComponent`, `ApplicationRole_`, `Component_` FROM `Wix4ComPlusRoleForComponent` WHERE `ComPlusComponent_` = ?";
43LPCWSTR vcsRoleForInterfaceQuery = 43LPCWSTR vcsRoleForInterfaceQuery =
44 L"SELECT `RoleForInterface`, `ApplicationRole_`, `Component_` FROM `ComPlusRoleForInterface` WHERE `Interface_` = ?"; 44 L"SELECT `RoleForInterface`, `ApplicationRole_`, `Component_` FROM `Wix4ComPlusRoleForInterface` WHERE `Interface_` = ?";
45LPCWSTR vcsRoleForMethodQuery = 45LPCWSTR vcsRoleForMethodQuery =
46 L"SELECT `RoleForMethod`, `ApplicationRole_`, `Component_` FROM `ComPlusRoleForMethod` WHERE `Method_` = ?"; 46 L"SELECT `RoleForMethod`, `ApplicationRole_`, `Component_` FROM `Wix4ComPlusRoleForMethod` WHERE `Method_` = ?";
47 47
48enum eRoleAssignmentQuery { raqKey = 1, raqApplicationRole, raqComponent }; 48enum eRoleAssignmentQuery { raqKey = 1, raqApplicationRole, raqComponent };
49 49
@@ -52,7 +52,7 @@ LPCWSTR vcsModuleComponentsQuery =
52LPCWSTR vcsModuleDependencyQuery = 52LPCWSTR vcsModuleDependencyQuery =
53 L"SELECT `ModuleID`, `RequiredID` FROM `ModuleDependency`"; 53 L"SELECT `ModuleID`, `RequiredID` FROM `ModuleDependency`";
54LPCWSTR vcsAssemblyDependencyQuery = 54LPCWSTR vcsAssemblyDependencyQuery =
55 L"SELECT `Assembly_`, `RequiredAssembly_` FROM `ComPlusAssemblyDependency`"; 55 L"SELECT `Assembly_`, `RequiredAssembly_` FROM `Wix4ComPlusAssemblyDependency`";
56 56
57enum eKeyPairQuery { kpqFirstKey = 1, kpqSecondKey }; 57enum eKeyPairQuery { kpqFirstKey = 1, kpqSecondKey };
58 58
diff --git a/src/ext/ComPlus/ca/cppartrolesched.cpp b/src/ext/ComPlus/ca/cppartrolesched.cpp
index a988f8e3..cfaeb905 100644
--- a/src/ext/ComPlus/ca/cppartrolesched.cpp
+++ b/src/ext/ComPlus/ca/cppartrolesched.cpp
@@ -6,13 +6,13 @@
6// sql queries 6// sql queries
7 7
8LPCWSTR vcsPartitionRoleQuery = 8LPCWSTR vcsPartitionRoleQuery =
9 L"SELECT `PartitionRole`, `Partition_`, `Component_`, `Name` FROM `ComPlusPartitionRole`"; 9 L"SELECT `PartitionRole`, `Partition_`, `Component_`, `Name` FROM `Wix4ComPlusPartitionRole`";
10enum ePartitionRoleQuery { prqPartitionRole = 1, prqPartition, prqComponent, prqName }; 10enum ePartitionRoleQuery { prqPartitionRole = 1, prqPartition, prqComponent, prqName };
11 11
12LPCWSTR vcsUserInPartitionRoleQuery = 12LPCWSTR vcsUserInPartitionRoleQuery =
13 L"SELECT `UserInPartitionRole`, `PartitionRole_`, `ComPlusUserInPartitionRole`.`Component_`, `Domain`, `Name` FROM `ComPlusUserInPartitionRole`, `User` WHERE `User_` = `User`"; 13 L"SELECT `UserInPartitionRole`, `PartitionRole_`, `ComPlusUserInPartitionRole`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusUserInPartitionRole`, `Wix4User` WHERE `User_` = `User`";
14LPCWSTR vcsGroupInPartitionRoleQuery = 14LPCWSTR vcsGroupInPartitionRoleQuery =
15 L"SELECT `GroupInPartitionRole`, `PartitionRole_`, `ComPlusGroupInPartitionRole`.`Component_`, `Domain`, `Name` FROM `ComPlusGroupInPartitionRole`, `Group` WHERE `Group_` = `Group`"; 15 L"SELECT `GroupInPartitionRole`, `PartitionRole_`, `ComPlusGroupInPartitionRole`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusGroupInPartitionRole`, `Group` WHERE `Group_` = `Group`";
16enum eTrusteeInPartitionRoleQuery { tiprqUserInPartitionRole = 1, tiprqPartitionRole, tiprqComponent, tiprqDomain, tiprqName }; 16enum eTrusteeInPartitionRoleQuery { tiprqUserInPartitionRole = 1, tiprqPartitionRole, tiprqComponent, tiprqDomain, tiprqName };
17 17
18 18
diff --git a/src/ext/ComPlus/ca/cppartsched.cpp b/src/ext/ComPlus/ca/cppartsched.cpp
index 7cd98791..d4065d34 100644
--- a/src/ext/ComPlus/ca/cppartsched.cpp
+++ b/src/ext/ComPlus/ca/cppartsched.cpp
@@ -6,14 +6,14 @@
6// sql queries 6// sql queries
7 7
8LPCWSTR vcsPartitionQuery = 8LPCWSTR vcsPartitionQuery =
9 L"SELECT `Partition`, `Component_`, `Id`, `Name` FROM `ComPlusPartition`"; 9 L"SELECT `Partition`, `Component_`, `Id`, `Name` FROM `Wix4ComPlusPartition`";
10enum ePartitionQuery { pqPartition = 1, pqComponent, pqID, pqName }; 10enum ePartitionQuery { pqPartition = 1, pqComponent, pqID, pqName };
11 11
12LPCWSTR vcsPartitionPropertyQuery = 12LPCWSTR vcsPartitionPropertyQuery =
13 L"SELECT `Name`, `Value` FROM `ComPlusPartitionProperty` WHERE `Partition_` = ?"; 13 L"SELECT `Name`, `Value` FROM `Wix4ComPlusPartitionProperty` WHERE `Partition_` = ?";
14 14
15LPCWSTR vcsPartitionUserQuery = 15LPCWSTR vcsPartitionUserQuery =
16 L"SELECT `PartitionUser`, `Partition_`, `ComPlusPartitionUser`.`Component_`, `Domain`, `Name` FROM `ComPlusPartitionUser`, `User` WHERE `User_` = `User`"; 16 L"SELECT `PartitionUser`, `Partition_`, `ComPlusPartitionUser`.`Component_`, `Domain`, `Name` FROM `Wix4ComPlusPartitionUser`, `Wix4User` WHERE `User_` = `User`";
17enum ePartitionUserQuery { puqPartitionUser = 1, puqPartition, puqComponent, puqDomain, puqName }; 17enum ePartitionUserQuery { puqPartitionUser = 1, puqPartition, puqComponent, puqDomain, puqName };
18 18
19 19
diff --git a/src/ext/ComPlus/ca/cpsubssched.cpp b/src/ext/ComPlus/ca/cpsubssched.cpp
index df15fd03..fbec3a2d 100644
--- a/src/ext/ComPlus/ca/cpsubssched.cpp
+++ b/src/ext/ComPlus/ca/cpsubssched.cpp
@@ -6,11 +6,11 @@
6// sql queries 6// sql queries
7 7
8LPCWSTR vcsSubscriptionQuery = 8LPCWSTR vcsSubscriptionQuery =
9 L"SELECT `Subscription`, `ComPlusComponent_`, `Component_`, `Id`, `Name`, `EventCLSID`, `PublisherID` FROM `ComPlusSubscription`"; 9 L"SELECT `Subscription`, `ComPlusComponent_`, `Component_`, `Id`, `Name`, `EventCLSID`, `PublisherID` FROM `Wix4ComPlusSubscription`";
10enum eSubscriptionQuery { sqSubscription = 1, sqComPlusComponent, sqComponent, sqID, sqName, sqEventCLSID, sqPublisherID }; 10enum eSubscriptionQuery { sqSubscription = 1, sqComPlusComponent, sqComponent, sqID, sqName, sqEventCLSID, sqPublisherID };
11 11
12LPCWSTR vcsSubscriptionPropertyQuery = 12LPCWSTR vcsSubscriptionPropertyQuery =
13 L"SELECT `Name`, `Value` FROM `ComPlusSubscriptionProperty` WHERE `Subscription_` = ?"; 13 L"SELECT `Name`, `Value` FROM `Wix4ComPlusSubscriptionProperty` WHERE `Subscription_` = ?";
14 14
15 15
16// property definitions 16// property definitions
diff --git a/src/ext/ComPlus/ca/cputilsched.cpp b/src/ext/ComPlus/ca/cputilsched.cpp
index 1a958c56..4a2fdfc6 100644
--- a/src/ext/ComPlus/ca/cputilsched.cpp
+++ b/src/ext/ComPlus/ca/cputilsched.cpp
@@ -13,7 +13,7 @@ LPCWSTR vcsComponentAttributesQuery =
13 L"SELECT `Attributes` FROM `Component` WHERE `Component` = ?"; 13 L"SELECT `Attributes` FROM `Component` WHERE `Component` = ?";
14enum eComponentAttributesQuery { caqAttributes = 1 }; 14enum eComponentAttributesQuery { caqAttributes = 1 };
15 15
16LPCWSTR vcsUserQuery = L"SELECT `Domain`, `Name` FROM `User` WHERE `User` = ?"; 16LPCWSTR vcsUserQuery = L"SELECT `Domain`, `Name` FROM `Wix4User` WHERE `User` = ?";
17enum eUserQuery { uqDomain = 1, uqName }; 17enum eUserQuery { uqDomain = 1, uqName };
18 18
19enum ePropertyQuery { pqName = 1, pqValue }; 19enum ePropertyQuery { pqName = 1, pqValue };
diff --git a/src/ext/ComPlus/test/WixToolsetTest.ComPlus/ComPlusExtensionFixture.cs b/src/ext/ComPlus/test/WixToolsetTest.ComPlus/ComPlusExtensionFixture.cs
index ace4d6b6..d0b8daba 100644
--- a/src/ext/ComPlus/test/WixToolsetTest.ComPlus/ComPlusExtensionFixture.cs
+++ b/src/ext/ComPlus/test/WixToolsetTest.ComPlus/ComPlusExtensionFixture.cs
@@ -16,17 +16,32 @@ namespace WixToolsetTest.ComPlus
16 var folder = TestData.Get(@"TestData\UsingComPlusPartition"); 16 var folder = TestData.Get(@"TestData\UsingComPlusPartition");
17 var build = new Builder(folder, typeof(ComPlusExtensionFactory), new[] { folder }); 17 var build = new Builder(folder, typeof(ComPlusExtensionFactory), new[] { folder });
18 18
19 var results = build.BuildAndQuery(Build, "ComPlusPartition"); 19 var results = build.BuildAndQuery(Build, "Wix4ComPlusPartition", "CustomAction");
20 WixAssert.CompareLineByLine(new[] 20 WixAssert.CompareLineByLine(new[]
21 { 21 {
22 "ComPlusPartition:MyPartition\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tMyPartitionId\tMyPartition", 22 "CustomAction:Wix4ComPlusInstallCommit_A64\t11777\tWix4cpca_A64\tComPlusCleanup\t",
23 "CustomAction:Wix4ComPlusInstallExecute_A64\t11265\tWix4cpca_A64\tComPlusInstallExecute\t",
24 "CustomAction:Wix4ComPlusInstallExecuteCommit_A64\t11777\tWix4cpca_A64\tComPlusInstallExecuteCommit\t",
25 "CustomAction:Wix4ComPlusInstallPrepare_A64\t11265\tWix4cpca_A64\tComPlusPrepare\t",
26 "CustomAction:Wix4ComPlusRollbackInstallExecute_A64\t11521\tWix4cpca_A64\tComPlusRollbackInstallExecute\t",
27 "CustomAction:Wix4ComPlusRollbackInstallPrepare_A64\t11521\tWix4cpca_A64\tComPlusCleanup\t",
28 "CustomAction:Wix4ComPlusRollbackUninstallExecute_A64\t11521\tWix4cpca_A64\tComPlusInstallExecute\t",
29 "CustomAction:Wix4ComPlusRollbackUninstallPrepare_A64\t11521\tWix4cpca_A64\tComPlusCleanup\t",
30 "CustomAction:Wix4ComPlusUninstallCommit_A64\t11777\tWix4cpca_A64\tComPlusCleanup\t",
31 "CustomAction:Wix4ComPlusUninstallExecute_A64\t11265\tWix4cpca_A64\tComPlusUninstallExecute\t",
32 "CustomAction:Wix4ComPlusUninstallPrepare_A64\t11265\tWix4cpca_A64\tComPlusPrepare\t",
33 "CustomAction:Wix4ConfigureComPlusInstall_A64\t1\tWix4cpca_A64\tConfigureComPlusInstall\t",
34 "CustomAction:Wix4ConfigureComPlusUninstall_A64\t1\tWix4cpca_A64\tConfigureComPlusUninstall\t",
35 "Wix4ComPlusPartition:MyPartition\tfilF5_pLhBuF5b4N9XEo52g_hUM5Lo\tMyPartitionId\tMyPartition",
23 }, results); 36 }, results);
24 } 37 }
25 38
26 private static void Build(string[] args) 39 private static void Build(string[] args)
27 { 40 {
28 var result = WixRunner.Execute(args) 41 args = args.Concat(new[] { "-arch", "arm64" }).ToArray();
29 .AssertSuccess(); 42
43 var result = WixRunner.Execute(args);
44 result.AssertSuccess();
30 } 45 }
31 } 46 }
32} 47}
diff --git a/src/ext/ComPlus/test/WixToolsetTest.ComPlus/TestData/UsingComPlusPartition/Package.wxs b/src/ext/ComPlus/test/WixToolsetTest.ComPlus/TestData/UsingComPlusPartition/Package.wxs
index bd31e81f..9524f3a4 100644
--- a/src/ext/ComPlus/test/WixToolsetTest.ComPlus/TestData/UsingComPlusPartition/Package.wxs
+++ b/src/ext/ComPlus/test/WixToolsetTest.ComPlus/TestData/UsingComPlusPartition/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" InstallerVersion="200"> 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)" /> 3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
4 4
5 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> 5 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
diff --git a/src/ext/ComPlus/wixext/ComPlusCompiler.cs b/src/ext/ComPlus/wixext/ComPlusCompiler.cs
index 4404801e..9e00bc3b 100644
--- a/src/ext/ComPlus/wixext/ComPlusCompiler.cs
+++ b/src/ext/ComPlus/wixext/ComPlusCompiler.cs
@@ -8,6 +8,7 @@ namespace WixToolset.ComPlus
8 using WixToolset.ComPlus.Symbols; 8 using WixToolset.ComPlus.Symbols;
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Extensibility; 10 using WixToolset.Extensibility;
11 using WixToolset.Extensibility.Data;
11 12
12 /// <summary> 13 /// <summary>
13 /// The compiler for the WiX Toolset COM+ Extension. 14 /// The compiler for the WiX Toolset COM+ Extension.
@@ -40,7 +41,6 @@ namespace WixToolset.ComPlus
40 { 41 {
41 case "Component": 42 case "Component":
42 var componentId = context["ComponentId"]; 43 var componentId = context["ComponentId"];
43 var directoryId = context["DirectoryId"];
44 var win64 = Boolean.Parse(context["Win64"]); 44 var win64 = Boolean.Parse(context["Win64"]);
45 45
46 switch (element.Name.LocalName) 46 switch (element.Name.LocalName)
@@ -2148,17 +2148,8 @@ namespace WixToolset.ComPlus
2148 2148
2149 private void AddReferenceToConfigureComPlus(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, bool win64) 2149 private void AddReferenceToConfigureComPlus(IntermediateSection section, SourceLineNumber sourceLineNumbers, string elementName, bool win64)
2150 { 2150 {
2151 if (win64) 2151 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "Wix4ConfigureComPlusInstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
2152 { 2152 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "Wix4ConfigureComPlusUninstall", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
2153 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureComPlusInstall_x64");
2154 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureComPlusUninstall_x64");
2155 }
2156 else
2157 {
2158 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureComPlusInstall");
2159 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, "CustomAction", "ConfigureComPlusUninstall");
2160 }
2161
2162 } 2153 }
2163 } 2154 }
2164} 2155}
diff --git a/src/ext/ComPlus/wixext/ComPlusTableDefinitions.cs b/src/ext/ComPlus/wixext/ComPlusTableDefinitions.cs
index 565e1d44..52c6ecc5 100644
--- a/src/ext/ComPlus/wixext/ComPlusTableDefinitions.cs
+++ b/src/ext/ComPlus/wixext/ComPlusTableDefinitions.cs
@@ -7,7 +7,7 @@ namespace WixToolset.ComPlus
7 public static class ComPlusTableDefinitions 7 public static class ComPlusTableDefinitions
8 { 8 {
9 public static readonly TableDefinition ComPlusPartition = new TableDefinition( 9 public static readonly TableDefinition ComPlusPartition = new TableDefinition(
10 "ComPlusPartition", 10 "Wix4ComPlusPartition",
11 ComPlusSymbolDefinitions.ComPlusPartition, 11 ComPlusSymbolDefinitions.ComPlusPartition,
12 new[] 12 new[]
13 { 13 {
@@ -20,7 +20,7 @@ namespace WixToolset.ComPlus
20 ); 20 );
21 21
22 public static readonly TableDefinition ComPlusPartitionProperty = new TableDefinition( 22 public static readonly TableDefinition ComPlusPartitionProperty = new TableDefinition(
23 "ComPlusPartitionProperty", 23 "Wix4ComPlusPartitionProperty",
24 ComPlusSymbolDefinitions.ComPlusPartitionProperty, 24 ComPlusSymbolDefinitions.ComPlusPartitionProperty,
25 new[] 25 new[]
26 { 26 {
@@ -32,7 +32,7 @@ namespace WixToolset.ComPlus
32 ); 32 );
33 33
34 public static readonly TableDefinition ComPlusPartitionRole = new TableDefinition( 34 public static readonly TableDefinition ComPlusPartitionRole = new TableDefinition(
35 "ComPlusPartitionRole", 35 "Wix4ComPlusPartitionRole",
36 ComPlusSymbolDefinitions.ComPlusPartitionRole, 36 ComPlusSymbolDefinitions.ComPlusPartitionRole,
37 new[] 37 new[]
38 { 38 {
@@ -45,7 +45,7 @@ namespace WixToolset.ComPlus
45 ); 45 );
46 46
47 public static readonly TableDefinition ComPlusUserInPartitionRole = new TableDefinition( 47 public static readonly TableDefinition ComPlusUserInPartitionRole = new TableDefinition(
48 "ComPlusUserInPartitionRole", 48 "Wix4ComPlusUserInPartitionRole",
49 ComPlusSymbolDefinitions.ComPlusUserInPartitionRole, 49 ComPlusSymbolDefinitions.ComPlusUserInPartitionRole,
50 new[] 50 new[]
51 { 51 {
@@ -58,7 +58,7 @@ namespace WixToolset.ComPlus
58 ); 58 );
59 59
60 public static readonly TableDefinition ComPlusGroupInPartitionRole = new TableDefinition( 60 public static readonly TableDefinition ComPlusGroupInPartitionRole = new TableDefinition(
61 "ComPlusGroupInPartitionRole", 61 "Wix4ComPlusGroupInPartitionRole",
62 ComPlusSymbolDefinitions.ComPlusGroupInPartitionRole, 62 ComPlusSymbolDefinitions.ComPlusGroupInPartitionRole,
63 new[] 63 new[]
64 { 64 {
@@ -71,7 +71,7 @@ namespace WixToolset.ComPlus
71 ); 71 );
72 72
73 public static readonly TableDefinition ComPlusPartitionUser = new TableDefinition( 73 public static readonly TableDefinition ComPlusPartitionUser = new TableDefinition(
74 "ComPlusPartitionUser", 74 "Wix4ComPlusPartitionUser",
75 ComPlusSymbolDefinitions.ComPlusPartitionUser, 75 ComPlusSymbolDefinitions.ComPlusPartitionUser,
76 new[] 76 new[]
77 { 77 {
@@ -84,7 +84,7 @@ namespace WixToolset.ComPlus
84 ); 84 );
85 85
86 public static readonly TableDefinition ComPlusApplication = new TableDefinition( 86 public static readonly TableDefinition ComPlusApplication = new TableDefinition(
87 "ComPlusApplication", 87 "Wix4ComPlusApplication",
88 ComPlusSymbolDefinitions.ComPlusApplication, 88 ComPlusSymbolDefinitions.ComPlusApplication,
89 new[] 89 new[]
90 { 90 {
@@ -98,7 +98,7 @@ namespace WixToolset.ComPlus
98 ); 98 );
99 99
100 public static readonly TableDefinition ComPlusApplicationProperty = new TableDefinition( 100 public static readonly TableDefinition ComPlusApplicationProperty = new TableDefinition(
101 "ComPlusApplicationProperty", 101 "Wix4ComPlusApplicationProperty",
102 ComPlusSymbolDefinitions.ComPlusApplicationProperty, 102 ComPlusSymbolDefinitions.ComPlusApplicationProperty,
103 new[] 103 new[]
104 { 104 {
@@ -110,7 +110,7 @@ namespace WixToolset.ComPlus
110 ); 110 );
111 111
112 public static readonly TableDefinition ComPlusApplicationRole = new TableDefinition( 112 public static readonly TableDefinition ComPlusApplicationRole = new TableDefinition(
113 "ComPlusApplicationRole", 113 "Wix4ComPlusApplicationRole",
114 ComPlusSymbolDefinitions.ComPlusApplicationRole, 114 ComPlusSymbolDefinitions.ComPlusApplicationRole,
115 new[] 115 new[]
116 { 116 {
@@ -123,7 +123,7 @@ namespace WixToolset.ComPlus
123 ); 123 );
124 124
125 public static readonly TableDefinition ComPlusApplicationRoleProperty = new TableDefinition( 125 public static readonly TableDefinition ComPlusApplicationRoleProperty = new TableDefinition(
126 "ComPlusApplicationRoleProperty", 126 "Wix4ComPlusApplicationRoleProperty",
127 ComPlusSymbolDefinitions.ComPlusApplicationRoleProperty, 127 ComPlusSymbolDefinitions.ComPlusApplicationRoleProperty,
128 new[] 128 new[]
129 { 129 {
@@ -135,7 +135,7 @@ namespace WixToolset.ComPlus
135 ); 135 );
136 136
137 public static readonly TableDefinition ComPlusUserInApplicationRole = new TableDefinition( 137 public static readonly TableDefinition ComPlusUserInApplicationRole = new TableDefinition(
138 "ComPlusUserInApplicationRole", 138 "Wix4ComPlusUserInApplicationRole",
139 ComPlusSymbolDefinitions.ComPlusUserInApplicationRole, 139 ComPlusSymbolDefinitions.ComPlusUserInApplicationRole,
140 new[] 140 new[]
141 { 141 {
@@ -148,7 +148,7 @@ namespace WixToolset.ComPlus
148 ); 148 );
149 149
150 public static readonly TableDefinition ComPlusGroupInApplicationRole = new TableDefinition( 150 public static readonly TableDefinition ComPlusGroupInApplicationRole = new TableDefinition(
151 "ComPlusGroupInApplicationRole", 151 "Wix4ComPlusGroupInApplicationRole",
152 ComPlusSymbolDefinitions.ComPlusGroupInApplicationRole, 152 ComPlusSymbolDefinitions.ComPlusGroupInApplicationRole,
153 new[] 153 new[]
154 { 154 {
@@ -161,7 +161,7 @@ namespace WixToolset.ComPlus
161 ); 161 );
162 162
163 public static readonly TableDefinition ComPlusAssembly = new TableDefinition( 163 public static readonly TableDefinition ComPlusAssembly = new TableDefinition(
164 "ComPlusAssembly", 164 "Wix4ComPlusAssembly",
165 ComPlusSymbolDefinitions.ComPlusAssembly, 165 ComPlusSymbolDefinitions.ComPlusAssembly,
166 new[] 166 new[]
167 { 167 {
@@ -178,7 +178,7 @@ namespace WixToolset.ComPlus
178 ); 178 );
179 179
180 public static readonly TableDefinition ComPlusAssemblyDependency = new TableDefinition( 180 public static readonly TableDefinition ComPlusAssemblyDependency = new TableDefinition(
181 "ComPlusAssemblyDependency", 181 "Wix4ComPlusAssemblyDependency",
182 ComPlusSymbolDefinitions.ComPlusAssemblyDependency, 182 ComPlusSymbolDefinitions.ComPlusAssemblyDependency,
183 new[] 183 new[]
184 { 184 {
@@ -189,7 +189,7 @@ namespace WixToolset.ComPlus
189 ); 189 );
190 190
191 public static readonly TableDefinition ComPlusComponent = new TableDefinition( 191 public static readonly TableDefinition ComPlusComponent = new TableDefinition(
192 "ComPlusComponent", 192 "Wix4ComPlusComponent",
193 ComPlusSymbolDefinitions.ComPlusComponent, 193 ComPlusSymbolDefinitions.ComPlusComponent,
194 new[] 194 new[]
195 { 195 {
@@ -201,7 +201,7 @@ namespace WixToolset.ComPlus
201 ); 201 );
202 202
203 public static readonly TableDefinition ComPlusComponentProperty = new TableDefinition( 203 public static readonly TableDefinition ComPlusComponentProperty = new TableDefinition(
204 "ComPlusComponentProperty", 204 "Wix4ComPlusComponentProperty",
205 ComPlusSymbolDefinitions.ComPlusComponentProperty, 205 ComPlusSymbolDefinitions.ComPlusComponentProperty,
206 new[] 206 new[]
207 { 207 {
@@ -213,7 +213,7 @@ namespace WixToolset.ComPlus
213 ); 213 );
214 214
215 public static readonly TableDefinition ComPlusRoleForComponent = new TableDefinition( 215 public static readonly TableDefinition ComPlusRoleForComponent = new TableDefinition(
216 "ComPlusRoleForComponent", 216 "Wix4ComPlusRoleForComponent",
217 ComPlusSymbolDefinitions.ComPlusRoleForComponent, 217 ComPlusSymbolDefinitions.ComPlusRoleForComponent,
218 new[] 218 new[]
219 { 219 {
@@ -226,7 +226,7 @@ namespace WixToolset.ComPlus
226 ); 226 );
227 227
228 public static readonly TableDefinition ComPlusInterface = new TableDefinition( 228 public static readonly TableDefinition ComPlusInterface = new TableDefinition(
229 "ComPlusInterface", 229 "Wix4ComPlusInterface",
230 ComPlusSymbolDefinitions.ComPlusInterface, 230 ComPlusSymbolDefinitions.ComPlusInterface,
231 new[] 231 new[]
232 { 232 {
@@ -238,7 +238,7 @@ namespace WixToolset.ComPlus
238 ); 238 );
239 239
240 public static readonly TableDefinition ComPlusInterfaceProperty = new TableDefinition( 240 public static readonly TableDefinition ComPlusInterfaceProperty = new TableDefinition(
241 "ComPlusInterfaceProperty", 241 "Wix4ComPlusInterfaceProperty",
242 ComPlusSymbolDefinitions.ComPlusInterfaceProperty, 242 ComPlusSymbolDefinitions.ComPlusInterfaceProperty,
243 new[] 243 new[]
244 { 244 {
@@ -250,7 +250,7 @@ namespace WixToolset.ComPlus
250 ); 250 );
251 251
252 public static readonly TableDefinition ComPlusRoleForInterface = new TableDefinition( 252 public static readonly TableDefinition ComPlusRoleForInterface = new TableDefinition(
253 "ComPlusRoleForInterface", 253 "Wix4ComPlusRoleForInterface",
254 ComPlusSymbolDefinitions.ComPlusRoleForInterface, 254 ComPlusSymbolDefinitions.ComPlusRoleForInterface,
255 new[] 255 new[]
256 { 256 {
@@ -263,7 +263,7 @@ namespace WixToolset.ComPlus
263 ); 263 );
264 264
265 public static readonly TableDefinition ComPlusMethod = new TableDefinition( 265 public static readonly TableDefinition ComPlusMethod = new TableDefinition(
266 "ComPlusMethod", 266 "Wix4ComPlusMethod",
267 ComPlusSymbolDefinitions.ComPlusMethod, 267 ComPlusSymbolDefinitions.ComPlusMethod,
268 new[] 268 new[]
269 { 269 {
@@ -276,7 +276,7 @@ namespace WixToolset.ComPlus
276 ); 276 );
277 277
278 public static readonly TableDefinition ComPlusMethodProperty = new TableDefinition( 278 public static readonly TableDefinition ComPlusMethodProperty = new TableDefinition(
279 "ComPlusMethodProperty", 279 "Wix4ComPlusMethodProperty",
280 ComPlusSymbolDefinitions.ComPlusMethodProperty, 280 ComPlusSymbolDefinitions.ComPlusMethodProperty,
281 new[] 281 new[]
282 { 282 {
@@ -288,7 +288,7 @@ namespace WixToolset.ComPlus
288 ); 288 );
289 289
290 public static readonly TableDefinition ComPlusRoleForMethod = new TableDefinition( 290 public static readonly TableDefinition ComPlusRoleForMethod = new TableDefinition(
291 "ComPlusRoleForMethod", 291 "Wix4ComPlusRoleForMethod",
292 ComPlusSymbolDefinitions.ComPlusRoleForMethod, 292 ComPlusSymbolDefinitions.ComPlusRoleForMethod,
293 new[] 293 new[]
294 { 294 {
@@ -301,7 +301,7 @@ namespace WixToolset.ComPlus
301 ); 301 );
302 302
303 public static readonly TableDefinition ComPlusSubscription = new TableDefinition( 303 public static readonly TableDefinition ComPlusSubscription = new TableDefinition(
304 "ComPlusSubscription", 304 "Wix4ComPlusSubscription",
305 ComPlusSymbolDefinitions.ComPlusSubscription, 305 ComPlusSymbolDefinitions.ComPlusSubscription,
306 new[] 306 new[]
307 { 307 {
@@ -317,7 +317,7 @@ namespace WixToolset.ComPlus
317 ); 317 );
318 318
319 public static readonly TableDefinition ComPlusSubscriptionProperty = new TableDefinition( 319 public static readonly TableDefinition ComPlusSubscriptionProperty = new TableDefinition(
320 "ComPlusSubscriptionProperty", 320 "Wix4ComPlusSubscriptionProperty",
321 ComPlusSymbolDefinitions.ComPlusSubscriptionProperty, 321 ComPlusSymbolDefinitions.ComPlusSubscriptionProperty,
322 new[] 322 new[]
323 { 323 {
diff --git a/src/ext/ComPlus/wixlib/ComPlusExtension.wxs b/src/ext/ComPlus/wixlib/ComPlusExtension.wxs
index 736fd9b5..d8febf5c 100644
--- a/src/ext/ComPlus/wixlib/ComPlusExtension.wxs
+++ b/src/ext/ComPlus/wixlib/ComPlusExtension.wxs
@@ -1,6 +1,8 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2 2
3
3<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?include ..\..\caDecor.wxi ?>
4 <?include ..\..\caerr.wxi ?> 6 <?include ..\..\caerr.wxi ?>
5 7
6 <Fragment> 8 <Fragment>
@@ -31,105 +33,27 @@
31 <Error Id="$(var.msierrComPlusSubscriptionNameConflict)" Message="!(loc.msierrComPlusSubscriptionNameConflict)" /> 33 <Error Id="$(var.msierrComPlusSubscriptionNameConflict)" Message="!(loc.msierrComPlusSubscriptionNameConflict)" />
32 <Error Id="$(var.msierrComPlusFailedLookupNames)" Message="!(loc.msierrComPlusFailedLookupNames)" /> 34 <Error Id="$(var.msierrComPlusFailedLookupNames)" Message="!(loc.msierrComPlusFailedLookupNames)" />
33 35
34 <ProgressText Action="ComPlusInstallExecute" Message="!(loc.ComPlusInstallExecute)" /> 36 <ProgressText Action="$(var.Prefix)ComPlusInstallExecute$(var.Suffix)" Message="!(loc.ComPlusInstallExecute)" />
35 <ProgressText Action="ComPlusUninstallExecute" Message="!(loc.ComPlusUninstallExecute)" /> 37 <ProgressText Action="$(var.Prefix)ComPlusUninstallExecute$(var.Suffix)" Message="!(loc.ComPlusUninstallExecute)" />
36 38
37 <ProgressText Action="CreateComPlusPartitions" Template="!(loc.CreateComPlusPartitionsTemplate)" Message="!(loc.CreateComPlusPartitions)" /> 39 <ProgressText Action="$(var.Prefix)CreateComPlusPartitions$(var.Suffix)" Template="!(loc.CreateComPlusPartitionsTemplate)" Message="!(loc.CreateComPlusPartitions)" />
38 <ProgressText Action="RemoveComPlusPartitions" Template="!(loc.RemoveComPlusPartitionsTemplate)" Message="!(loc.RemoveComPlusPartitions)" /> 40 <ProgressText Action="$(var.Prefix)RemoveComPlusPartitions$(var.Suffix)" Template="!(loc.RemoveComPlusPartitionsTemplate)" Message="!(loc.RemoveComPlusPartitions)" />
39 <ProgressText Action="AddUsersToComPlusPartitionRoles" Template="!(loc.AddUsersToComPlusPartitionRolesTemplate)" Message="!(loc.AddUsersToComPlusPartitionRoles)" /> 41 <ProgressText Action="$(var.Prefix)AddUsersToComPlusPartitionRoles$(var.Suffix)" Template="!(loc.AddUsersToComPlusPartitionRolesTemplate)" Message="!(loc.AddUsersToComPlusPartitionRoles)" />
40 <ProgressText Action="RemoveUsersFromComPlusPartRoles" Template="!(loc.RemoveUsersFromComPlusPartitionRolesTemplate)" Message="!(loc.RemoveUsersFromComPlusPartitionRoles)" /> 42 <ProgressText Action="$(var.Prefix)RemoveUsersFromComPlusPartRoles$(var.Suffix)" Template="!(loc.RemoveUsersFromComPlusPartitionRolesTemplate)" Message="!(loc.RemoveUsersFromComPlusPartitionRoles)" />
41 <ProgressText Action="AddComPlusPartitionUsers" Template="!(loc.AddComPlusPartitionUsersTemplate)" Message="!(loc.AddComPlusPartitionUsers)" /> 43 <ProgressText Action="$(var.Prefix)AddComPlusPartitionUsers$(var.Suffix)" Template="!(loc.AddComPlusPartitionUsersTemplate)" Message="!(loc.AddComPlusPartitionUsers)" />
42 <ProgressText Action="RemoveComPlusPartitionUsers" Template="!(loc.RemoveComPlusPartitionUsersTemplate)" Message="!(loc.RemoveComPlusPartitionUsers)" /> 44 <ProgressText Action="$(var.Prefix)RemoveComPlusPartitionUsers$(var.Suffix)" Template="!(loc.RemoveComPlusPartitionUsersTemplate)" Message="!(loc.RemoveComPlusPartitionUsers)" />
43 <ProgressText Action="CreateComPlusApplications" Template="!(loc.CreateComPlusApplicationsTemplate)" Message="!(loc.CreateComPlusApplications)" /> 45 <ProgressText Action="$(var.Prefix)CreateComPlusApplications$(var.Suffix)" Template="!(loc.CreateComPlusApplicationsTemplate)" Message="!(loc.CreateComPlusApplications)" />
44 <ProgressText Action="RemoveComPlusApplications" Template="!(loc.RemoveComPlusApplicationsTemplate)" Message="!(loc.RemoveComPlusApplications)" /> 46 <ProgressText Action="$(var.Prefix)RemoveComPlusApplications$(var.Suffix)" Template="!(loc.RemoveComPlusApplicationsTemplate)" Message="!(loc.RemoveComPlusApplications)" />
45 <ProgressText Action="CreateComPlusApplicationRoles" Template="!(loc.CreateComPlusApplicationRolesTemplate)" Message="!(loc.CreateComPlusApplicationRoles)" /> 47 <ProgressText Action="$(var.Prefix)CreateComPlusApplicationRoles$(var.Suffix)" Template="!(loc.CreateComPlusApplicationRolesTemplate)" Message="!(loc.CreateComPlusApplicationRoles)" />
46 <ProgressText Action="RemoveComPlusApplicationRoles" Template="!(loc.RemoveComPlusApplicationRolesTemplate)" Message="!(loc.RemoveComPlusApplicationRoles)" /> 48 <ProgressText Action="$(var.Prefix)RemoveComPlusApplicationRoles$(var.Suffix)" Template="!(loc.RemoveComPlusApplicationRolesTemplate)" Message="!(loc.RemoveComPlusApplicationRoles)" />
47 <ProgressText Action="AddUsersToComPlusApplicationRoles" Template="!(loc.AddUsersToComPlusApplicationRolesTemplate)" Message="!(loc.AddUsersToComPlusApplicationRoles)" /> 49 <ProgressText Action="$(var.Prefix)AddUsersToComPlusApplicationRoles$(var.Suffix)" Template="!(loc.AddUsersToComPlusApplicationRolesTemplate)" Message="!(loc.AddUsersToComPlusApplicationRoles)" />
48 <ProgressText Action="RemoveUsersFromComPlusAppRoles" Template="!(loc.RemoveUsersFromComPlusApplicationRolesTemplate)" Message="!(loc.RemoveUsersFromComPlusApplicationRoles)" /> 50 <ProgressText Action="$(var.Prefix)RemoveUsersFromComPlusAppRoles$(var.Suffix)" Template="!(loc.RemoveUsersFromComPlusApplicationRolesTemplate)" Message="!(loc.RemoveUsersFromComPlusApplicationRoles)" />
49 <ProgressText Action="RegisterComPlusAssemblies" Template="!(loc.RegisterComPlusAssembliesTemplate)" Message="!(loc.RegisterComPlusAssemblies)" /> 51 <ProgressText Action="$(var.Prefix)RegisterComPlusAssemblies$(var.Suffix)" Template="!(loc.RegisterComPlusAssembliesTemplate)" Message="!(loc.RegisterComPlusAssemblies)" />
50 <ProgressText Action="UnregisterComPlusAssemblies" Template="!(loc.UnregisterComPlusAssembliesTemplate)" Message="!(loc.UnregisterComPlusAssemblies)" /> 52 <ProgressText Action="$(var.Prefix)UnregisterComPlusAssemblies$(var.Suffix)" Template="!(loc.UnregisterComPlusAssembliesTemplate)" Message="!(loc.UnregisterComPlusAssemblies)" />
51 <ProgressText Action="AddComPlusRoleAssignments" Template="!(loc.AddComPlusRoleAssignmentsTemplate)" Message="!(loc.AddComPlusRoleAssignments)" /> 53 <ProgressText Action="$(var.Prefix)AddComPlusRoleAssignments$(var.Suffix)" Template="!(loc.AddComPlusRoleAssignmentsTemplate)" Message="!(loc.AddComPlusRoleAssignments)" />
52 <ProgressText Action="RemoveComPlusRoleAssignments" Template="!(loc.RemoveComPlusRoleAssignmentsTemplate)" Message="!(loc.RemoveComPlusRoleAssignments)" /> 54 <ProgressText Action="$(var.Prefix)RemoveComPlusRoleAssignments$(var.Suffix)" Template="!(loc.RemoveComPlusRoleAssignmentsTemplate)" Message="!(loc.RemoveComPlusRoleAssignments)" />
53 <ProgressText Action="CreateSubscrComPlusComponents" Template="!(loc.CreateSubscriptionsComPlusComponentsTemplate)" Message="!(loc.CreateSubscriptionsComPlusComponents)" /> 55 <ProgressText Action="$(var.Prefix)CreateSubscrComPlusComponents$(var.Suffix)" Template="!(loc.CreateSubscriptionsComPlusComponentsTemplate)" Message="!(loc.CreateSubscriptionsComPlusComponents)" />
54 <ProgressText Action="RemoveSubscrComPlusComponents" Template="!(loc.RemoveSubscriptionsComPlusComponentsTemplate)" Message="!(loc.RemoveSubscriptionsComPlusComponents)" /> 56 <ProgressText Action="$(var.Prefix)RemoveSubscrComPlusComponents$(var.Suffix)" Template="!(loc.RemoveSubscriptionsComPlusComponentsTemplate)" Message="!(loc.RemoveSubscriptionsComPlusComponents)" />
55 </UI> 57 </UI>
56 </Fragment> 58 </Fragment>
57
58 <Fragment>
59 <UIRef Id="ComPlusUI" />
60
61 <CustomAction Id="ConfigureComPlusInstall" DllEntry="ConfigureComPlusInstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
62 <CustomAction Id="ConfigureComPlusUninstall" DllEntry="ConfigureComPlusUninstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
63 <CustomAction Id="ComPlusInstallPrepare" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
64 <CustomAction Id="ComPlusRollbackInstallPrepare" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
65 <CustomAction Id="ComPlusInstallExecute" DllEntry="ComPlusInstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
66 <CustomAction Id="ComPlusInstallExecuteCommit" DllEntry="ComPlusInstallExecuteCommit" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
67 <CustomAction Id="ComPlusRollbackInstallExecute" DllEntry="ComPlusRollbackInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
68 <CustomAction Id="ComPlusInstallCommit" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
69 <CustomAction Id="ComPlusUninstallPrepare" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
70 <CustomAction Id="ComPlusRollbackUninstallPrepare" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
71 <CustomAction Id="ComPlusUninstallExecute" DllEntry="ComPlusUninstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
72 <CustomAction Id="ComPlusRollbackUninstallExecute" DllEntry="ComPlusInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
73 <CustomAction Id="ComPlusUninstallCommit" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x86" />
74
75 <Property Id="ComPlusInstallPrepare" Hidden="yes" SuppressModularization="yes" />
76 <Property Id="ComPlusRollbackInstallPrepare" Hidden="yes" SuppressModularization="yes" />
77 <Property Id="ComPlusInstallExecute" Hidden="yes" SuppressModularization="yes" />
78 <Property Id="ComPlusInstallExecuteCommit" Hidden="yes" SuppressModularization="yes" />
79 <Property Id="ComPlusRollbackInstallExecute" Hidden="yes" SuppressModularization="yes" />
80 <Property Id="ComPlusInstallCommit" Hidden="yes" SuppressModularization="yes" />
81 <Property Id="ComPlusUninstallPrepare" Hidden="yes" SuppressModularization="yes" />
82 <Property Id="ComPlusRollbackUninstallPrepare" Hidden="yes" SuppressModularization="yes" />
83 <Property Id="ComPlusUninstallExecute" Hidden="yes" SuppressModularization="yes" />
84 <Property Id="ComPlusRollbackUninstallExecute" Hidden="yes" SuppressModularization="yes" />
85 <Property Id="ComPlusUninstallCommit" Hidden="yes" SuppressModularization="yes" />
86
87 <InstallExecuteSequence>
88 <Custom Action="ConfigureComPlusUninstall" After="DeleteServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
89 <Custom Action="ConfigureComPlusInstall" Before="InstallServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
90 </InstallExecuteSequence>
91 </Fragment>
92
93 <Fragment>
94 <UIRef Id="ComPlusUI" />
95
96 <CustomAction Id="ConfigureComPlusInstall_x64" DllEntry="ConfigureComPlusInstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
97 <CustomAction Id="ConfigureComPlusUninstall_x64" DllEntry="ConfigureComPlusUninstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
98 <CustomAction Id="ComPlusInstallPrepare_64" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
99 <CustomAction Id="ComPlusRollbackInstallPrepare_64" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
100 <CustomAction Id="ComPlusInstallExecute_64" DllEntry="ComPlusInstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
101 <CustomAction Id="ComPlusInstallExecuteCommit_64" DllEntry="ComPlusInstallExecuteCommit" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
102 <CustomAction Id="ComPlusRollbackInstallExecute_64" DllEntry="ComPlusRollbackInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
103 <CustomAction Id="ComPlusInstallCommit_64" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
104 <CustomAction Id="ComPlusUninstallPrepare_64" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
105 <CustomAction Id="ComPlusRollbackUninstallPrepare_64" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
106 <CustomAction Id="ComPlusUninstallExecute_64" DllEntry="ComPlusUninstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
107 <CustomAction Id="ComPlusRollbackUninstallExecute_64" DllEntry="ComPlusInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
108 <CustomAction Id="ComPlusUninstallCommit_64" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="ComPlusCA_x64" />
109
110 <Property Id="ComPlusInstallPrepare_64" Hidden="yes" SuppressModularization="yes" />
111 <Property Id="ComPlusRollbackInstallPrepare_64" Hidden="yes" SuppressModularization="yes" />
112 <Property Id="ComPlusInstallExecute_64" Hidden="yes" SuppressModularization="yes" />
113 <Property Id="ComPlusInstallExecuteCommit_64" Hidden="yes" SuppressModularization="yes" />
114 <Property Id="ComPlusRollbackInstallExecute_64" Hidden="yes" SuppressModularization="yes" />
115 <Property Id="ComPlusInstallCommit_64" Hidden="yes" SuppressModularization="yes" />
116 <Property Id="ComPlusUninstallPrepare_64" Hidden="yes" SuppressModularization="yes" />
117 <Property Id="ComPlusRollbackUninstallPrepare_64" Hidden="yes" SuppressModularization="yes" />
118 <Property Id="ComPlusUninstallExecute_64" Hidden="yes" SuppressModularization="yes" />
119 <Property Id="ComPlusRollbackUninstallExecute_64" Hidden="yes" SuppressModularization="yes" />
120 <Property Id="ComPlusUninstallCommit_64" Hidden="yes" SuppressModularization="yes" />
121
122 <InstallExecuteSequence>
123 <Custom Action="ConfigureComPlusUninstall_x64" After="DeleteServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
124 <Custom Action="ConfigureComPlusInstall_x64" Before="InstallServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
125 </InstallExecuteSequence>
126 </Fragment>
127
128 <Fragment>
129 <Binary Id="ComPlusCA_x86" SourceFile="!(bindpath.x86)complusca.dll" />
130 </Fragment>
131
132 <Fragment>
133 <Binary Id="ComPlusCA_x64" SourceFile="!(bindpath.x64)complusca.dll" />
134 </Fragment>
135</Wix> 59</Wix>
diff --git a/src/ext/ComPlus/wixlib/ComPlusExtension_Platform.wxi b/src/ext/ComPlus/wixlib/ComPlusExtension_Platform.wxi
new file mode 100644
index 00000000..7edae031
--- /dev/null
+++ b/src/ext/ComPlus/wixlib/ComPlusExtension_Platform.wxi
@@ -0,0 +1,44 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2
3<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
4 <?include ..\..\caDecor.wxi ?>
5
6 <Fragment>
7 <UIRef Id="ComPlusUI" />
8
9 <CustomAction Id="$(var.Prefix)ConfigureComPlusInstall$(var.Suffix)" DllEntry="ConfigureComPlusInstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
10 <CustomAction Id="$(var.Prefix)ConfigureComPlusUninstall$(var.Suffix)" DllEntry="ConfigureComPlusUninstall" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
11 <CustomAction Id="$(var.Prefix)ComPlusInstallPrepare$(var.Suffix)" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
12 <CustomAction Id="$(var.Prefix)ComPlusRollbackInstallPrepare$(var.Suffix)" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
13 <CustomAction Id="$(var.Prefix)ComPlusInstallExecute$(var.Suffix)" DllEntry="ComPlusInstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
14 <CustomAction Id="$(var.Prefix)ComPlusInstallExecuteCommit$(var.Suffix)" DllEntry="ComPlusInstallExecuteCommit" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
15 <CustomAction Id="$(var.Prefix)ComPlusRollbackInstallExecute$(var.Suffix)" DllEntry="ComPlusRollbackInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
16 <CustomAction Id="$(var.Prefix)ComPlusInstallCommit$(var.Suffix)" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
17 <CustomAction Id="$(var.Prefix)ComPlusUninstallPrepare$(var.Suffix)" DllEntry="ComPlusPrepare" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
18 <CustomAction Id="$(var.Prefix)ComPlusRollbackUninstallPrepare$(var.Suffix)" DllEntry="ComPlusCleanup" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
19 <CustomAction Id="$(var.Prefix)ComPlusUninstallExecute$(var.Suffix)" DllEntry="ComPlusUninstallExecute" Execute="deferred" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
20 <CustomAction Id="$(var.Prefix)ComPlusRollbackUninstallExecute$(var.Suffix)" DllEntry="ComPlusInstallExecute" Execute="rollback" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
21 <CustomAction Id="$(var.Prefix)ComPlusUninstallCommit$(var.Suffix)" DllEntry="ComPlusCleanup" Execute="commit" Return="check" Impersonate="no" HideTarget="yes" SuppressModularization="yes" BinaryRef="$(var.Prefix)cpca$(var.Suffix)" />
22
23 <Property Id="$(var.Prefix)ComPlusInstallPrepare$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
24 <Property Id="$(var.Prefix)ComPlusRollbackInstallPrepare$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
25 <Property Id="$(var.Prefix)ComPlusInstallExecute$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
26 <Property Id="$(var.Prefix)ComPlusInstallExecuteCommit$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
27 <Property Id="$(var.Prefix)ComPlusRollbackInstallExecute$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
28 <Property Id="$(var.Prefix)ComPlusInstallCommit$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
29 <Property Id="$(var.Prefix)ComPlusUninstallPrepare$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
30 <Property Id="$(var.Prefix)ComPlusRollbackUninstallPrepare$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
31 <Property Id="$(var.Prefix)ComPlusUninstallExecute$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
32 <Property Id="$(var.Prefix)ComPlusRollbackUninstallExecute$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
33 <Property Id="$(var.Prefix)ComPlusUninstallCommit$(var.Suffix)" Hidden="yes" SuppressModularization="yes" />
34
35 <InstallExecuteSequence>
36 <Custom Action="$(var.Prefix)ConfigureComPlusUninstall$(var.Suffix)" After="DeleteServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
37 <Custom Action="$(var.Prefix)ConfigureComPlusInstall$(var.Suffix)" Before="InstallServices" Overridable="yes" Condition="VersionNT &gt;= 500" />
38 </InstallExecuteSequence>
39 </Fragment>
40
41 <Fragment>
42 <Binary Id="$(var.Prefix)cpca$(var.Suffix)" SourceFile="!(bindpath.$(var.platform))complusca.dll" />
43 </Fragment>
44</Include>
diff --git a/src/ext/ComPlus/wixlib/ComPlusExtension_arm64.wxs b/src/ext/ComPlus/wixlib/ComPlusExtension_arm64.wxs
new file mode 100644
index 00000000..cb40cd85
--- /dev/null
+++ b/src/ext/ComPlus/wixlib/ComPlusExtension_arm64.wxs
@@ -0,0 +1,7 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2
3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=arm64 ?>
6 <?include ComPlusExtension_Platform.wxi ?>
7</Wix>
diff --git a/src/ext/ComPlus/wixlib/ComPlusExtension_x64.wxs b/src/ext/ComPlus/wixlib/ComPlusExtension_x64.wxs
new file mode 100644
index 00000000..67d70d12
--- /dev/null
+++ b/src/ext/ComPlus/wixlib/ComPlusExtension_x64.wxs
@@ -0,0 +1,7 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2
3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x64 ?>
6 <?include ComPlusExtension_Platform.wxi ?>
7</Wix>
diff --git a/src/ext/ComPlus/wixlib/ComPlusExtension_x86.wxs b/src/ext/ComPlus/wixlib/ComPlusExtension_x86.wxs
new file mode 100644
index 00000000..0c2e9cef
--- /dev/null
+++ b/src/ext/ComPlus/wixlib/ComPlusExtension_x86.wxs
@@ -0,0 +1,7 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2
3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <?define platform=x86 ?>
6 <?include ComPlusExtension_Platform.wxi ?>
7</Wix>
diff --git a/src/ext/ComPlus/wixlib/complus.wixproj b/src/ext/ComPlus/wixlib/complus.wixproj
index f0eaebee..9a70c17a 100644
--- a/src/ext/ComPlus/wixlib/complus.wixproj
+++ b/src/ext/ComPlus/wixlib/complus.wixproj
@@ -11,11 +11,13 @@
11 <ItemGroup> 11 <ItemGroup>
12 <BindInputPaths Include="$(OutputPath)x86" BindName='x86' /> 12 <BindInputPaths Include="$(OutputPath)x86" BindName='x86' />
13 <BindInputPaths Include="$(OutputPath)x64" BindName='x64' /> 13 <BindInputPaths Include="$(OutputPath)x64" BindName='x64' />
14 <BindInputPaths Include="$(OutputPath)arm64" BindName='arm64' />
14 </ItemGroup> 15 </ItemGroup>
15 16
16 <ItemGroup> 17 <ItemGroup>
17 <ProjectReference Include="..\ca\complusca.vcxproj" Properties="Platform=x86" ReferenceOutputAssembly="false" /> 18 <ProjectReference Include="..\ca\complusca.vcxproj" Properties="Platform=x86" />
18 <ProjectReference Include="..\ca\complusca.vcxproj" Properties="Platform=x64" ReferenceOutputAssembly="false" /> 19 <ProjectReference Include="..\ca\complusca.vcxproj" Properties="Platform=x64" />
20 <ProjectReference Include="..\ca\complusca.vcxproj" Properties="Platform=ARM64" />
19 </ItemGroup> 21 </ItemGroup>
20 22
21 <ItemGroup> 23 <ItemGroup>