aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2019-04-19 16:19:49 +0200
committerSimon Rozman <simon@rozman.si>2019-04-19 21:24:08 +0200
commita97936121716155eb8792a7e631d6ed6dca9d296 (patch)
treec1586ad364fe112f71a21457e1e6084081411cde
parentAdd missing dependencies (diff)
downloadwintun-a97936121716155eb8792a7e631d6ed6dca9d296.tar.xz
wintun-a97936121716155eb8792a7e631d6ed6dca9d296.zip
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>
-rw-r--r--wintun.wixproj1
-rw-r--r--wintun.wxs30
2 files changed, 30 insertions, 1 deletions
diff --git a/wintun.wixproj b/wintun.wixproj
index 7ee76d9..0647aff 100644
--- a/wintun.wixproj
+++ b/wintun.wixproj
@@ -25,6 +25,7 @@
<OutputPath>$(WintunPlatform)\$(Configuration)\</OutputPath>
<OutputName>$(ProjectName)</OutputName>
<DefineConstants>WINTUN_VERSION=$(WintunVersion);$(DefineConstants)</DefineConstants>
+ <SuppressSpecificWarnings>1006;1086;$(SuppressSpecificWarnings)</SuppressSpecificWarnings>
<CompilerAdditionalOptions>-ext WixDifxAppExtension -ext WixIIsExtension $(CompilerAdditionalOptions)</CompilerAdditionalOptions>
<LinkerSuppressSpecificWarnings>1103;$(LinkerSuppressSpecificWarnings)</LinkerSuppressSpecificWarnings>
<LinkerAdditionalOptions>-ext WixDifxAppExtension -ext WixIIsExtension -b output_dir="$(IntermediateOutputPath.TrimEnd('\'))" $(LinkerAdditionalOptions)</LinkerAdditionalOptions>
diff --git a/wintun.wxs b/wintun.wxs
index b403c9c..5e57212 100644
--- a/wintun.wxs
+++ b/wintun.wxs
@@ -4,6 +4,11 @@
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"
@@ -21,7 +26,7 @@
<Binary Id="wintun.cer" SourceFile="!(bindpath.output_dir)wintun.cer"/>
<Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="MergeRedirectFolder">
+ <Directory Id="WintunFolder">
<Component Id="wintun.cat" Guid="41fbe711-a1af-4b83-8b5d-fc1b112969c1">
<File
Id="wintun.cat"
@@ -58,5 +63,28 @@
</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>