Actually I figured it out eventually. I had to change the bonjour code for windows platform, so that instead of looking for the dll in the registry, it will find it locally, load it, and then use it.
The code to change:
if sys.platform == 'win32':
# Need to use the stdcall variants
_libdnssd = ctypes.windll.dnssd
_CFunc = ctypes.WINFUNCTYPE
What to change it with:
Just have a look at how the library is trying to load the dnssd lib for Linux. I do not have the code in front of me, but it should be like this:
_libdnssd = ctypes.cdll.LoadLibrary("dnssd.dll")
Then it is just a matter of including the dnssd.dll in my dist folder, so my users do not have to download and install Apple's Bonjour.
Of course, there is also the matter of including the logo and obtaining permission from Apple - if you're making commercial software.