diff --git a/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi b/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi
new file mode 100644
index 000000000..e08388d8f
Binary files /dev/null and b/ext/bin/tap-windows-ndis6/x64/ZeroTierOne_NDIS6_x64.msi differ
diff --git a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip
index 7ff1a05e7..3c3d6a417 100644
--- a/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip
+++ b/ext/installfiles/windows/ZeroTier One Virtual Network Port (NDIS6_x64).aip
@@ -1,184 +1,187 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/windows/TapDriver6/TapDriver6.vcxproj b/windows/TapDriver6/TapDriver6.vcxproj
index 7a5059d42..9cb625e2c 100644
--- a/windows/TapDriver6/TapDriver6.vcxproj
+++ b/windows/TapDriver6/TapDriver6.vcxproj
@@ -1,10 +1,34 @@
+
+ Vista Debug
+ ARM64
+
+
+ Vista Release
+ ARM64
+
+
+ Win7 Debug
+ ARM64
+
+
+ Win7 Release
+ ARM64
+
+
+ Win8 Debug
+ ARM64
+
Win8 Debug
Win32
+
+ Win8 Release
+ ARM64
+
Win8 Release
Win32
@@ -88,6 +112,7 @@
Windows7
false
WindowsKernelModeDriver10.0
+ false
Vista
@@ -106,27 +131,53 @@
true
WindowsKernelModeDriver10.0
+
+ Windows8
+ true
+ WindowsKernelModeDriver10.0
+
Windows8
false
WindowsKernelModeDriver10.0
false
+
+ Windows8
+ false
+ WindowsKernelModeDriver10.0
+ false
+
Windows7
true
WindowsKernelModeDriver10.0
+
+ Windows7
+ true
+ WindowsKernelModeDriver10.0
+
Windows7
false
WindowsKernelModeDriver10.0
+
+ Windows7
+ false
+ WindowsKernelModeDriver10.0
+
Vista
true
WindowsKernelModeDriver8.0
+
+ Vista
+ true
+ WindowsKernelModeDriver8.0
+
Vista
false
@@ -134,6 +185,13 @@
7
WindowsKernelModeDriver8.0
+
+ Vista
+ false
+ 1
+ 7
+ WindowsKernelModeDriver8.0
+
@@ -158,6 +216,8 @@
zttap300
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)\build
zttap300
@@ -165,21 +225,43 @@
zttap300
+
+ zttap300
+
zttap300
+
+ zttap300
+
zttap300
+
+ zttap300
+
zttap300
+
+ zttap300
+
zttap300
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)\build
+
+
+ zttap300
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)
+ $(SolutionDir)\windows\TapDriver6\$(ConfigurationName)\build
zttap300
+
+ zttap300
+
false
@@ -192,11 +274,17 @@
false
false
false
+ false
false
+ false
false
+ false
false
+ false
false
+ false
false
+ false
Level1
Level1
Level1
@@ -204,11 +292,17 @@
Level1
Level1
Level1
+ Level1
Level1
+ Level1
Level1
+ Level1
Level1
+ Level1
Level1
+ Level1
Level1
+ Level1
Default
Default
Default
@@ -216,35 +310,54 @@
Default
Default
Default
+ Default
Default
+ Default
Default
+ Default
Default
+ Default
Default
+ Default
Default
+ Default
false
+ false
false
+ false
false
+ false
false
false
false
+ Speed
+ false
+ false
+ false
C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
+ C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
+ C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
+ C:\WinDDK\7600.16385.1\lib\win7\amd64\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\amd64\wdmsec.lib;%(AdditionalDependencies)
$(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)
+ $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)
$(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)
+ $(DDK_LIB_PATH)ndis.lib;$(DDK_LIB_PATH)ntstrsafe.lib;$(DDK_LIB_PATH)wdmsec.lib;%(AdditionalDependencies)
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ndis.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ntstrsafe.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\wdmsec.lib;%(AdditionalDependencies)
+ C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ndis.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\ntstrsafe.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x64\wdmsec.lib;%(AdditionalDependencies)
C:\WinDDK\7600.16385.1\lib\win7\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\ntstrsafe.lib;C:\WinDDK\7600.16385.1\lib\win7\i386\wdmsec.lib;%(AdditionalDependencies)
@@ -301,38 +414,61 @@
3.00.00.0
+ 3.00.00.0
false
+ false
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
false
+ false
3.00.00.0
+ 3.00.00.0
true
+ true
true
+ true
+
+
zttap300.cat
+ zttap300.cat
-v "3.00.00.0" %(AdditionalOptions)
+ -v "3.00.00.0" %(AdditionalOptions)
3.00.00.0
+ 3.00.00.0
true
+ true
true
+ true
-v "3.00.00.0" %(AdditionalOptions)
+ -v "3.00.00.0" %(AdditionalOptions)
3.00.00.0
+ 3.00.00.0
false
+ false
false
+ false
@@ -374,6 +510,7 @@
3.00.00.0
+ 3.00.00.0
false
3.00.00.0
false
@@ -387,16 +524,27 @@
false
3.00.00.0
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
3.00.00.0
+ 3.00.00.0
false
+ false
false
+ false
3.00.00.0
+ 3.00.00.0
diff --git a/windows/TapDriver6/zttap300.inf b/windows/TapDriver6/zttap300.inf
index 303dfb68d..8b12a1b3c 100644
--- a/windows/TapDriver6/zttap300.inf
+++ b/windows/TapDriver6/zttap300.inf
@@ -1,10 +1,15 @@
+;
+; ****************************************************************************
+; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. *
+; * This program is free software; you can redistribute it and/or modify *
+; * it under the terms of the GNU General Public License version 2 *
+; * as published by the Free Software Foundation. *
+; ****************************************************************************
+;
+
;
; ZeroTier One Virtual Network Port NDIS6 Driver
;
-; Based on the OpenVPN tap-windows6 driver version 9.21.1 git
-; commit 48f027cfca52b16b5fd23d82e6016ed8a91fc4d3.
-; See: https://github.com/OpenVPN/tap-windows6
-;
; Modified by ZeroTier, Inc. - https://www.zerotier.com/
;
; (1) Comment out 'tun' functionality and related features such as DHCP
@@ -15,14 +20,6 @@
; (5) Rename/rebrand driver as ZeroTier network port driver.
;
; Original copyright below. Modifications released under GPLv2 as well.
-;
-; ****************************************************************************
-; * Copyright (C) 2002-2014 OpenVPN Technologies, Inc. *
-; * This program is free software; you can redistribute it and/or modify *
-; * it under the terms of the GNU General Public License version 2 *
-; * as published by the Free Software Foundation. *
-; ****************************************************************************
-;
[Version]
Signature = "$Windows NT$"
@@ -36,11 +33,11 @@ DriverVer=11/24/2020,3.00.00.1
DeviceDescription = "ZeroTier Virtual Port"
Provider = "ZeroTier"
-; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back!
[Manufacturer]
-%Provider%=zttap300,NTamd64
+%Provider%=zttap300,NTx86
+;%Provider%=zttap300,NTamd64
-[zttap300]
+[zttap300.NTx86]
%DeviceDescription% = zttap300.ndi, root\zttap300 ; Root enumerated
%DeviceDescription% = zttap300.ndi, zttap300 ; Legacy
diff --git a/windows/ZeroTierOne.sln b/windows/ZeroTierOne.sln
index 2798dc294..0e9c54d4b 100644
--- a/windows/ZeroTierOne.sln
+++ b/windows/ZeroTierOne.sln
@@ -299,9 +299,8 @@ Global
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.ActiveCfg = Win7 Release|x64
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.Build.0 = Win7 Release|x64
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM.Deploy.0 = Win7 Release|x64
- {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.ActiveCfg = Win7 Release|x64
- {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.Build.0 = Win7 Release|x64
- {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.Deploy.0 = Win7 Release|x64
+ {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.ActiveCfg = Win7 Release|ARM64
+ {43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|ARM64.Build.0 = Win7 Release|ARM64
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.ActiveCfg = Win8 Release|Win32
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.Build.0 = Win8 Release|Win32
{43BA7584-D4DB-4F7C-90FC-E2B18A68A213}.Release|Mixed Platforms.Deploy.0 = Win8 Release|Win32