分发Bonjour启用Windows应用程序的正确方法

时间:2015-05-11 11:31:05

标签: windows bonjour

我很担心将Bonjour作为Windows应用程序的一部分进行分发的正确方法,该应用程序将为客户端iOS应用程序发布服务。

无论我在谷歌周围多少,我都找不到明确的操作指南。如果有人能提供指导方针,那就太好了。

我混淆的主要原因是:

  • 是否必须将整个bonjour Win SDK作为Win应用程序的一部分进行分发?
  • 由于Apple提供了构建mDNSResponder.exe的源代码,仅将此类文件与dns-sd.dll一起分发就足够了吗?
  • 为mDNSResponder.exe提供源代码的目的是什么?
  • 处理系统中是否已安装Bonjour的可行方法是什么?
  • 另外,我在哪里可以找到最新的Bonjour SDK(3.x我猜?),我只能找到2.0.4。是否只有在我注册OSX开发人员计划时才可访问? (我现在就注册了iOS开发人员计划。)

非常感谢。

2 个答案:

答案 0 :(得分:0)

这是我从各种来源收集的信息,包括与官方Apple支持的通信。我以我认为准确的方式报告,我希望它有用(不承担任何责任!)。

对于支持Bonjour的Windows应用程序,您基本上有两个主要选项:

  • 将Bonjour安装程序与您的应用程序捆绑在一起(这不是Bonjour SDK,SDK仅供您自己的开发人员使用)。

    如果您选择这样做,则必须在安装过程中从您自己的安装程序中调用Bonjour安装程序。 Bonjour已安装在系统中的可能性完全由Bonjour安装人员处理。

    这里有一些坏消息:根据Windows捆绑协议中指定的Apple指南,必须在您的物理分发介质(如DVD封套)上包含de Bonjour徽标,您需要在分发产品之前获得Apple批准。

  • 请勿捆绑。即,不要将Bonjour与您的应用程序一起分发,而只是在系统中已经存在的情况下使用它。如果您不以任何形式分发Bonjour,则整个Windows捆绑协议根本不适用。您的应用程序应搜索dnssd.dll并在找到时动态加载它。

    考虑到大多数Windows用户已经安装了Bonjour,因为一些流行的应用程序使用它(例如iTunes和Skype)。

答案 1 :(得分:0)

尽管Bonjour的源代码在开源库(Apache许可证,版本2.0)下发布,但这不需要Apple做任何事情。特别是,他们不需要记录您如何使用此许可证。

该许可证允许您使用和改编Apple的源代码,包括其版权,但不包括其商标“ Bonjour(TM)”。由于这是标准的Apache许可证,因此您也不需要显示商标。

因此,回答您的问题:

  • 否,您可以从源代码构建自己的Bonjour版本,并在Apache许可下使用它。您不能称其为Bonjour,但为什么首先需要一个名称? “ mDNS”是一个合理的选择,可能以您的商标为前缀。
  • 分发DLL和EXE似乎已足够。进行剪裁可以安排他们如何找到对方,因此,您自己打造的Bonjour不会与Apple的冲突。
  • (我不会猜测苹果的动机)
  • 这里的设计问题是Bonjour充当系统服务,而服务本质上是单例。如果您未经修改安装,Apple将无法安装自己的版本。可能这不是法律问题,但这是糟糕的客户体验。将您自己的构建作为独特的服务安装将避免冲突,从而允许两个版本共存。
  • (资源请求,主题外)