aboutsummaryrefslogtreecommitdiff
path: root/src/wixlib/NetFx48.wxs
blob: d65d36be31c35524fc83f92a68d9628467ee97b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?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"
     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">
            WIXNETFX4RELEASEINSTALLED >= "#$(var.NetFx48MinRelease)"
        </SetProperty>
    </Fragment>

    <Fragment>
        <util:RegistrySearchRef Id="NETFRAMEWORK45"/>

        <WixVariable Id="NetFx48WebDetectCondition" Value="NETFRAMEWORK45 &gt;= $(var.NetFx48MinRelease)" Overridable="yes" />
        <WixVariable Id="NetFx48WebInstallCondition" Value="" Overridable="yes" />
        <WixVariable Id="NetFx48WebPackageDirectory" Value="redist\" Overridable="yes" />

        <PackageGroup Id="$(var.NetFx48WebId)">
            <ExePackage
                InstallCommand="/q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48WebLog].html&quot;"
                RepairCommand="/q /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48WebLog].html&quot;"
                UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48WebLog].html&quot;"
                PerMachine="yes"
                DetectCondition="!(wix.NetFx48WebDetectCondition)"
                InstallCondition="!(wix.NetFx48WebInstallCondition)"
                Id="$(var.NetFx48WebId)"
                Vital="yes"
                Permanent="yes"
                Protocol="netfx4"
                DownloadUrl="$(var.NetFx48WebLink)"
                LogPathVariable="NetFx48WebLog"
                Compressed="no"
                Name="!(wix.NetFx48WebPackageDirectory)ndp48-web.exe">
                <RemotePayload
                  CertificatePublicKey="D17AFCE951979605250FAEBAFA7AE974899AED22" 
                  CertificateThumbprint="C82273A065EC470FB1EBDE846A91E6FFB29E9C12" 
                  Description="Microsoft .NET Framework 4.8 Setup"
                  Hash="5A84A8E612E270E27D0061D58DB6B470153BE1F9" 
                  ProductName="Microsoft .NET Framework 4.8"
                  Size="1479400" 
                  Version="4.8.3928.0" />
            </ExePackage>
        </PackageGroup>
    </Fragment>

    <Fragment>
        <PackageGroup Id="$(var.NetFx48WebId)AsPrereq" />

        <bal:ManagedBootstrapperApplicationPrereqInformation PackageId="$(var.NetFx48WebId)" LicenseUrl="$(var.NetFx48EulaLink)" />
    </Fragment>

    <Fragment>
        <util:RegistrySearchRef Id="NETFRAMEWORK45"/>

        <WixVariable Id="NetFx48RedistDetectCondition" Value="NETFRAMEWORK45 &gt;= $(var.NetFx48MinRelease)" Overridable="yes" />
        <WixVariable Id="NetFx48RedistInstallCondition" Value="" Overridable="yes" />
        <WixVariable Id="NetFx48RedistPackageDirectory" Value="redist\" Overridable="yes" />

        <PackageGroup Id="$(var.NetFx48RedistId)">
            <ExePackage
                InstallCommand="/q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48RedistLog].html&quot;"
                RepairCommand="/q /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48RedistLog].html&quot;"
                UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx48RedistLog].html&quot;"
                PerMachine="yes"
                DetectCondition="!(wix.NetFx48RedistDetectCondition)"
                InstallCondition="!(wix.NetFx48RedistInstallCondition)"
                Id="$(var.NetFx48RedistId)"
                Vital="yes"
                Permanent="yes"
                Protocol="netfx4"
                DownloadUrl="$(var.NetFx48RedistLink)"
                LogPathVariable="NetFx48RedistLog"
                Compressed="no"
                Name="!(wix.NetFx48RedistPackageDirectory)ndp48-x86-x64-allos-enu.exe">
                <RemotePayload
                  CertificatePublicKey="D17AFCE951979605250FAEBAFA7AE974899AED22" 
                  CertificateThumbprint="C82273A065EC470FB1EBDE846A91E6FFB29E9C12" 
                  Description="Microsoft .NET Framework 4.8 Setup"
                  Hash="8DD233698D5EB4609B86C2AC917279FE39E0EF4C" 
                  ProductName="Microsoft .NET Framework 4.8"
                  Size="117380440" 
                  Version="4.8.3928.0" />
            </ExePackage>
        </PackageGroup>
    </Fragment>

    <Fragment>
        <PackageGroup Id="$(var.NetFx48RedistId)AsPrereq" />

        <bal:ManagedBootstrapperApplicationPrereqInformation PackageId="$(var.NetFx48RedistId)" LicenseUrl="$(var.NetFx48EulaLink)" />
    </Fragment>
</Wix>