spiegel-keyman/windows/src/engine/inst/components.wxs
rc-swag 330f2b8163 feat(windows): no arm binaries on x64 machine
kmtiparm64x.dll was correctly not installed on x86-x64 machines
however keymanarm64.dll and keymanhp.arm64.exe were still being
installed. It will be cleaner if we don't install them.
2025-12-15 15:18:39 +10:00

279 lines
24 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
<ComponentGroup Id="KeymanEngineComponents" Directory="INSTALLDIR" Source="..\..\..\bin\engine\">
<Component Id="kmcomapi.dll" Guid="{6272B8A9-B41E-49B1-A65B-23BCFDB42167}" SharedDllRefCount="yes">
<File Id="kmcomapi.dll" Name="kmcomapi.dll" KeyPath="yes" >
<TypeLib Id="{F16E2A9A-DA46-4EA3-BFF3-BA46B480C961}" Description="Keyman API Library" Language="0" MajorVersion="1" MinorVersion="5">
<Class Id="{CF46549D-4D2D-4679-A2E1-23A815F172F8}" Context="InprocServer32" Description="Keyman Object" ThreadingModel="apartment" Version="$(var.RELEASE)">
<ProgId Id="keymanapi.Keyman" Description="Keyman Object" />
</Class>
<Interface Id="{4DE644EB-F254-4522-AF44-0966CD4AE9F4}" Name="IKeymanObject" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{6B363F95-6459-404A-BB5E-F06AFB986BAA}" Name="IKeyman" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{A2FB4733-30DE-4C7C-8ED5-F6CAFA09BB2F}" Name="IKeymanCollection" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{6A05CFDD-2B7E-4CA5-BAE6-3D5DE193E9CB}" Name="IKeymanErrors" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5CB5DFC0-05EF-48F0-8249-7BC01AF404FF}" Name="IKeymanHotkeys" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F5CFFF42-4294-44C7-8F97-67EB2E83BB1F}" Name="IKeymanKeyboardLanguages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{29D0C83A-DBCE-4C54-80F0-B45ABF9FAB49}" Name="IKeymanKeyboardOptions" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{4EF1F073-61C2-4579-AE34-058F17E56414}" Name="IKeymanKeyboards" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{61406197-399A-41C3-9A1A-158327523FB0}" Name="IKeymanKeyboardsInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{3BCF539D-3E94-4271-A7F9-ACAF4D05C0B1}" Name="IKeymanPackageContentKeyboards" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{53B3076E-86BE-4538-B3AB-5E36DDBD3A6E}" Name="IKeymanLanguages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F3EEB9F6-947E-4DD7-A6BD-86DA65B02143}" Name="IKeymanOptions" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{522DC05C-2315-4E99-B66C-468B7264A40B}" Name="IKeymanPackageContentFiles" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{C27A1117-C075-4B1E-975F-4A44A757B0F1}" Name="IKeymanPackageContentFonts" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5873E62C-A9F4-48FD-8539-C4E8D2578767}" Name="IKeymanPackages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8A38B1C3-CB4D-4CCF-87B7-0F2A16076D99}" Name="IKeymanPackagesInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{4B00DCE2-9DEF-41ED-8254-409DE8746CFF}" Name="IKeymanControl" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{1B9B7E43-189F-4852-A84F-E57D4A8C7243}" Name="IKeymanError" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F470447C-2A4D-492C-9A94-91388E648544}" Name="IKeymanHotkey" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8275AA21-9345-451D-8F73-17B6CB10874C}" Name="IKeymanKeyboard" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{80959B80-C7A9-4EB1-AB46-3762F8E5315B}" Name="IKeymanKeyboardFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{DF01AA44-06FC-46AC-A6E9-31102C30F5CA}" Name="IKeymanKeyboardInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{2162FBDF-A165-4460-B99A-BF1FA3C96B76}" Name="IKeymanKeyboardLanguageInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{E0E3821D-08D7-4699-B453-EA4FDADE9B9B}" Name="IKeymanKeyboardOption" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5C6551E6-FCC8-4D7F-96E4-DAB27251186C}" Name="IKeymanLanguage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{59FB7DCC-BB22-4BDF-B6A8-90BE67D629C8}" Name="IKeymanOption" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{FE0DFF5D-56E2-4B8F-988C-8EDCF8F8E6F1}" Name="IKeymanPackage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{9B67EB6C-5288-4E28-943C-F2981208D64A}" Name="IKeymanPackageFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{7062A9DB-CC9C-49CF-AC03-D384C7C1527D}" Name="IKeymanPackageInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{FCB845CD-BAD7-4C9F-8A7F-5F6389268A1E}" Name="IKeymanPackageContentFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{79A41E0F-6177-434C-A20B-F1F61B7E87F5}" Name="IKeymanPackageContentFont" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{60AC9C46-167A-41A4-AD27-F2980C82C204}" Name="IKeymanSystemInfo" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{774793A4-259E-47F1-9D71-F83DC6C0A159}" Name="IKeymanUserInterface" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{CCA8112B-D72E-49FE-AC2C-CB18DC0D3EC7}" Name="IKeymanVisualKeyboard" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8D0B3363-E537-437D-AD89-A0B5103F5F64}" Name="IKeymanKeyboardLanguage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{7DC22BC0-85BB-45C0-8EDB-A2F4BD1D500B}" Name="IKeymanKeyboardLanguagesInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5F90BCDA-F1C1-433A-8FD0-B498299D3C30}" Name="IKeymanKeyboardLanguagesFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
</TypeLib>
</File>
</Component>
<Component Id="kmcomapi.x64.dll" Guid="{8AE57882-9901-4E53-B6B1-F78DD7707050}" SharedDllRefCount="yes" Win64="yes">
<Condition>VersionNT64</Condition>
<File Id="kmcomapi.x64.dll" Name="kmcomapi.x64.dll" KeyPath="yes">
<TypeLib Id="{F16E2A9A-DA46-4EA3-BFF3-BA46B480C961}" Description="Keyman API Library (64-bit)" Language="0" MajorVersion="1" MinorVersion="5">
<Class Id="{CF46549D-4D2D-4679-A2E1-23A815F172F8}" Context="InprocServer32" Description="Keyman Object" ThreadingModel="apartment" Version="$(var.RELEASE)">
<ProgId Id="keymanapi.Keyman" Description="Keyman Object" />
</Class>
<Interface Id="{4DE644EB-F254-4522-AF44-0966CD4AE9F4}" Name="IKeymanObject" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{6B363F95-6459-404A-BB5E-F06AFB986BAA}" Name="IKeyman" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{A2FB4733-30DE-4C7C-8ED5-F6CAFA09BB2F}" Name="IKeymanCollection" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{6A05CFDD-2B7E-4CA5-BAE6-3D5DE193E9CB}" Name="IKeymanErrors" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5CB5DFC0-05EF-48F0-8249-7BC01AF404FF}" Name="IKeymanHotkeys" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F5CFFF42-4294-44C7-8F97-67EB2E83BB1F}" Name="IKeymanKeyboardLanguages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{29D0C83A-DBCE-4C54-80F0-B45ABF9FAB49}" Name="IKeymanKeyboardOptions" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{4EF1F073-61C2-4579-AE34-058F17E56414}" Name="IKeymanKeyboards" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{61406197-399A-41C3-9A1A-158327523FB0}" Name="IKeymanKeyboardsInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{3BCF539D-3E94-4271-A7F9-ACAF4D05C0B1}" Name="IKeymanPackageContentKeyboards" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{53B3076E-86BE-4538-B3AB-5E36DDBD3A6E}" Name="IKeymanLanguages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F3EEB9F6-947E-4DD7-A6BD-86DA65B02143}" Name="IKeymanOptions" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{522DC05C-2315-4E99-B66C-468B7264A40B}" Name="IKeymanPackageContentFiles" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{C27A1117-C075-4B1E-975F-4A44A757B0F1}" Name="IKeymanPackageContentFonts" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5873E62C-A9F4-48FD-8539-C4E8D2578767}" Name="IKeymanPackages" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8A38B1C3-CB4D-4CCF-87B7-0F2A16076D99}" Name="IKeymanPackagesInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{4B00DCE2-9DEF-41ED-8254-409DE8746CFF}" Name="IKeymanControl" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{1B9B7E43-189F-4852-A84F-E57D4A8C7243}" Name="IKeymanError" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{F470447C-2A4D-492C-9A94-91388E648544}" Name="IKeymanHotkey" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8275AA21-9345-451D-8F73-17B6CB10874C}" Name="IKeymanKeyboard" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{80959B80-C7A9-4EB1-AB46-3762F8E5315B}" Name="IKeymanKeyboardFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{DF01AA44-06FC-46AC-A6E9-31102C30F5CA}" Name="IKeymanKeyboardInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{2162FBDF-A165-4460-B99A-BF1FA3C96B76}" Name="IKeymanKeyboardLanguageInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{E0E3821D-08D7-4699-B453-EA4FDADE9B9B}" Name="IKeymanKeyboardOption" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5C6551E6-FCC8-4D7F-96E4-DAB27251186C}" Name="IKeymanLanguage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{59FB7DCC-BB22-4BDF-B6A8-90BE67D629C8}" Name="IKeymanOption" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{FE0DFF5D-56E2-4B8F-988C-8EDCF8F8E6F1}" Name="IKeymanPackage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{9B67EB6C-5288-4E28-943C-F2981208D64A}" Name="IKeymanPackageFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{7062A9DB-CC9C-49CF-AC03-D384C7C1527D}" Name="IKeymanPackageInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{FCB845CD-BAD7-4C9F-8A7F-5F6389268A1E}" Name="IKeymanPackageContentFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{79A41E0F-6177-434C-A20B-F1F61B7E87F5}" Name="IKeymanPackageContentFont" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{60AC9C46-167A-41A4-AD27-F2980C82C204}" Name="IKeymanSystemInfo" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{774793A4-259E-47F1-9D71-F83DC6C0A159}" Name="IKeymanUserInterface" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{CCA8112B-D72E-49FE-AC2C-CB18DC0D3EC7}" Name="IKeymanVisualKeyboard" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{8D0B3363-E537-437D-AD89-A0B5103F5F64}" Name="IKeymanKeyboardLanguage" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{7DC22BC0-85BB-45C0-8EDB-A2F4BD1D500B}" Name="IKeymanKeyboardLanguagesInstalled" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
<Interface Id="{5F90BCDA-F1C1-433A-8FD0-B498299D3C30}" Name="IKeymanKeyboardLanguagesFile" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
</TypeLib>
</File>
</Component>
<Component Guid="{9BBD330E-F0CE-44EB-8799-BF49CB670EFC}" SharedDllRefCount="yes">
<File Id="keyman32.dll" Name="keyman32.dll" KeyPath="yes" />
</Component>
<Component Guid="{1853C94A-0F4C-4D43-AF07-E3F27794FDC9}">
<File Id="keyman.exe" Name="keyman.exe" KeyPath="yes" />
</Component>
<Component Guid="{A7115FEE-A904-4C68-B093-AA5F1EF027B7}">
<!-- #5166: This should *always* be version 2.3 of sentry.dll -->
<File Id="sentry.2.3.dll" KeyPath="yes" Source="..\..\..\..\common\windows\delphi\ext\sentry\2.3\sentry.dll" />
</Component>
<Component Guid="{909DABBB-914F-4ADF-8391-BB293778D70E}">
<!-- #5166: This should *always* be version 2.3 of sentry.x64.dll -->
<File Id="sentry.x64.2.3.dll" KeyPath="yes" Source="..\..\..\..\common\windows\delphi\ext\sentry\2.3\sentry.x64.dll" />
</Component>
<Component Guid="{AF7C9288-7085-4C02-AA79-9DA4F152BDBB}">
<!-- #5166: This should *always* be version 2.3 of crashpad_handler.exe -->
<File Id="crashpad_handler.2.3.exe" KeyPath="yes" Source="..\..\..\..\common\windows\delphi\ext\sentry\2.3\crashpad_handler.exe" />
</Component>
<Component Guid="{B8867245-9570-4B63-B631-00F1474F71D4}">
<File Id="tsysinfo.exe" Name="tsysinfo.exe" KeyPath="yes" />
<RegistryValue Root="HKCR" Key=".tsi" Type="string" Value="Keyman.File.Diagnostics" />
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics" Type="string" Value="Keyman Diagnostics File" />
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell" Type="string" Value="open" />
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell\open" Type="string" Value="&amp;Open" />
<RegistryValue Root="HKCR" Key="Keyman.File.Diagnostics\Shell\open\Command" Type="string" Value='"[#tsysinfo.exe]" "%1"' />
</Component>
<Component Guid="{4210C15D-0121-40BE-9B09-1576C08C4A78}">
<File Id="keyman64.dll" Name="keyman64.dll" KeyPath="yes" Source="..\..\..\bin\engine\keyman64.dll" />
</Component>
<Component Guid="{5D0A2A8F-5C34-4B28-A19E-62A40C7EDC12}">
<!-- 0xAA64 = 43620 = ARM64 -->
<Condition>WIX_NATIVE_MACHINE = 43620</Condition>
<File Id="keymanarm64.dll" Name="keymanarm64.dll" KeyPath="yes" Source="..\..\..\bin\engine\keymanarm64.dll" />
</Component>
<Component Guid="{6B6EF05E-E60A-4902-B5F5-EEB3F8AAB384}">
<File Id="keymanhp.x64.exe" Name="keymanhp.x64.exe" KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.x64.exe" />
</Component>
<Component Guid="{65E99D02-6B68-4840-BEE2-0FADB0ED67A0}">
<!-- 0xAA64 = 43620 = ARM64 -->
<Condition>WIX_NATIVE_MACHINE = 43620</Condition>
<File Id="keymanhp.arm64.exe" Name="keymanhp.arm64.exe" KeyPath="yes" Source="..\..\..\bin\engine\keymanhp.arm64.exe" />
</Component>
<Component Guid="{FB88ED52-C8F9-44F8-91F2-D0E377504C0D}">
<File Id="mcompile.exe" Name='mcompile.exe' KeyPath="yes" Source="..\..\..\bin\engine\mcompile.exe" />
</Component>
<Component Guid="{7D3374DC-7B4E-4593-819E-B212E876BDAF}">
<File Id="keymanmc.dll" Name="keymanmc.dll" KeyPath="yes" Source="..\..\..\bin\engine\keymanmc.dll" />
<util:EventSource
CategoryCount="1"
CategoryMessageFile="[#keymanmc.dll]"
EventMessageFile="[#keymanmc.dll]"
Log="Application"
Name="Keyman"
SupportsInformationals="yes"
SupportsErrors="yes"
SupportsWarnings="yes"
/>
</Component>
<Component Guid="*">
<File Id="kmrefresh.x86.exe" KeyPath="yes" />
</Component>
<Component Guid="*">
<File Id="kmrefresh.x64.exe" KeyPath="yes" />
</Component>
<Component Guid="{FA89BC70-11F3-4DAF-A0B4-6EBA64FC6C5C}" Id="tsysinfo.xslts">
<File Id="base.xslt" Name='base.xslt' Source='..\..\engine\tsysinfo\base.xslt' />
<File Id="si_browsers.xslt" Name='si_browsers.xslt' Source='..\..\engine\tsysinfo\si_browsers.xslt' />
<File Id="si_fonts.xslt" Name='si_fonts.xslt' Source='..\..\engine\tsysinfo\si_fonts.xslt' />
<File Id="si_hookdlls.xslt" Name='si_hookdlls.xslt' Source='..\..\engine\tsysinfo\si_hookdlls.xslt' />
<File Id="si_keyman.xslt" Name='si_keyman.xslt' Source='..\..\engine\tsysinfo\si_keyman.xslt' />
<File Id="si_language.xslt" Name='si_language.xslt' Source='..\..\engine\tsysinfo\si_language.xslt' />
<File Id="si_office.xslt" Name='si_office.xslt' Source='..\..\engine\tsysinfo\si_office.xslt' />
<File Id="si_overview.xslt" Name='si_overview.xslt' Source='..\..\engine\tsysinfo\si_overview.xslt' />
<File Id="si_processes.xslt" Name='si_processes.xslt' Source='..\..\engine\tsysinfo\si_processes.xslt' />
<File Id="si_processes_x64.xslt" Name='si_processes_x64.xslt' Source='..\..\engine\tsysinfo\si_processes_x64.xslt' />
<File Id="si_startup.xslt" Name='si_startup.xslt' Source='..\..\engine\tsysinfo\si_startup.xslt' />
</Component>
<Component Id="kmtip.dll" Guid="{48060517-BD85-494C-B2FF-F9C4FFE1A987}" SharedDllRefCount="yes">
<File Id="kmtip.dll" Name="kmtip.dll" KeyPath="yes" Source="..\..\..\bin\engine\kmtip.dll">
<Class Id="FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7" Context="InprocServer32" ThreadingModel="apartment" Description="Keyman Engine Text Service" />
</File>
<!-- The HKLM\Software\Microsoft\CTF\TIP key is shared with WOW64-so only need to write to the x86 version.
http://msdn.microsoft.com/en-us/library/aa384253%28VS.85%29.aspx
-->
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\CTF\TIP\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}">
<RegistryValue Name="Enable" Type="string" Value="1" />
<RegistryKey Key="Category">
<RegistryKey Key="Category">
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{34745C63-B2F0-4784-8B67-5E12C8701A31}\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}" /><!-- TFCAT_TIP_KEYBOARD -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{364215D9-75BC-11D7-A6EF-00065B84435C}\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}" /><!-- TFCAT_TIPCAP_COMLESS -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{49D2F9CE-1F5E-11D7-A6D3-00065B84435C}\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}" /><!-- TFCAT_TIPCAP_SECUREMODE -->
</RegistryKey>
<RegistryKey Key="Item">
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}\{34745C63-B2F0-4784-8B67-5E12C8701A31}" /><!-- TFCAT_KEYBOARD -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}\{364215D9-75BC-11D7-A6EF-00065B84435C}" /><!-- TFCAT_TIPCAP_COMLESS -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}\{49D2F9CE-1F5E-11D7-A6D3-00065B84435C}" /><!-- TFCAT_TIPCAP_SECUREMODE -->
</RegistryKey>
</RegistryKey>
</RegistryKey>
</Component>
<Component Guid="{238931D6-CC32-4C71-8455-887318F2A963}" Id="kmtip_reg_win8">
<Condition>VersionNT &gt;= 602</Condition>
<RegistryValue KeyPath="yes" Id="registry_win8_keypath" Root="HKLM" Key="Software\Keyman\Keyman Engine" Name="win8 tip install" Value="installed" Type="string" />
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\CTF\TIP\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}">
<RegistryKey Key="Category">
<RegistryKey Key="Category">
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{13A016DF-560B-46CD-947A-4C3AF1E0E35D}\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}" /><!-- TFCAT_TIPCAP_IMMERSIVESUPPORT -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{25504FB4-7BAB-4BC1-9C69-CF81890F0EF5}\{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}" /><!-- TFCAT_TIPCAP_SYSTRAYSUPPORT -->
</RegistryKey>
<RegistryKey Key="Item">
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}\{13A016DF-560B-46CD-947A-4C3AF1E0E35D}" /><!-- TFCAT_TIPCAP_IMMERSIVESUPPORT -->
<RegistryKey ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Key="{FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7}\{25504FB4-7BAB-4BC1-9C69-CF81890F0EF5}" /><!-- TFCAT_TIPCAP_SYSTRAYSUPPORT -->
</RegistryKey>
</RegistryKey>
</RegistryKey>
</Component>
<Component Id="kmtip64.dll" Guid="{7511B389-24C5-4C79-9050-934791014682}" SharedDllRefCount="yes" Win64="yes">
<!-- 0x6664 = 34404 = AMD64 -->
<Condition>WIX_NATIVE_MACHINE = 34404</Condition>
<File Id="kmtip64.dll" Name="kmtip64.dll" KeyPath="yes" Source="..\..\..\bin\engine\kmtip64.dll">
<Class Id="FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7" Context="InprocServer32" ThreadingModel="apartment" Description="Keyman Engine Text Service x64" />
</File>
</Component>
<Component Id="kmtiparm64x.dll" Guid="{BDF0DAFB-09F9-4121-9859-90E847EA75F8}" SharedDllRefCount="yes" Win64="yes">
<!-- 0xAA64 = 43620 = ARM64 -->
<Condition>WIX_NATIVE_MACHINE = 43620</Condition>
<File Id="kmtiparm64x.dll" Name="kmtiparm64x.dll" KeyPath="yes" Source="..\..\..\bin\engine\kmtiparm64x.dll">
<Class Id="FE0420F1-38D1-4B4C-96BF-E7E20A74CFB7" Context="InprocServer32" ThreadingModel="apartment" Description="Keyman Engine Text Service ARM64" />
</File>
</Component>
<Component Id="etw" Guid="{2AA8D519-C9B7-4995-9496-D87DD2EF2B7D}">
<!-- The file id needs to be short to avoid an overflow in the XmlFile table during link time -->
<File Id="etw" Name="keyman-debug-etw.man" KeyPath="yes" Source="..\keyman32\keyman-debug-etw.man">
<util:EventManifest MessageFile="[#keyman32.dll]" ResourceFile="[#keyman32.dll]" />
</File>
</Component>
</ComponentGroup>
<ComponentGroup Id="KeymanEngineSentryComponents" Directory="dir_sentry_0.6.0" Source="..\..\..\bin\engine">
<Component Guid="{95AB1B5C-2556-4282-B327-E2E417B26926}">
<File Id="sentry.dll" Name="sentry.dll" KeyPath="yes" />
</Component>
<Component Guid="{3E5DACB3-055A-41EC-8890-15A30A40548B}">
<File Id="sentry.x64.dll" Name="sentry.x64.dll" KeyPath="yes" />
</Component>
<Component Guid="{AA5AF288-4D67-49F4-A10B-E5725A42599B}">
<File Id="crashpad_handler.exe" Name="crashpad_handler.exe" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>