installer: ARM64 is always Windows 10

ARM64 support was introduced in Windows 10. There is no need to pack the
EV signed ARM64 driver for older Windows releases.

The only use-case we do want to pack an EV signed ARM64 driver (or test
signed) in the installer.dll is when we are doing the rundll32.exe
tests. Therefore, the Debug version still packs it.

If there is no driver available to pack, fail at compile time - rather
than build an installer.dll that would fail at runtime.

Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
Simon Rozman 2020-03-10 08:47:13 +01:00 committed by Jason A. Donenfeld
parent 9c39b2b567
commit 6a65b11231
3 changed files with 11 additions and 1 deletions

View File

@ -272,10 +272,16 @@ InstallWintun(BOOL UpdateExisting)
goto cleanupFree; goto cleanupFree;
BOOL UseWHQL = FALSE; BOOL UseWHQL = FALSE;
#ifdef HAVE_WHQL #if defined(HAVE_EV) && defined(HAVE_WHQL)
DWORD MajorVersion; DWORD MajorVersion;
RtlGetNtVersionNumbers(&MajorVersion, NULL, NULL); RtlGetNtVersionNumbers(&MajorVersion, NULL, NULL);
UseWHQL = MajorVersion >= 10; UseWHQL = MajorVersion >= 10;
#elif defined(HAVE_EV)
UseWHQL = FALSE;
#elif defined(HAVE_WHQL)
UseWHQL = TRUE;
#else
#error No driver available
#endif #endif
if (!UseWHQL && !InstallWintunCertificate(TEXT("wintun.sys"))) if (!UseWHQL && !InstallWintunCertificate(TEXT("wintun.sys")))
PrintError(LOG_WARN, TEXT("Unable to install code signing certificate")); PrintError(LOG_WARN, TEXT("Unable to install code signing certificate"));

View File

@ -129,10 +129,12 @@
<ItemDefinitionGroup> <ItemDefinitionGroup>
<ClCompile> <ClCompile>
<PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='Win32' Or '$(Platform)'=='x64' Or '$(Configuration)'=='Debug'">HAVE_EV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile> </ClCompile>
<ResourceCompile> <ResourceCompile>
<AdditionalIncludeDirectories>..\$(WintunPlatform)\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\$(WintunPlatform)\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Platform)'=='Win32' Or '$(Platform)'=='x64' Or '$(Configuration)'=='Debug'">HAVE_EV;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile> </ResourceCompile>
<Link> <Link>

View File

@ -6,9 +6,11 @@
#include <windows.h> #include <windows.h>
#include <ntverp.h> #include <ntverp.h>
#ifdef HAVE_EV
wintun.cat RCDATA "wintun\\wintun.cat" wintun.cat RCDATA "wintun\\wintun.cat"
wintun.inf RCDATA "wintun\\wintun.inf" wintun.inf RCDATA "wintun\\wintun.inf"
wintun.sys RCDATA "wintun\\wintun.sys" wintun.sys RCDATA "wintun\\wintun.sys"
#endif
#ifdef HAVE_WHQL #ifdef HAVE_WHQL
wintun-whql.cat RCDATA "whql\\wintun.cat" wintun-whql.cat RCDATA "whql\\wintun.cat"