Unable to connect to VPN from Windows Server 2016 due to missing "WcnEapPeerProxy.DLL"

1

I have a Windows Server 2016 machine where I do Visual Studio development and some of my development requires me to connect to the VPN of a consultant. The consultant recently changed their VPN from a third party tool into the Add-VPNConnection powershell command

Add-VPNConnection -Name "Consultant-VPN" -ServerAddress "connection.consultant.com" 
  -TunnelType "SSTP" -AllUserConnection -AuthenticationMethod "EAP"

This connection works from my Windows 10 test machine but it fails from my Windows Server 2016 machine with the message:

A connection to the remote computer could not be established. You might need to change the network settings for this connection.

When I investigate the Window Event Viewer I see the following error:

Skipping: Eap method DLL path validation failed. Error: typeId=254, authorId=311, vendorId=14122, vendorType=1

When I trace this back through the registry under both my Windows 10 and my Windows Server 2016 machines I see "HKLM\SYSTEM\CurrectControlSet\Services\Eaphost\Methods\311\254\14122\1" with the key "PeerDllPath" set to "%SystemRoot%\System32\WcnEapPeerProxy.dll" on both machines. However, the file is present on my Windows 10 machine but missing from my Windows Server 2016 machine. I've tried installing the "Remote Access" role on my server but the file was still missing.

PeerDllPath Key

What can I do to get this VPN connection working from my Windows Server 2016 machine?

skeletank

Posted 2017-08-16T16:19:34.773

Reputation: 143

Does the VPN in question support OpenVPN? What build of Windows Server 2016 are you using? It's entirely possible that the VPN features of Windows 10 do not exist in Windows Server 2016 if the system dll in question isn't even present. Worth pointing out you should still be able to use the third-party tool provided you connect to the same address and use the same type of VPN connection (you didn't provide this information) – Ramhound – 2017-08-16T16:25:50.757

@Ramhound I'm assuming that it's a Windows VPN Server. I'm not familiar with how VPNs are setup but what does it mean to support OpenVPN? From what I read in the OpenVPN documentation it made it sound like both your server and client must be OpenVPN to support the custom security protocol. – skeletank – 2017-08-16T16:44:00.890

@skeletank Although the .dll was mentioned in the Event Viewer, it may not be completely related to the issue. Is the firewall on your 2016 server enabled? Have you tried manually creating the VPN connection through the Network and Sharing Center? – root – 2017-08-17T12:21:52.390

@root The firewall is disabled on my server. I also tried manually creating the VPN connection through the Network and Sharing Center but I run into the same issue. – skeletank – 2017-08-17T13:27:05.427

Does the results of the command DISM /Online /Cleanup-Image /ScanHealth show that there is component store corruption? If so run the command DISM /Online /Cleanup-Image /RestoreHealth and see if that addresses the issue. – Persistent13 – 2017-08-22T22:26:46.047

@Persistent13 I ran the command that you specified and got back "No component store corruption detected." – skeletank – 2017-08-23T12:38:03.163

No answers