如何私自将windows kmdf驱动程序分发给客户端

如何私自将windows kmdf驱动程序分发给客户端,windows,driver,kmdf,Windows,Driver,Kmdf,我对windows驱动程序开发非常陌生。 我已经编写了一个KMDF windows驱动程序,并且能够使用VS deploy将其部署到目标机器上进行测试。它工作得很好,现在我想将这个驱动程序与使用这个驱动程序的应用程序一起发布 问题来了。。。我在谷歌上找不到任何东西告诉我们如何分发KMDF驱动程序(比如制作安装程序)。此驱动程序是一个高级筛选器驱动程序,它仅适用于我的应用程序,因此不应发布到windows update 我的问题是如何制作类似安装程序的东西来分发这个驱动程序?谢谢你的建议和指导

我对windows驱动程序开发非常陌生。 我已经编写了一个KMDF windows驱动程序,并且能够使用VS deploy将其部署到目标机器上进行测试。它工作得很好,现在我想将这个驱动程序与使用这个驱动程序的应用程序一起发布

问题来了。。。我在谷歌上找不到任何东西告诉我们如何分发KMDF驱动程序(比如制作安装程序)。此驱动程序是一个高级筛选器驱动程序,它仅适用于我的应用程序,因此不应发布到windows update

我的问题是如何制作类似安装程序的东西来分发这个驱动程序?谢谢你的建议和指导


编辑1
这是一个假的设备驱动程序(意味着没有物理设备可以驱动)

通常,软件的设备驱动程序不会通过Windows Update推出。英特尔、AMD、NVIDIA等供应商也有例外,但这是因为这些公司的知名度和使用率(他们将与微软合作)。你不能仅仅通过Windows Update将驱动程序推出

你需要一个数字签名来签署你的内核模式软件,只要你要将它分发到使用现代版本的Windowsx64的机器上(作为记录,即使WindowsVista x64也会强制执行这个要求)。这一要求目前不会出现在x86版本的Windows上,但实际上,不签署内核模式软件是不道德的

从Windows10上一个很早就发布的特定补丁开始,要求从普通的数字签名(可以用于签署内核模式二进制文件)变为EV数字签名;要获得用于内核模式软件签名的EV数字签名,您无疑需要合法注册为一家公司(可能还需要一个公司银行帐户)

有关这方面的更多信息,请参阅以下内容

这是一个转折点。。。对于使用安全引导的系统(新的现代系统现在倾向于默认启用安全引导,这是一种安全功能),您需要由Microsoft自己共同签署内核模式软件。这将要求您通过在线门户上传内核模式软件,与Microsoft共享该软件,但在进入该阶段之前,您仍然需要EV数字签名

有关Microsoft共同签名要求的更多信息,请参见以下内容(取决于环境):

注意:请不要试图想出规避这一点的想法(例如,在客户端系统上启用测试模式,然后为您的驱动程序使用测试证书,或者在依赖该证书的系统上禁用安全引导…这种解决方法会带来降低系统安全性的巨大代价,在现实世界中决不应作为此问题的解决方案应用)


对于实际安装设备驱动程序,您可以通过编程将.INF文件与Win32 API一起使用,然后使用例程以.INF启动service post安装。另请参阅:

或者,您可以自己向例程注册服务,然后用例程启动它(或者重新启动,并在启动时加载它,具体取决于服务创建的标志)

请记住,有时使用服务管理器时,在注册某些驱动程序类型(例如文件系统迷你过滤器)时,您会错过一些重要的事情,您需要手动处理,否则它将无法工作。请检查.INF,并确保在使用Service Manager进行安装时(如果您决定不依赖.INF),完成了需要完成的所有操作



希望这能帮助您达到您需要的位置。

通常,软件的设备驱动程序不会通过Windows Update推出。英特尔、AMD、NVIDIA等供应商也有例外,但这是因为这些公司是什么,以及它们的受欢迎程度/使用情况如何(他们将为此与Microsoft合作)。您不能通过Windows Update将驱动程序推出

只要要将内核模式软件分发到使用现代版本Windows x64的计算机上,就需要使用数字签名对其进行签名(请注意,即使是Windows Vista x64也会强制执行此要求)。此要求目前不会出现在x86版本的Windows上,但实际上,不签署内核模式软件是不道德的

从Windows 10上一个很早就发布的特定补丁开始,要求从普通数字签名(可用于签署内核模式二进制文件)变为必须是EV数字签名;要获得用于内核模式软件签名的EV数字签名,您无疑需要合法注册为公司(可能还需要公司银行账户)

有关这方面的更多信息,请参阅以下内容

不过,这里有一个转折点……对于使用安全引导的系统(新的现代系统现在倾向于默认启用它,这是一个安全特性),您将需要由Microsoft自己共同签署内核模式软件。这将要求您通过在线门户上传内核模式软件,与Microsoft共享内核模式软件,但在进入该阶段之前,您仍然需要EV数字签名

有关Microsoft共同签名要求的更多信息,请参见以下内容(取决于环境):

注意:请不要试图想出办法来规避这一点(例如,在客户端系统上启用测试模式,然后为您的驱动程序使用测试证书,或者在依赖它的系统上禁用安全引导…这样的解决方法会带来巨大的风险