aboutsummaryrefslogblamecommitdiffstats
path: root/installer/installer.wxs
blob: f5627ddc3656ed6afc7c663c9aa9285ed9e11b85 (plain) (tree)


















































                                                                                                                                                                                                                    
<?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.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>