diff options
| author | David Lönnhager <david.l@mullvad.net> | 2019-10-21 13:26:06 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2019-10-25 16:48:05 +0200 |
| commit | 9d283c151c21763727191cd33ec641a43d87a435 (patch) | |
| tree | 085e8d986249b71ba24a05cdc72ec40159ff4eb4 | |
| parent | 4a17e89a15d1bdd6e68d4fd71a1550c64f9f3bb7 (diff) | |
| download | mullvadvpn-9d283c151c21763727191cd33ec641a43d87a435.tar.xz mullvadvpn-9d283c151c21763727191cd33ec641a43d87a435.zip | |
Install Wintun
| -rw-r--r-- | dist-assets/windows/installer.nsh | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dist-assets/windows/installer.nsh b/dist-assets/windows/installer.nsh index 4f92961f7f..4ef535f5d6 100644 --- a/dist-assets/windows/installer.nsh +++ b/dist-assets/windows/installer.nsh @@ -100,6 +100,20 @@ !define ExtractDriver '!insertmacro "ExtractDriver"' # +# ExtractWintun +# +# Extract Wintun installer into $TEMP +# +!macro ExtractWintun + + SetOutPath "$TEMP" + File "${BUILD_RESOURCES_DIR}\binaries\x86_64-pc-windows-msvc\wintun\mullvad-wintun-amd64.msi" + +!macroend + +!define ExtractWintun '!insertmacro "ExtractWintun"' + +# # ForceRenameAdapter # # For when there's a broken TAP adapter present, such that the adapter name @@ -373,6 +387,42 @@ !define InstallDriver '!insertmacro "InstallDriver"' # +# InstallWintun +# +# Install Wintun driver +# +# Returns: 0 in $R0 on success, otherwise an error message in $R0 +# +!macro InstallWintun + + log::Log "InstallWintun()" + + Push $0 + + ${DisableX64FSRedirection} + ExecWait '"$SYSDIR\msiexec.exe" /i "$TEMP\mullvad-wintun-amd64.msi" /qn /norestart' $0 + ${EnableX64FSRedirection} + + ${If} $0 != 0 + StrCpy $R0 "Failed to install Wintun: error $0" + log::Log $R0 + Goto InstallWintun_return + ${EndIf} + + log::Log "InstallWintun() completed successfully" + + Push 0 + Pop $R0 + + InstallWintun_return: + + Pop $0 + +!macroend + +!define InstallWintun '!insertmacro "InstallWintun"' + +# # InstallService # # Register the service with Windows and start it @@ -684,6 +734,15 @@ Abort ${EndIf} + ${ExtractWintun} + ${InstallWintun} + + ${If} $R0 != 0 + MessageBox MB_OK "Fatal error during Wintun installation: $R0" + ${BreakInstallation} + Abort + ${EndIf} + ${InstallService} ${If} $R0 != 0 |
