MSM: Explicitly version driver files
wintun.inf and wintun.cat have no version resource. WiX linker cannot determine their versions and the MSM will use file sizes and hashes for update logic. By setting explicit file version and language, the version will always be used to determine which version is newer on updates. Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
parent
361dd60a04
commit
bfa3b3f6cc
10
Makefile
10
Makefile
@ -8,7 +8,7 @@
|
||||
WINTUN_VERSION_MAJ=0
|
||||
WINTUN_VERSION_MIN=0
|
||||
WINTUN_VERSION_REV=2019
|
||||
WINTUN_VERSION_BUILD=0128
|
||||
WINTUN_VERSION_BUILD=128
|
||||
|
||||
!IFNDEF CFG
|
||||
CFG=Release
|
||||
@ -33,12 +33,8 @@ PLAT_WIX=arm64 # TODO: Follow WiX ARM64 support.
|
||||
!ENDIF
|
||||
OUTPUT_DIR=$(PLAT)\$(CFG)
|
||||
MSBUILD_FLAGS=/p:Configuration="$(CFG)" /p:Platform="$(PLAT_MSBUILD)" /m /v:minimal /nologo
|
||||
WIX_CANDLE_FLAGS=-nologo -ext WixDifxAppExtension -ext WixIIsExtension -arch "$(PLAT_WIX)" \
|
||||
-dWINTUN_VERSION_MAJ="$(WINTUN_VERSION_MAJ)" \
|
||||
-dWINTUN_VERSION_MIN="$(WINTUN_VERSION_MIN)" \
|
||||
-dWINTUN_VERSION_REV="$(WINTUN_VERSION_REV)" \
|
||||
-dWINTUN_VERSION_BUILD="$(WINTUN_VERSION_BUILD)"
|
||||
WIX_LIGHT_FLAGS=-nologo -ext WixDifxAppExtension -ext WixIIsExtension -b output_dir="$(OUTPUT_DIR)"
|
||||
WIX_CANDLE_FLAGS=-nologo -ext WixDifxAppExtension -ext WixIIsExtension -arch "$(PLAT_WIX)" -dWINTUN_VERSION="$(WINTUN_VERSION_MAJ).$(WINTUN_VERSION_MIN).$(WINTUN_VERSION_REV).$(WINTUN_VERSION_BUILD)"
|
||||
WIX_LIGHT_FLAGS=-nologo -ext WixDifxAppExtension -ext WixIIsExtension -b output_dir="$(OUTPUT_DIR)" -sw1103
|
||||
|
||||
build ::
|
||||
msbuild.exe "wintun.vcxproj" /t:Build $(MSBUILD_FLAGS)
|
||||
|
23
wintun.wxs
23
wintun.wxs
@ -8,7 +8,7 @@
|
||||
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_MAJ).$(var.WINTUN_VERSION_MIN).$(var.WINTUN_VERSION_REV).$(var.WINTUN_VERSION_BUILD)">
|
||||
<Module Id="wintun" Language="0" Version="$(var.WINTUN_VERSION)">
|
||||
<Package
|
||||
Id="c28309d9-1954-4f2d-a7d1-228850092460"
|
||||
Description="Wintun Userspace Tunnel"
|
||||
@ -23,7 +23,12 @@
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="MergeRedirectFolder">
|
||||
<Component Id="wintun.cat" Guid="41fbe711-a1af-4b83-8b5d-fc1b112969c1">
|
||||
<File Id="wintun.cat" Name="wintun.cat" Source="!(bindpath.output_dir)wintun\wintun.cat"/>
|
||||
<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"
|
||||
@ -36,10 +41,20 @@
|
||||
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"/>
|
||||
<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"/>
|
||||
<File
|
||||
Id="wintun.sys"
|
||||
Name="wintun.sys"
|
||||
Source="!(bindpath.output_dir)wintun\wintun.sys"
|
||||
DefaultVersion="$(var.WINTUN_VERSION)"
|
||||
DefaultLanguage="0"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
Loading…
Reference in New Issue
Block a user