<!-- 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" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> <!-- .NET Framework installation state properties Official documentation can be found at the following location: .NET Framework 4.5/4.5.1/4.5.2/4.6/4.6.1/4.6.2/4.7/4.7.1/4.7.2/4.8 - https://msdn.microsoft.com/en-us/library/w0x726c2(v=vs.110).aspx --> <?define NetFx48MinRelease = 528040 ?> <?define NetFx48WebLink = https://go.microsoft.com/fwlink/?LinkId=2085155 ?> <?define NetFx48RedistLink = https://go.microsoft.com/fwlink/?linkid=2088631 ?> <?define NetFx48EulaLink = https://referencesource.microsoft.com/license.html ?> <?define NetFx48WebId = NetFx48Web ?> <?define NetFx48RedistId = NetFx48Redist ?> <Fragment> <PropertyRef Id="WIXNETFX4RELEASEINSTALLED" /> <Property Id="WIX_IS_NETFRAMEWORK_48_OR_LATER_INSTALLED" Secure="yes" /> <SetProperty Id="WIX_IS_NETFRAMEWORK_48_OR_LATER_INSTALLED" Value="1" After="AppSearch" Condition="WIXNETFX4RELEASEINSTALLED >= "#$(var.NetFx48MinRelease)"" /> </Fragment> <Fragment> <util:RegistrySearchRef Id="NETFRAMEWORK45" /> <WixVariable Id="NetFx48WebDetectCondition" Value="NETFRAMEWORK45 >= $(var.NetFx48MinRelease)" Overridable="yes" /> <WixVariable Id="NetFx48WebInstallCondition" Value="" Overridable="yes" /> <WixVariable Id="NetFx48WebPackageDirectory" Value="redist\" Overridable="yes" /> <PackageGroup Id="$(var.NetFx48WebId)"> <ExePackage CacheId="$(var.NetFx48WebId)_ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" InstallArguments="/q /norestart /log "[NetFx48WebLog].html"" PerMachine="yes" DetectCondition="!(wix.NetFx48WebDetectCondition)" InstallCondition="!(wix.NetFx48WebInstallCondition)" Id="$(var.NetFx48WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48WebLog" Cache="remove"> <ExePackagePayload Name="!(wix.NetFx48WebPackageDirectory)ndp48-web.exe" DownloadUrl="$(var.NetFx48WebLink)" ProductName="Microsoft .NET Framework 4.8" Description="Microsoft .NET Framework 4.8 Setup" CertificatePublicKey="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" Size="1439328" Version="4.8.4115.0" /> </ExePackage> </PackageGroup> </Fragment> <Fragment> <PackageGroup Id="$(var.NetFx48WebId)AsPrereq"> <PackageGroupRef Id="$(var.NetFx48WebId)" /> </PackageGroup> <bal:ManagedBootstrapperApplicationPrereqInformation PackageId="$(var.NetFx48WebId)" LicenseUrl="$(var.NetFx48EulaLink)" /> </Fragment> <Fragment> <util:RegistrySearchRef Id="NETFRAMEWORK45" /> <WixVariable Id="NetFx48RedistDetectCondition" Value="NETFRAMEWORK45 >= $(var.NetFx48MinRelease)" Overridable="yes" /> <WixVariable Id="NetFx48RedistInstallCondition" Value="" Overridable="yes" /> <WixVariable Id="NetFx48RedistPackageDirectory" Value="redist\" Overridable="yes" /> <PackageGroup Id="$(var.NetFx48RedistId)"> <ExePackage CacheId="$(var.NetFx48RedistId)_ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" InstallArguments="/q /norestart /log "[NetFx48RedistLog].html"" PerMachine="yes" DetectCondition="!(wix.NetFx48RedistDetectCondition)" InstallCondition="!(wix.NetFx48RedistInstallCondition)" Id="$(var.NetFx48RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48RedistLog" Cache="remove"> <ExePackagePayload Name="!(wix.NetFx48RedistPackageDirectory)ndp48-x86-x64-allos-enu.exe" DownloadUrl="$(var.NetFx48RedistLink)" ProductName="Microsoft .NET Framework 4.8" Description="Microsoft .NET Framework 4.8 Setup" CertificatePublicKey="F49F9B33E25E33CCA0BFB15A62B7C29FFAB3880B" CertificateThumbprint="ABDCA79AF9DD48A0EA702AD45260B3C03093FB4B" Size="121307088" Version="4.8.4115.0" /> </ExePackage> </PackageGroup> </Fragment> <Fragment> <PackageGroup Id="$(var.NetFx48RedistId)AsPrereq"> <PackageGroupRef Id="$(var.NetFx48RedistId)" /> </PackageGroup> <bal:ManagedBootstrapperApplicationPrereqInformation PackageId="$(var.NetFx48RedistId)" LicenseUrl="$(var.NetFx48EulaLink)" /> </Fragment> </Wix>