From f3138abed03b734f76fd0788f671e7da55483299 Mon Sep 17 00:00:00 2001
From: Bob Arnson <bob@firegiant.com>
Date: Sun, 20 Sep 2020 17:06:11 -0400
Subject: Remove 32-bit ARM support.

---
 src/ca/iisca.vcxproj                 |  8 ----
 src/wixext/IIsCompiler.cs            |  6 +--
 src/wixlib/IIsExtension.wxs          | 77 ++++++++++++++++++------------------
 src/wixlib/IIsExtension_Platform.wxi | 42 ++++++++++----------
 src/wixlib/IIsExtension_arm.wxs      |  8 ----
 src/wixlib/IIsExtension_arm64.wxs    |  3 +-
 src/wixlib/IIsExtension_x64.wxs      |  3 +-
 src/wixlib/IIsExtension_x86.wxs      |  3 +-
 src/wixlib/caDecor.wxi               | 21 +++++-----
 src/wixlib/caerr.wxi                 |  2 +-
 src/wixlib/de-de.wxl                 |  3 +-
 src/wixlib/en-us.wxl                 |  3 +-
 src/wixlib/iis.wixproj               |  7 +++-
 src/wixlib/ja-jp.wxl                 |  3 +-
 src/wixlib/pt-br.wxl                 |  3 +-
 15 files changed, 86 insertions(+), 106 deletions(-)
 delete mode 100644 src/wixlib/IIsExtension_arm.wxs

(limited to 'src')

diff --git a/src/ca/iisca.vcxproj b/src/ca/iisca.vcxproj
index 250482e0..eb1174be 100644
--- a/src/ca/iisca.vcxproj
+++ b/src/ca/iisca.vcxproj
@@ -21,14 +21,6 @@
       <Configuration>Release</Configuration>
       <Platform>x64</Platform>
     </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|ARM">
-      <Configuration>Debug</Configuration>
-      <Platform>ARM</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|ARM">
-      <Configuration>Release</Configuration>
-      <Platform>ARM</Platform>
-    </ProjectConfiguration>
     <ProjectConfiguration Include="Debug|ARM64">
       <Configuration>Debug</Configuration>
       <Platform>ARM64</Platform>
diff --git a/src/wixext/IIsCompiler.cs b/src/wixext/IIsCompiler.cs
index c7957f9d..f6b4c78c 100644
--- a/src/wixext/IIsCompiler.cs
+++ b/src/wixext/IIsCompiler.cs
@@ -288,8 +288,8 @@ namespace WixToolset.Iis
             this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
 
             // Reference InstallCertificates and UninstallCertificates since nothing will happen without them
-            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallCertificates", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64);
-            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallCertificates", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64);
+            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "InstallCertificates", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
+            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "UninstallCertificates", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
             this.ParseHelper.EnsureTable(section, sourceLineNumbers, IisTableDefinitions.CertificateHash); // Certificate CustomActions require the CertificateHash table
 
             if (!this.Messaging.EncounteredError)
@@ -2604,7 +2604,7 @@ namespace WixToolset.Iis
 
         private void AddReferenceToConfigureIIs(IntermediateSection section, SourceLineNumber sourceLineNumbers)
         {
-            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureIIs", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64);
+            this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "ConfigureIIs", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM64);
         }
     }
 }
diff --git a/src/wixlib/IIsExtension.wxs b/src/wixlib/IIsExtension.wxs
index 92d91533..18fc34ff 100644
--- a/src/wixlib/IIsExtension.wxs
+++ b/src/wixlib/IIsExtension.wxs
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
@@ -17,43 +16,43 @@
 
     <Fragment>
       <UI Id="WixIIsErrors">
-        <Error Id="$(var.msierrIISCannotConnect)">!(loc.msierrIISCannotConnect)</Error>
-        <Error Id="$(var.msierrIISFailedReadWebSite)">!(loc.msierrIISFailedReadWebSite)</Error>
-        <Error Id="$(var.msierrIISFailedReadWebDirs)">!(loc.msierrIISFailedReadWebDirs)</Error>
-        <Error Id="$(var.msierrIISFailedReadVDirs)">!(loc.msierrIISFailedReadVDirs)</Error>
-        <Error Id="$(var.msierrIISFailedReadFilters)">!(loc.msierrIISFailedReadFilters)</Error>
-        <Error Id="$(var.msierrIISFailedReadMimeMap)">!(loc.msierrIISFailedReadMimeMap)</Error>
-        <Error Id="$(var.msierrIISFailedReadAppPool)">!(loc.msierrIISFailedReadAppPool)</Error>
-        <Error Id="$(var.msierrIISFailedReadProp)">!(loc.msierrIISFailedReadProp)</Error>
-        <Error Id="$(var.msierrIISFailedReadWebSvcExt)">!(loc.msierrIISFailedReadWebSvcExt)</Error>
-        <Error Id="$(var.msierrIISFailedReadWebError)">!(loc.msierrIISFailedReadWebError)</Error>
-        <Error Id="$(var.msierrIISFailedReadHttpHeader)">!(loc.msierrIISFailedReadHttpHeader)</Error>
-
-        <Error Id="$(var.msierrIISFailedSchedTransaction)">!(loc.msierrIISFailedSchedTransaction)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallWebs)">!(loc.msierrIISFailedSchedInstallWebs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallWebDirs)">!(loc.msierrIISFailedSchedInstallWebDirs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallVDirs)">!(loc.msierrIISFailedSchedInstallVDirs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallFilters)">!(loc.msierrIISFailedSchedInstallFilters)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallAppPool)">!(loc.msierrIISFailedSchedInstallAppPool)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallProp)">!(loc.msierrIISFailedSchedInstallProp)</Error>
-        <Error Id="$(var.msierrIISFailedSchedInstallWebSvcExt)">!(loc.msierrIISFailedSchedInstallWebSvcExt)</Error>
-
-        <Error Id="$(var.msierrIISFailedSchedUninstallWebs)">!(loc.msierrIISFailedSchedUninstallWebs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallWebDirs)">!(loc.msierrIISFailedSchedUninstallWebDirs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallVDirs)">!(loc.msierrIISFailedSchedUninstallVDirs)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallFilters)">!(loc.msierrIISFailedSchedUninstallFilters)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallAppPool)">!(loc.msierrIISFailedSchedUninstallAppPool)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallProp)">!(loc.msierrIISFailedSchedUninstallProp)</Error>
-        <Error Id="$(var.msierrIISFailedSchedUninstallWebSvcExt)">!(loc.msierrIISFailedSchedUninstallWebSvcExt)</Error>
-
-        <Error Id="$(var.msierrIISFailedStartTransaction)">!(loc.msierrIISFailedStartTransaction)</Error>
-        <Error Id="$(var.msierrIISFailedOpenKey)">!(loc.msierrIISFailedOpenKey)</Error>
-        <Error Id="$(var.msierrIISFailedCreateKey)">!(loc.msierrIISFailedCreateKey)</Error>
-        <Error Id="$(var.msierrIISFailedWriteData)">!(loc.msierrIISFailedWriteData)</Error>
-        <Error Id="$(var.msierrIISFailedCreateApp)">!(loc.msierrIISFailedCreateApp)</Error>
-        <Error Id="$(var.msierrIISFailedDeleteKey)">!(loc.msierrIISFailedDeleteKey)</Error>
-        <Error Id="$(var.msierrIISFailedDeleteValue)">!(loc.msierrIISFailedDeleteValue)</Error>
-        <Error Id="$(var.msierrIISFailedCommitInUse)">!(loc.msierrIISFailedCommitInUse)</Error>
+        <Error Id="$(var.msierrIISCannotConnect)" Message="!(loc.msierrIISCannotConnect)" />
+        <Error Id="$(var.msierrIISFailedReadWebSite)" Message="!(loc.msierrIISFailedReadWebSite)" />
+        <Error Id="$(var.msierrIISFailedReadWebDirs)" Message="!(loc.msierrIISFailedReadWebDirs)" />
+        <Error Id="$(var.msierrIISFailedReadVDirs)" Message="!(loc.msierrIISFailedReadVDirs)" />
+        <Error Id="$(var.msierrIISFailedReadFilters)" Message="!(loc.msierrIISFailedReadFilters)" />
+        <Error Id="$(var.msierrIISFailedReadMimeMap)" Message="!(loc.msierrIISFailedReadMimeMap)" />
+        <Error Id="$(var.msierrIISFailedReadAppPool)" Message="!(loc.msierrIISFailedReadAppPool)" />
+        <Error Id="$(var.msierrIISFailedReadProp)" Message="!(loc.msierrIISFailedReadProp)" />
+        <Error Id="$(var.msierrIISFailedReadWebSvcExt)" Message="!(loc.msierrIISFailedReadWebSvcExt)" />
+        <Error Id="$(var.msierrIISFailedReadWebError)" Message="!(loc.msierrIISFailedReadWebError)" />
+        <Error Id="$(var.msierrIISFailedReadHttpHeader)" Message="!(loc.msierrIISFailedReadHttpHeader)" />
+
+        <Error Id="$(var.msierrIISFailedSchedTransaction)" Message="!(loc.msierrIISFailedSchedTransaction)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallWebs)" Message="!(loc.msierrIISFailedSchedInstallWebs)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallWebDirs)" Message="!(loc.msierrIISFailedSchedInstallWebDirs)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallVDirs)" Message="!(loc.msierrIISFailedSchedInstallVDirs)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallFilters)" Message="!(loc.msierrIISFailedSchedInstallFilters)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallAppPool)" Message="!(loc.msierrIISFailedSchedInstallAppPool)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallProp)" Message="!(loc.msierrIISFailedSchedInstallProp)" />
+        <Error Id="$(var.msierrIISFailedSchedInstallWebSvcExt)" Message="!(loc.msierrIISFailedSchedInstallWebSvcExt)" />
+
+        <Error Id="$(var.msierrIISFailedSchedUninstallWebs)" Message="!(loc.msierrIISFailedSchedUninstallWebs)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallWebDirs)" Message="!(loc.msierrIISFailedSchedUninstallWebDirs)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallVDirs)" Message="!(loc.msierrIISFailedSchedUninstallVDirs)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallFilters)" Message="!(loc.msierrIISFailedSchedUninstallFilters)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallAppPool)" Message="!(loc.msierrIISFailedSchedUninstallAppPool)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallProp)" Message="!(loc.msierrIISFailedSchedUninstallProp)" />
+        <Error Id="$(var.msierrIISFailedSchedUninstallWebSvcExt)" Message="!(loc.msierrIISFailedSchedUninstallWebSvcExt)" />
+
+        <Error Id="$(var.msierrIISFailedStartTransaction)" Message="!(loc.msierrIISFailedStartTransaction)" />
+        <Error Id="$(var.msierrIISFailedOpenKey)" Message="!(loc.msierrIISFailedOpenKey)" />
+        <Error Id="$(var.msierrIISFailedCreateKey)" Message="!(loc.msierrIISFailedCreateKey)" />
+        <Error Id="$(var.msierrIISFailedWriteData)" Message="!(loc.msierrIISFailedWriteData)" />
+        <Error Id="$(var.msierrIISFailedCreateApp)" Message="!(loc.msierrIISFailedCreateApp)" />
+        <Error Id="$(var.msierrIISFailedDeleteKey)" Message="!(loc.msierrIISFailedDeleteKey)" />
+        <Error Id="$(var.msierrIISFailedDeleteValue)" Message="!(loc.msierrIISFailedDeleteValue)" />
+        <Error Id="$(var.msierrIISFailedCommitInUse)" Message="!(loc.msierrIISFailedCommitInUse)" />
       </UI>
     </Fragment>
 </Wix>
diff --git a/src/wixlib/IIsExtension_Platform.wxi b/src/wixlib/IIsExtension_Platform.wxi
index e49dc364..09562a69 100644
--- a/src/wixlib/IIsExtension_Platform.wxi
+++ b/src/wixlib/IIsExtension_Platform.wxi
@@ -21,18 +21,18 @@
       <ProgressText Action="$(var.Prefix)WriteIIS7ConfigChanges$(var.Suffix)" Message="!(loc.WriteIIS7ConfigChanges)" />
     </UI>
 
-    <CustomAction Id="$(var.Prefix)ConfigureIIs$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="ConfigureIIs" Execute="immediate" Return="check" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)ConfigureIIsExec$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="ConfigureIIsExec" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)StartMetabaseTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="StartMetabaseTransaction" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)RollbackMetabaseTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="RollbackMetabaseTransaction" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)CommitMetabaseTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="CommitMetabaseTransaction" Impersonate="no" Execute="commit" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)WriteMetabaseChanges$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="WriteMetabaseChanges" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
+    <CustomAction Id="$(var.Prefix)ConfigureIIs$(var.Suffix)" DllEntry="ConfigureIIs" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)ConfigureIIsExec$(var.Suffix)" DllEntry="ConfigureIIsExec" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)StartMetabaseTransaction$(var.Suffix)" DllEntry="StartMetabaseTransaction" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)RollbackMetabaseTransaction$(var.Suffix)" DllEntry="RollbackMetabaseTransaction" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)CommitMetabaseTransaction$(var.Suffix)" DllEntry="CommitMetabaseTransaction" Impersonate="no" Execute="commit" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)WriteMetabaseChanges$(var.Suffix)" DllEntry="WriteMetabaseChanges" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
 
-    <CustomAction Id="$(var.Prefix)ConfigureIIs7Exec$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="ConfigureIIs7Exec" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)StartIIS7ConfigTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="StartIIS7ConfigTransaction" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)RollbackIIS7ConfigTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="RollbackIIS7ConfigTransaction" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)CommitIIS7ConfigTransaction$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="CommitIIS7ConfigTransaction" Impersonate="no" Execute="commit" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)WriteIIS7ConfigChanges$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="WriteIIS7ConfigChanges" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
+    <CustomAction Id="$(var.Prefix)ConfigureIIs7Exec$(var.Suffix)" DllEntry="ConfigureIIs7Exec" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)StartIIS7ConfigTransaction$(var.Suffix)" DllEntry="StartIIS7ConfigTransaction" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)RollbackIIS7ConfigTransaction$(var.Suffix)" DllEntry="RollbackIIS7ConfigTransaction" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)CommitIIS7ConfigTransaction$(var.Suffix)" DllEntry="CommitIIS7ConfigTransaction" Impersonate="no" Execute="commit" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)WriteIIS7ConfigChanges$(var.Suffix)" DllEntry="WriteIIS7ConfigChanges" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
 
     <InstallExecuteSequence>
       <Custom Action="$(var.Prefix)ConfigureIIs$(var.Suffix)" Before="RegisterUser" Overridable="yes" Condition="NOT SKIPCONFIGUREIIS AND VersionNT &gt; 400" />
@@ -44,18 +44,18 @@
   </Fragment>
 
   <Fragment>
-    <CustomAction Id="$(var.Prefix)InstallCertificates$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="InstallCertificates" Execute="immediate" Return="check" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)UninstallCertificates$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="UninstallCertificates" Execute="immediate" Return="check" SuppressModularization="yes" />
+    <CustomAction Id="$(var.Prefix)InstallCertificates$(var.Suffix)" DllEntry="InstallCertificates" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)UninstallCertificates$(var.Suffix)" DllEntry="UninstallCertificates" Execute="immediate" Return="check" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
 
-    <CustomAction Id="$(var.Prefix)AddUserCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="AddUserCertificate" Impersonate="yes" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" />
-    <CustomAction Id="$(var.Prefix)AddMachineCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="AddMachineCertificate" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)DeleteUserCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="DeleteUserCertificate" Impersonate="yes" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" />
-    <CustomAction Id="$(var.Prefix)DeleteMachineCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="DeleteMachineCertificate" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" />
+    <CustomAction Id="$(var.Prefix)AddUserCertificate$(var.Suffix)" DllEntry="AddUserCertificate" Impersonate="yes" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)AddMachineCertificate$(var.Suffix)" DllEntry="AddMachineCertificate" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)DeleteUserCertificate$(var.Suffix)" DllEntry="DeleteUserCertificate" Impersonate="yes" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)DeleteMachineCertificate$(var.Suffix)" DllEntry="DeleteMachineCertificate" Impersonate="no" Execute="deferred" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
 
-    <CustomAction Id="$(var.Prefix)RollbackAddUserCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="DeleteUserCertificate" Impersonate="yes" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" />
-    <CustomAction Id="$(var.Prefix)RollbackAddMachineCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="DeleteMachineCertificate" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
-    <CustomAction Id="$(var.Prefix)RollbackDeleteUserCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="AddUserCertificate" Impersonate="yes" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" />
-    <CustomAction Id="$(var.Prefix)RollbackDeleteMachineCertificate$(var.Suffix)" BinaryKey="IisCA$(var.Suffix)" DllEntry="AddMachineCertificate" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" />
+    <CustomAction Id="$(var.Prefix)RollbackAddUserCertificate$(var.Suffix)" DllEntry="DeleteUserCertificate" Impersonate="yes" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)RollbackAddMachineCertificate$(var.Suffix)" DllEntry="DeleteMachineCertificate" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)RollbackDeleteUserCertificate$(var.Suffix)" DllEntry="AddUserCertificate" Impersonate="yes" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" TerminalServerAware="yes" BinaryRef="IisCA$(var.Suffix)" />
+    <CustomAction Id="$(var.Prefix)RollbackDeleteMachineCertificate$(var.Suffix)" DllEntry="AddMachineCertificate" Impersonate="no" Execute="rollback" Return="check" HideTarget="yes" SuppressModularization="yes" BinaryRef="IisCA$(var.Suffix)" />
 
     <InstallExecuteSequence>
       <Custom Action="UninstallCertificates$(var.Suffix)" Before="RemoveFiles" Overridable="yes" Condition="VersionNT &gt; 400" />
diff --git a/src/wixlib/IIsExtension_arm.wxs b/src/wixlib/IIsExtension_arm.wxs
deleted file mode 100644
index fff4e48e..00000000
--- a/src/wixlib/IIsExtension_arm.wxs
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- 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. -->
-
-
-<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
-    <?define platform=arm ?>
-    <?include IIsExtension_Platform.wxi ?>
-</Wix>
diff --git a/src/wixlib/IIsExtension_arm64.wxs b/src/wixlib/IIsExtension_arm64.wxs
index 62ce8053..39ac048f 100644
--- a/src/wixlib/IIsExtension_arm64.wxs
+++ b/src/wixlib/IIsExtension_arm64.wxs
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/IIsExtension_x64.wxs b/src/wixlib/IIsExtension_x64.wxs
index 26ef8625..553953b3 100644
--- a/src/wixlib/IIsExtension_x64.wxs
+++ b/src/wixlib/IIsExtension_x64.wxs
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/IIsExtension_x86.wxs b/src/wixlib/IIsExtension_x86.wxs
index 93a3956f..c99a243b 100644
--- a/src/wixlib/IIsExtension_x86.wxs
+++ b/src/wixlib/IIsExtension_x86.wxs
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/caDecor.wxi b/src/wixlib/caDecor.wxi
index 1d00df8f..b1711518 100644
--- a/src/wixlib/caDecor.wxi
+++ b/src/wixlib/caDecor.wxi
@@ -1,40 +1,39 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
-<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
+<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
     <?ifdef Prefix ?>
         <?undef Prefix ?>
-    <?endif ?>
+    <?endif?>
 
     <?define Prefix="Wix4" ?>
 
     <?ifndef platform ?>
         <?define platform="x86" ?>
-    <?endif ?>
+    <?endif?>
 
     <?if $(var.platform)="" ?>
         <?undef platform ?>
         <?define platform="x86" ?>
-    <?endif ?>
+    <?endif?>
 
     <?ifdef Suffix ?>
         <?undef Suffix ?>
-    <?endif ?>
+    <?endif?>
 
     <?if $(var.platform)~="x86" ?>
         <?define Suffix="_X86" ?>
-    <?endif ?>
+    <?endif?>
 
     <?if $(var.platform)~="x64" ?>
         <?define Suffix="_X64" ?>
-    <?endif ?>
+    <?endif?>
 
     <?if $(var.platform)~="arm" ?>
         <?define Suffix="_A32" ?>
-    <?endif ?>
+    <?endif?>
 
     <?if $(var.platform)~="arm64" ?>
         <?define Suffix="_A64" ?>
-    <?endif ?>
+    <?endif?>
 </Include>
diff --git a/src/wixlib/caerr.wxi b/src/wixlib/caerr.wxi
index 141942f2..ff7ec121 100644
--- a/src/wixlib/caerr.wxi
+++ b/src/wixlib/caerr.wxi
@@ -1,4 +1,4 @@
-<Include>
+<Include xmlns="http://wixtoolset.org/schemas/v4/wxs">
   <?define msierrSecureObjectsFailedCreateSD = 25520?>
   <?define msierrSecureObjectsFailedSet = 25521?>
   <?define msierrSecureObjectsUnknownType = 25522?>
diff --git a/src/wixlib/de-de.wxl b/src/wixlib/de-de.wxl
index 826f5160..5929f258 100644
--- a/src/wixlib/de-de.wxl
+++ b/src/wixlib/de-de.wxl
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <WixLocalization Culture="de-de" xmlns="http://wixtoolset.org/schemas/v4/wxl">
diff --git a/src/wixlib/en-us.wxl b/src/wixlib/en-us.wxl
index 5b26f72f..44949095 100644
--- a/src/wixlib/en-us.wxl
+++ b/src/wixlib/en-us.wxl
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl">
diff --git a/src/wixlib/iis.wixproj b/src/wixlib/iis.wixproj
index 689b3508..89f9608f 100644
--- a/src/wixlib/iis.wixproj
+++ b/src/wixlib/iis.wixproj
@@ -8,7 +8,12 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\ca\iisca.vcxproj" Properties="Platform=ARM" />
+    <BindInputPaths Include="$(OutputPath)x86" BindName='x86' />
+    <BindInputPaths Include="$(OutputPath)x64" BindName='x64' />
+    <BindInputPaths Include="$(OutputPath)arm64" BindName='arm64' />
+  </ItemGroup>
+
+  <ItemGroup>
     <ProjectReference Include="..\ca\iisca.vcxproj" Properties="Platform=ARM64" />
     <ProjectReference Include="..\ca\iisca.vcxproj" Properties="Platform=x86" />
     <ProjectReference Include="..\ca\iisca.vcxproj" Properties="Platform=x64" />
diff --git a/src/wixlib/ja-jp.wxl b/src/wixlib/ja-jp.wxl
index eef25ec6..7fd6978a 100644
--- a/src/wixlib/ja-jp.wxl
+++ b/src/wixlib/ja-jp.wxl
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <WixLocalization Culture="ja-jp" xmlns="http://wixtoolset.org/schemas/v4/wxl">
diff --git a/src/wixlib/pt-br.wxl b/src/wixlib/pt-br.wxl
index 99c705c9..1fc0d768 100644
--- a/src/wixlib/pt-br.wxl
+++ b/src/wixlib/pt-br.wxl
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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. -->
+<!-- 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. -->
 
 
 <WixLocalization Culture="pt-br" xmlns="http://wixtoolset.org/schemas/v4/wxl">
-- 
cgit v1.2.3-55-g6feb