aboutsummaryrefslogtreecommitdiffstats
path: root/installer/installer.wxs
blob: 188361807f197b4402825312861f0792e1177cd4 (plain) (blame)
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
<?xml version="1.0" encoding="UTF-8"?>
<!--
  SPDX-License-Identifier: GPL-2.0

  Copyright (C) 2018-2019 WireGuard LLC. All Rights Reserved.
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Module Id="wintun" Language="0" Version="$(var.WINTUN_VERSION)">
    <Package
      Id="c28309d9-1954-4f2d-a7d1-228850092460"
      Description="Wintun Userspace Tunnel"
      Manufacturer="WireGuard LLC"
      InstallerVersion="200"
      InstallPrivileges="elevated"
      InstallScope="perMachine"
      ReadOnly="yes" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Component Guid="b668d4c7-abb3-485a-b8df-d34200489a43">
        <RegistryValue
          Root="HKLM"
          Key="SOFTWARE\Wintun"
          Type="integer"
          Value="1"
          KeyPath="yes" />
      </Component>
    </Directory>

    <Property Id="WintunInstallerHash" Value="$(var.INSTALLER_LIBRARY_HASH)" SuppressModularization="yes" />
    <Property Id="WintunInstallerBuildtime" Value="$(var.INSTALLER_LIBRARY_TIME)" SuppressModularization="yes" />
    <Property Id="WintunVersion" Value="$(var.WINTUN_VERSION)" SuppressModularization="yes" />

    <Binary Id="installer.dll" SourceFile="!(bindpath.output_dir)installer.dll" />
    <CustomAction Id="EvaluateWintun" SuppressModularization="yes" BinaryKey="installer.dll" DllEntry="MsiEvaluate" Execute="immediate" />
    <CustomAction Id="ProcessWintun" SuppressModularization="yes" BinaryKey="installer.dll" DllEntry="MsiProcess" Execute="deferred" Impersonate="no" />
    <InstallExecuteSequence>
      <Custom Action="EvaluateWintun" After="CostFinalize" />
      <Custom Action="ProcessWintun" After="InstallFiles" />
    </InstallExecuteSequence>

    <?if $(var.WINTUN_PLATFORM) = "x86"?>
    <CustomAction Id="WoW64Unsupported" Error="You are attempting to install the 32-bit variant of [ProductName] on a 64-bit operating system, which is not supported. Please install the 64-bit variant instead." />
    <InstallExecuteSequence>
      <Custom Action="WoW64Unsupported" After="LaunchConditions"><![CDATA[VersionNT64]]></Custom>
    </InstallExecuteSequence>
    <InstallUISequence>
      <Custom Action="WoW64Unsupported" After="LaunchConditions"><![CDATA[VersionNT64]]></Custom>
    </InstallUISequence>
    <?endif?>
  </Module>
</Wix>