A few weeks ago I uninstalled some crappy "Apple Bonjour" service from my PC. Job done I thought.
Or not...
I rebooted today after installing some routine Windows Updates.
Upon getting back into Windows I knew something was not right. It took AGES to get to the desktop. Then a bubble in the Systray appeared saying some COM Event service couldn't start. Then I noticed I had ZERO network access at all. Even going into the Networking control panels resulted in lots and lots of errors like "Service dependency not started". The DHCP Client service was stuck on the "Starting" state in Services.msc. Not a good sign.
I suspected it was related to the Bonjour service from the start. Because I knew that that piece of crap installs a LSP (layered service provider) into the Winsock API. These LSPs tend to be very fragile little things.
Anyway, no matter I thought. A simple case of doing a "netsh winsock reset" command from an elevated command prompt.
Not so. I tried this numerous times. Whilst I could see using Sysinternals ProcMon that it was doing what it deemed a full reset of my networking stack. It was not really a "full" reset.
Even the Netsh tool was giving errors. Some "wshhttp.sys" couldn't initialize and an 11003 error code.
Somewhere else on Google mentioned doing a "netsh ip reset" but that didn't have any affect either.
I was beginning to run out of ideas. But I fired up RegEdit (for about the 20th time) and took a look at the HKLM\System\Services\Winsock2 set of keys.
I noticed that there were a set of keys for 32-bit WoW and the native 64-bit keys as well. But, after a while I noticed there was a irregularity between these two. On the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5 are two keys called "Num_Catalog_Entries" and "Num_Catalog_Entries64". The former was set to 6 and the latter was on 7. Strange. Given that the sub-keys underneath these there were only 6 in each, both 32 and 64-bit.
So I took a punt and set the Num_Catalog_Entries64 key to 6.
Rebooted, and it was all fixed.
So it would appear that Apple Bonjour installed a 64-bit driver but then the uninstaller was a 32-bit application and therefore didn't decrement this special counter in the registry like it should have done.
Poor show, Apple. Poor show.
I'm going to alter my Registry security privileges to prevent anything modifying this clearly very sensitive area. Because generally any software that relies upon inserting an LSP driver into your Winsock stack is software you don't want to install anyway.
Or not...
I rebooted today after installing some routine Windows Updates.
Upon getting back into Windows I knew something was not right. It took AGES to get to the desktop. Then a bubble in the Systray appeared saying some COM Event service couldn't start. Then I noticed I had ZERO network access at all. Even going into the Networking control panels resulted in lots and lots of errors like "Service dependency not started". The DHCP Client service was stuck on the "Starting" state in Services.msc. Not a good sign.
I suspected it was related to the Bonjour service from the start. Because I knew that that piece of crap installs a LSP (layered service provider) into the Winsock API. These LSPs tend to be very fragile little things.
Anyway, no matter I thought. A simple case of doing a "netsh winsock reset" command from an elevated command prompt.
Not so. I tried this numerous times. Whilst I could see using Sysinternals ProcMon that it was doing what it deemed a full reset of my networking stack. It was not really a "full" reset.
Even the Netsh tool was giving errors. Some "wshhttp.sys" couldn't initialize and an 11003 error code.
Somewhere else on Google mentioned doing a "netsh ip reset" but that didn't have any affect either.
I was beginning to run out of ideas. But I fired up RegEdit (for about the 20th time) and took a look at the HKLM\System\Services\Winsock2 set of keys.
I noticed that there were a set of keys for 32-bit WoW and the native 64-bit keys as well. But, after a while I noticed there was a irregularity between these two. On the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5 are two keys called "Num_Catalog_Entries" and "Num_Catalog_Entries64". The former was set to 6 and the latter was on 7. Strange. Given that the sub-keys underneath these there were only 6 in each, both 32 and 64-bit.
So I took a punt and set the Num_Catalog_Entries64 key to 6.
Rebooted, and it was all fixed.
So it would appear that Apple Bonjour installed a 64-bit driver but then the uninstaller was a 32-bit application and therefore didn't decrement this special counter in the registry like it should have done.
Poor show, Apple. Poor show.
I'm going to alter my Registry security privileges to prevent anything modifying this clearly very sensitive area. Because generally any software that relies upon inserting an LSP driver into your Winsock stack is software you don't want to install anyway.