2016年10月15日

Universal CRT in Wix Bootstrapper (3)

Universal CRT を含めた WiX の Bootstrapperwxs ファイルのサンプルです。

今回は、DownloadUrl 属性を使ってみました。インストール時に自動的にダウンロードされます。

Universal CRT は VC++再配布パッケージに含まれているので、そのサンプルも貼っておきます。

注意点ですが、MsuPackage / ExePackage タグの Name 属性と同じ名前のファイルが ブートストラップの exe と同じディレクトリに存在していると、DownloadUrl 属性の URL からダウンロードされずにローカルのファイルが使われてしまいます。

こんな感じでビルドしてください。

> "%WIX%bin\candle.exe" xxx.wxs -nologo -out "xxx.wixobj" -ext WixBalExtension -ext WixUtilExtension
> "%WIX%bin\light.exe" "xxx.wixobj" -nologo -out "xxx.exe" -ext WixBalExtension -ext WixUtilExtension

【参考】

ExePackage Element
http://wixtoolset.org/documentation/manual/v3/xsd/wix/exepackage.html

MsuPackage Element
http://wixtoolset.org/documentation/manual/v3/xsd/wix/msupackage.html

RemotePayload Element
http://wixtoolset.org/documentation/manual/v3/xsd/wix/remotepayload.html

Download Microsoft Visual C++ 2015 Redistributable Update 3 from Official Microsoft Download Center
https://www.microsoft.com/en-us/download/details.aspx?id=53840

Update for Universal C Runtime in Windows
https://support.microsoft.com/en-us/kb/2999226



<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle
Name="Example Product"
Version="1.2.3.4"
Manufacturer="John Doe"
Copyright="© 2021 John Doe"
AboutUrl="https://example.com/"
UpgradeCode="01234567-89AB-CDEF-0123-456789ABCDEF"
Condition="VersionNT >= v6.0">
<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="license.rtf"
ShowVersion="yes"
SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>
<!-- v6.0 Service Pack 2 -->
<bal:Condition Message="This application requires Service Pack 2 for Windows Vista / Server 2008.">
<![CDATA[NOT ((VersionNT = v6.0) AND (ServicePackLevel < 2))]]>
</bal:Condition>
<!-- v6.1 Service Pack 1 -->
<bal:Condition Message="This application requires Service Pack 1 for Windows 7 / Server 2008 R2.">
<![CDATA[NOT ((VersionNT = v6.1) AND (ServicePackLevel < 1))]]>
</bal:Condition>
<!-- v6.3 KB2919355 -->
<util:FileSearch
Id="HAL.DLL"
Path="[WindowsFolder]System32\hal.dll"
Result="version"
Variable="NT603HALVER"
Condition="VersionNT = v6.3" />
<bal:Condition Message="This application requires S14 Update (KB2919355) for Windows 8.1 / Server 2012 R2.">
<![CDATA[NOT ((VersionNT = v6.3) AND (NT603HALVER < v6.3.9600.17031))]]>
</bal:Condition>
<!-- ucrtbase.dll version -->
<util:FileSearch
Id="UCRTBASE.DLL"
Path="[WindowsFolder]System32\ucrtbase.dll"
Result="version"
Variable="UCRTBASEVER" />
<!-- universal crt version -->
<Variable
Name="UCRTVER"
Type="version"
Value="10.0.10240.0" />
<Chain>
<!-- use heat command to get RemotePayload attributes -->
<!-- example: heat payload Windows6.0-KB2999226-x86.msu -o 60x86.wxs -->
<!-- Windows Vista (x86) -->
<MsuPackage
Name="Windows6.0-KB2999226-x86-6.0.1.6.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.0) AND NOT (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.0) AND NOT (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/D/8/3/D838D576-232C-4C17-A402-75913F27113B/Windows6.0-KB2999226-x86.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.0.1.6"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="38A521378445B34BD222FA354D2D5059707285A6"
Size="681351" />
</MsuPackage>
<!-- Windows Vista (x64) -->
<MsuPackage
Name="Windows6.0-KB2999226-x64-6.0.1.6.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.0) AND (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.0) AND (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/5/4/E/54E27BE2-CFB2-4FC9-AB03-C39302CA68A0/Windows6.0-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.0.1.6"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="0BEFBB0B78588F7C9F17EAD1DA3ABEDA2B6F4C7F"
Size="1131241" />
</MsuPackage>
<!-- Windows 7 (x86) -->
<MsuPackage
Name="Windows6.1-KB2999226-x86-6.1.1.7.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.1) AND NOT (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.1) AND NOT (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/4/F/E/4FE73868-5EDD-4B47-8B33-CE1BB7B2B16A/Windows6.1-KB2999226-x86.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.1.1.7"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="564F02E6419B9858949B0CD5A65E2C8C0944DD88"
Size="629006" />
</MsuPackage>
<!-- Windows 7 (x64) -->
<MsuPackage
Name="Windows6.1-KB2999226-x64-6.1.1.7.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.1) AND (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.1) AND (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/1/1/5/11565A9A-EA09-4F0A-A57E-520D5D138140/Windows6.1-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.1.1.7"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="54050A5F8AE7F0C56E553F0090146C17A1D2BF8D"
Size="1034556" />
</MsuPackage>
<!-- Windows 8 (x86) -->
<MsuPackage
Name="Windows8-RT-KB2999226-x86-6.2.1.9.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.2) AND NOT (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.2) AND NOT (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/1/E/8/1E8AFE90-5217-464D-9292-7D0B95A56CE4/Windows8-RT-KB2999226-x86.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.2.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="2D93B4FF5C396FC6922BB7BAE2FFB12DCBF7B0A6"
Size="625544" />
</MsuPackage>
<!-- Windows 8 (x64) -->
<MsuPackage
Name="Windows8-RT-KB2999226-x64-6.2.1.9.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.2) AND (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.2) AND (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/A/C/1/AC15393F-A6E6-469B-B222-C44B3BB6ECCC/Windows8-RT-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.2.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="B5943B2700B56F5F8DC307A9E237F23FCA5D8B70"
Size="1359820" />
</MsuPackage>
<!-- Windows 8.1 (x86) -->
<MsuPackage
Name="Windows8.1-KB2999226-x86-6.3.1.9.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.3) AND NOT (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.3) AND NOT (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/E/4/6/E4694323-8290-4A08-82DB-81F2EB9452C2/Windows8.1-KB2999226-x86.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.3.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="9B1962825FA58DB8AAB777C72AF58B21E0AA276E"
Size="603348" />
</MsuPackage>
<!-- Windows 8.1 (x64) -->
<MsuPackage
Name="Windows8.1-KB2999226-x64-6.3.1.9.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.3) AND (VersionNT64) AND (NTProductType = 1)"
DetectCondition="(VersionNT = v6.3) AND (VersionNT64) AND (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/9/6/F/96FD0525-3DDF-423D-8845-5F92F4A6883E/Windows8.1-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.3.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="3ACBF3890FC9C8A6F3D2155ECF106028E5F55164"
Size="1005170" />
</MsuPackage>
<!-- Windows Server 2008 (x86) -->
<MsuPackage
Name="Windows6.0-KB2999226-x86-6.0.1.6-s.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.0) AND NOT (VersionNT64) AND NOT (NTProductType = 1)"
DetectCondition="(VersionNT = v6.0) AND NOT (VersionNT64) AND NOT (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/B/5/7/B5757251-DAB0-4E23-AA46-ABC233FDB90E/Windows6.0-KB2999226-x86.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.0.1.6"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="38A521378445B34BD222FA354D2D5059707285A6"
Size="681351" />
</MsuPackage>
<!-- Windows Server 2008 (x64) -->
<MsuPackage
Name="Windows6.0-KB2999226-x64-6.0.1.6-s.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.0) AND (VersionNT64) AND NOT (NTProductType = 1)"
DetectCondition="(VersionNT = v6.0) AND (VersionNT64) AND NOT (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/A/7/A/A7A70B17-ADF9-4FC3-A722-69FA89B79756/Windows6.0-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.0.1.6"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="0BEFBB0B78588F7C9F17EAD1DA3ABEDA2B6F4C7F"
Size="1131241" />
</MsuPackage>
<!-- Windows Server 2008 R2 (x64) -->
<MsuPackage
Name="Windows6.1-KB2999226-x64-6.1.1.7-s.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.1) AND (VersionNT64) AND NOT (NTProductType = 1)"
DetectCondition="(VersionNT = v6.1) AND (VersionNT64) AND NOT (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/F/1/3/F13BEC9A-8FC6-4489-9D6A-F84BDC9496FE/Windows6.1-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.1.1.7"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="54050A5F8AE7F0C56E553F0090146C17A1D2BF8D"
Size="1034556" />
</MsuPackage>
<!-- Windows Server 2012 (x64) -->
<MsuPackage
Name="Windows8-RT-KB2999226-x64-6.2.1.9-s.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.2) AND (VersionNT64) AND NOT (NTProductType = 1)"
DetectCondition="(VersionNT = v6.2) AND (VersionNT64) AND NOT (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/9/3/E/93E0745A-EAE9-4B5A-B50C-012F2D3B6659/Windows8-RT-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.2.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="B5943B2700B56F5F8DC307A9E237F23FCA5D8B70"
Size="1359820" />
</MsuPackage>
<!-- Windows Server 2012 R2 (x64) -->
<MsuPackage
Name="Windows8.1-KB2999226-x64-6.3.1.9-s.msu"
DisplayName="Universal CRT"
KB="KB2999226"
Cache="no"
Compressed="no"
Permanent="yes"
InstallCondition="(VersionNT = v6.3) AND (VersionNT64) AND NOT (NTProductType = 1)"
DetectCondition="(VersionNT = v6.3) AND (VersionNT64) AND NOT (NTProductType = 1) AND (UCRTBASEVER >= UCRTVER)"
DownloadUrl="https://download.microsoft.com/download/D/1/3/D13E3150-3BB2-4B22-9D8A-47EE2D609FFF/Windows8.1-KB2999226-x64.msu" >
<RemotePayload
ProductName="Package_for_KB2999226"
Version="6.3.1.9"
Description="http://support.microsoft.com?kbid=2999226"
CertificatePublicKey="52868DFCA6E3AF2632389E6C1EE7D0468D3797D0"
CertificateThumbprint="3BDA323E552DB1FDE5F4FBEE75D6D5B2B187EEDC"
Hash="3ACBF3890FC9C8A6F3D2155ECF106028E5F55164"
Size="1005170" />
</MsuPackage>
</Chain>
</Bundle>
</Wix>


<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle
Name="Example Product"
Version="1.2.3.4"
Manufacturer="John Doe"
Copyright="© 2023 John Doe"
AboutUrl="https://example.net/"
UpgradeCode="01234567-89AB-CDEF-0123-456789ABCDEF"
Condition="VersionNT >= v6.1">
<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.HyperlinkLargeLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl="https://example.net/license.html"
ShowVersion="yes"
SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>
<!-- v6.1 Service Pack 1 -->
<bal:Condition Message="This application requires Service Pack 1 for Windows 7 / Server 2008 R2.">
<![CDATA[NOT ((VersionNT = v6.1) AND (ServicePackLevel < 1))]]>
</bal:Condition>
<!-- v6.3 KB2919355 -->
<util:FileSearch
Id="HAL.DLL"
Path="[WindowsFolder]System32\hal.dll"
Result="version"
Variable="NT603HALVER"
Condition="VersionNT = v6.3" />
<bal:Condition Message="This application requires S14 Update (KB2919355) for Windows 8.1 / Server 2012 R2.">
<![CDATA[NOT ((VersionNT = v6.3) AND (NT603HALVER < v6.3.9600.17031))]]>
</bal:Condition>
<!-- processor architecture -->
<util:RegistrySearch
Id="REG_ARCH"
Root="HKLM"
Key="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Value="PROCESSOR_ARCHITECTURE"
Result="value"
Variable="ARCH_NAME" />
<!-- Visual C++ 2015-2022 Redistributable (x86) runtime minimum msi package version -->
<util:ProductSearch
Id="VCRUNTIME_X86"
Result="version"
Variable="VCRUNTIME_X86_VER"
UpgradeCode="65E5BD06-6392-3027-8C26-853107D3CF1A"
Condition="VersionNT" />
<!-- Visual C++ 2015-2022 Redistributable (x64) runtime minimum msi package version -->
<util:ProductSearch
Id="VCRUNTIME_X64"
Result="version"
Variable="VCRUNTIME_X64_VER"
UpgradeCode="36F68A90-239C-34DF-B58C-64B30153CE35"
Condition="VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
After="REG_ARCH" />
<!-- Visual C++ 2015-2022 Redistributable (Arm64) runtime msi package version -->
<util:ProductSearch
Id="VCRUNTIME_ARM64"
Result="version"
Variable="VCRUNTIME_ARM64_VER"
UpgradeCode="DC9BAE42-810B-423A-9E25-E4073F1C7B00"
Condition="(ARCH_NAME = &quot;ARM64&quot;)"
After="REG_ARCH" />
<!-- Visual C++ 2015-2022 Redistributable runtime msi package version -->
<Variable Name="VCRUNTIME_VER" Type="version" Value="14.36.32532.0" />
<Chain>
<!-- use heat command to get RemotePayload attributes -->
<!-- example: heat payload vc_redist.x86.exe -o x86.wxs -->
<!-- Visual C++ 2015-2022 Redistributable (x86) - 14.36.32532 -->
<ExePackage
Id="VC_REDIST_X86"
Name="vc_redist.x86.exe"
DisplayName="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.36.32532"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Protocol="burn"
InstallCondition="VersionNT"
DetectCondition="(VCRUNTIME_X86_VER &gt;= VCRUNTIME_VER) AND VersionNT"
DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/5365A927487945ECB040E143EA770ADBB296074ECE4021B1D14213BDE538C490/VC_redist.x86.exe"
InstallCommand="/install /quiet /norestart"
RepairCommand="/repair /quiet /norestart"
UninstallCommand="/uninstall /quiet /norestart" >
<RemotePayload
ProductName="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.36.32532"
Description="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.36.32532"
Version="14.36.32532.0"
CertificatePublicKey="48DF9B8FC33B59FBA8444CBBF7902089F6CDCC59"
CertificateThumbprint="7CB6F13D24E9A7244B65CF7A48E8ED6170CD6C77"
Hash="C9B5B7969E499A4FD9E580EF4187322778E1936A"
Size="13837672" />
</ExePackage>
<!-- Visual C++ 2015-2022 Redistributable (x64) - 14.36.32532 -->
<ExePackage
Id="VC_REDIST_X64"
Name="vc_redist.x64.exe"
DisplayName="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.32532"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Protocol="burn"
InstallCondition="VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
DetectCondition="(VCRUNTIME_X64_VER &gt;= VCRUNTIME_VER) AND VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/917C37D816488545B70AFFD77D6E486E4DD27E2ECE63F6BBAAF486B178B2B888/VC_redist.x64.exe"
InstallCommand="/install /quiet /norestart"
RepairCommand="/repair /quiet /norestart"
UninstallCommand="/uninstall /quiet /norestart" >
<RemotePayload
ProductName="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.32532"
Description="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.32532"
Version="14.36.32532.0"
CertificatePublicKey="48DF9B8FC33B59FBA8444CBBF7902089F6CDCC59"
CertificateThumbprint="7CB6F13D24E9A7244B65CF7A48E8ED6170CD6C77"
Hash="C483F66C48BA83E99C764D957729789317B09C6B"
Size="25355496" />
</ExePackage>
<!-- Visual C++ 2015-2022 Redistributable (Arm64) - 14.36.32532 -->
<ExePackage
Id="VC_REDIST_ARM64"
Name="vc_redist.arm64.exe"
DisplayName="Microsoft Visual C++ 2015-2022 Redistributable (Arm64) - 14.36.32532"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Protocol="burn"
InstallCondition="(ARCH_NAME = &quot;ARM64&quot;)"
DetectCondition="(VCRUNTIME_ARM64_VER &gt;= VCRUNTIME_VER) AND (ARCH_NAME = &quot;ARM64&quot;)"
DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/37342E0ABDAEAE0297F64A889F842AC9453139639FB0178C0754A7D2F330043A/VC_redist.arm64.exe"
InstallCommand="/install /quiet /norestart"
RepairCommand="/repair /quiet /norestart"
UninstallCommand="/uninstall /quiet /norestart" >
<RemotePayload
ProductName="Microsoft Visual C++ 2022 Redistributable (Arm64) - 14.36.32532"
Description="Microsoft Visual C++ 2022 Redistributable (Arm64) - 14.36.32532"
Version="14.36.32532.0"
CertificatePublicKey="48DF9B8FC33B59FBA8444CBBF7902089F6CDCC59"
CertificateThumbprint="7CB6F13D24E9A7244B65CF7A48E8ED6170CD6C77"
Hash="769967FC082DFAF63567328C45DF3F4556EA4697"
Size="11511496" />
</ExePackage>
</Chain>
</Bundle>
</Wix>