5925f914e4
Some functions of SetupAPI only work when invoked from a native process. Registry and filesystem reflection makes them fail on WoW64. For WoW64 processes, a minimum set of rundll32 functions are provided. Signed-off-by: Simon Rozman <simon@rozman.si>
72 lines
3.1 KiB
XML
72 lines
3.1 KiB
XML
<?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="$(var.INSTALLER_VERSION_MIN)"
|
|
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>
|
|
|
|
<?if $(var.WINTUN_PLATFORM) = "x86"?>
|
|
<Directory Id="SystemFolder">
|
|
<Component Guid="5dd2a342-6a4c-4af6-8ebc-b05411644b1c">
|
|
<File Id="wintun.dll" Name="wintun.dll" Source="!(bindpath.output_dir)wintun.dll" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
<?else?>
|
|
<Directory Id="SystemFolder">
|
|
<Component Guid="493548d6-12f6-4286-8fff-4efa77317a8f">
|
|
<File Id="wintun.dll-wow64" Name="wintun.dll" Source="!(bindpath.output_dir_wow64)wintun.dll" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
<Directory Id="System64Folder">
|
|
<Component Guid="5dd2a342-6a4c-4af6-8ebc-b05411644b1c">
|
|
<File Id="wintun.dll" Name="wintun.dll" Source="!(bindpath.output_dir)wintun.dll" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
<?endif?>
|
|
</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" Before="ProcessWintun" />
|
|
<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>
|