2

My problem is similar to the one described in https://serverfault.com/questions/257118/how-to-disable-ipv6-on-a-particular-network-interface-using-server-core - just on Windows 7. The answers seemed helpful at first, but are not fully satisfactory for me. I think there is something missing.

I want to unbind IPv6 from the vmware network adapters of the vmware Player software, as this causes problems with some of our products. Disabling IPv6 for the whole system is something I do not dare to do. I want to do the adapter-specific IPv6-unbinding in the installation of our product on the client's PCs, so just unchecking the property by mouse click doesn't do it.

I'm reading the network adapters' GUIDs by checking the subkeys of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}. If I find a vmnet subkey, probably by looking for a fitting ComponentId (e. g. "*vmnetadapter1"), I read the NetCfgInstanceId value to get the GUID of the adapter.

Then I remove the lines with this GUID from the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Linkage-values Bind, Export and Route.

The answers to the aforementioned question only talked about the Bind key, but I compared the registry before and after unchecking the IPv6 protocol entry in the adapter's settings in the UI and found the other values changed as well. I've also noticed that the vmnet subkey, that I've mentioned before, had a change in the UpperBind value - the line Tcpip6 was removed. So I did this, too.

I hoped, by changing these 4 registry values, the next time I'd open the settings of the adapter, I would find the IPv6 protocol entry unchecked. I did not. I've even tried to create the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\NetCfgLockHolder before my changes and to delete it afterwards - just like what happens when I'm unchecking the entry by UI. Still doesn't work. A restart of Windows didn't change anything either.

Another registry value that is changed when doing the unchecking manually, is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\Config. But this REG_BINARY value is incomprehensible for me, so I don't know if I should change this value too, if I could.

What am I missing? Is it the one strange key that I should've changed anyhow? Do I have to force the system to re-read the registry somehow?

Or is the registry approach wrong? I didn't come far with the powershell approach Disable-NetworkadapterBinding, because Win7 doesn't provide this function. The "unofficial" Microsoft tool "Hyper-V Network VSP Bind (nvspbind)" did actually uncheck the checkbox, but its License prohibits publishing and "You may install and use (...) for your use solely with Windows Server 2008 Hyper-V ..." (no Win7).

If I've written something unclear, please comment and I'll try to improve this. Thanks @ BlueCompute for mentioning that this is unbinding, not disabling; this lead to better search results.

4
  • Even disabling IPv6 on a single interface puts Windows into an unsupported configuration. You would do better for your clients to fix the application. Apr 24, 2015 at 15:36
  • @MichaelHampton: Why would you say that? Disabling IPv6 is as simple as unchecking an option when using the GUI. I don’t see how this would be an unsupported configuration.
    – Daniel B
    Apr 27, 2015 at 5:45
  • Unchecking that box doesn't disable IPv6, it unbinds it from that NIC. Apr 29, 2015 at 13:32
  • Copy and store the HKLM\SYSTEM\CurrentControlSet\Control\Network\Config with the TCP/IP6 enabled and disabled, so you'll have both values stored in some files, when you want to change that programatically you can just write the content of the proper file to the registry again.
    – Math
    Oct 14, 2015 at 18:31

0

You must log in to answer this question.

Browse other questions tagged .