Having recently installed Windows 8 on my laptop to take advantage of the Client Hyper-V, I’m working through the kinks that come with a new OS on my daily driver. Hyper-V leverages the built-in Internet Connection Sharing (ICS) to provide NAT and DHCP for internet access for VM’s running on the hypervisor. This isn’t quite as intuitive as the network implementations in VMware Workstation or Oracle’s VirtualBox, but that’s a different discussion.
I recently had some trouble establishing the VPN connection, and set about re-installing Cisco AnyConnect as a result. During the install, a notification box popped up numerous times to warn me: “The VPN client agent was unable to create the interprocess communication depot.”
The install completed after clicking OK on the notifications, but would not establish a VPN connection, with a not so informative message “Unable to establish VPN”. A bit of searching later, I found that AnyConnect is not compatible with Internet Connection Sharing, which Cisco states in the AnyConnect VPN Client FAQ.
The solution is to disable the ICS service before installing AnyConnect. Subsequently, when trying to connect, I encountered connection failures:

AnyConnect was not able to establish a connection to the specified secure gateway. Please try connecting again.
The solution is again to disable the ICS service, establish the AnyConnect VPN connection, and then enable ICS. Oddly, it seems that after the first failed connection attempt followed by stop / connect / restart cycle of the ICS service, AnyConnect can be reconnected without any trouble. Tedious, but it works. Ping me back if you know a better way!
Perfect – this was just what I needed – thanks!
Thanks! I just discovered this problem. Perhaps I will make a batch file to minimize the effort of this workaround.
I found an even better workaround! If you use vpncli.exe instead of the graphical interface the issue does not occur.
While sharing the Internet (ICS). It isn’t working even if I use vpncli.exe…. this software from Cisco is complete rubbish…
Exactly what I needed! Here’s my batch and script file to make connecting easy:
ConnectVPN.bat
===
net stop SharedAccess
“C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe” -s < C:\Scripts\ConnectScript.txt
net start SharedAccess
===
ConnectScript.txt
===
connect [vpn address]
[optional: groupname]
[username]
[password]
===
(replace […] with your login info)
DisconnectVPN.bat
===
"C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" disconnect
===