wintun/wintun.wxs
Simon Rozman a979361217 MSM: Install driver files to C:\Program Files\Wintun
This is temporary until we figure out how to use WiX's Difx to install
driver without leaving staged driver files behind.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-19 21:24:08 +02:00

91 lines
3.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX-License-Identifier: GPL-2.0
Copyright (C) 2018-2019 WireGuard LLC. All Rights Reserved.
-->
<?if $(var.Platform) = x86?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder"?>
<?else?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder"?>
<?endif?>
<Wix
xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:diffx="http://schemas.microsoft.com/wix/DifxAppExtension"
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
<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"/>
<Binary Id="wintun.cer" SourceFile="!(bindpath.output_dir)wintun.cer"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WintunFolder">
<Component Id="wintun.cat" Guid="41fbe711-a1af-4b83-8b5d-fc1b112969c1">
<File
Id="wintun.cat"
Name="wintun.cat"
Source="!(bindpath.output_dir)wintun\wintun.cat"
DefaultVersion="$(var.WINTUN_VERSION)"
DefaultLanguage="0"/>
<iis:Certificate
Id="wintun.cer"
Name="WireGuard LLC"
StoreLocation="localMachine"
StoreName="trustedPublisher"
BinaryKey="wintun.cer"
Request="no"/>
<diffx:Driver
AddRemovePrograms="no"
PlugAndPlayPrompt="no"/>
</Component>
<Component Id="wintun.inf" Guid="c58122b3-c7ba-4207-b68d-a236e371f9ed">
<File
Id="wintun.inf"
Name="wintun.inf"
Source="!(bindpath.output_dir)wintun\wintun.inf"
DefaultVersion="$(var.WINTUN_VERSION)"
DefaultLanguage="0"/>
</Component>
<Component Id="wintun.sys" Guid="d0fde4a4-d228-4803-b57e-76bd8b16cf42">
<File
Id="wintun.sys"
Name="wintun.sys"
Source="!(bindpath.output_dir)wintun\wintun.sys"
DefaultVersion="$(var.WINTUN_VERSION)"
DefaultLanguage="0"/>
</Component>
</Directory>
</Directory>
<!--
The WintunFolder is relocated inside product folder when our module is merged.
To avoid this, set WintunFolder property to [ProgramFilesFolder]\Wintun explicitly
in each installer sequence.
-->
<Property Id="$(var.PlatformProgramFilesFolder)" SuppressModularization="yes"/><!-- This will produce CNDL1006 and CNDL1086 warnings, but it prevents "[ProgramFiles(64)Folder]" from being modularized to "[ProgramFiles(64)Folder.C28309D9_1954_4F2D_A7D1_228850092460]". -->
<CustomAction Id="WintunFolder" Property="WintunFolder" Value="[$(var.PlatformProgramFilesFolder)]\Wintun"/>
<AdminExecuteSequence>
<Custom Action="WintunFolder" Before="CostInitialize"/>
</AdminExecuteSequence>
<AdminUISequence>
<Custom Action="WintunFolder" Before="CostInitialize"/>
</AdminUISequence>
<AdvertiseExecuteSequence>
<Custom Action="WintunFolder" Before="CostInitialize"/>
</AdvertiseExecuteSequence>
<InstallExecuteSequence>
<Custom Action="WintunFolder" Before="CostInitialize"/>
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="WintunFolder" Before="CostInitialize"/>
</InstallUISequence>
</Module>
</Wix>