deployment - 在应用程序安装中包含驱动程序

标签 deployment driver installation installshield

我用 C# 创建了一个依赖于特定驱动程序(基于 VMulti 的自定义虚拟 hid 驱动程序)的应用程序。

目前,一切正常,我想将应用程序和驱动程序合并到一个安装包中。截至目前,我的应用程序部分有一个 .exe 文件和一个 .dll 文件。我的驱动程序有一个 .inf 和 .sys 文件、hidkmdf.sys 和 WdfCoInstaller01009.dll(此 dll 来自 WDK)。我无法通过右键单击 inf 并单击安装的传统方法来安装驱动程序。相反,我使用 devcon 来安装它(命令是“install inffile.inf hardwareid”)

我尝试使用InstallShield LE,但只能安装应用程序,而不能安装驱动程序。经过一番搜索,我发现有人使用DIFxAPP来创建驱动程序的安装框架,但是,我不确定是否可以将其集成到InstallShield中,以便在应用程序安装过程中安装驱动程序。

所以我的主要问题是:将应用程序和驱动程序安装合并到一个包中的最佳和最简单的方法是什么(意味着 setup.exe 将安装驱动程序和应用程序)?

我对驱动程序开发和应用程序部署非常陌生,因此欢迎提出任何建议。

谢谢

编辑:最好该解决方案不需要任何付费工具。

最佳答案

实际上,有多种方法可以实现这一点,具体取决于您的 Windows 安装人员技能。
您没有为您的应用程序指定目标操作系统,因此我可以为您提供一些方法:

  1. PnpUtil.exe内部 Windows 7 实用程序(仅适用于 Windows 7)
  2. DPInst.exe包含到 WDK
  3. DifXAPI合并模块。

您可以通过自定义操作在所有这些实用程序的帮助下安装驱动程序。

注意:您的驱动程序应该经过签名,否则您将在静默安装过程中收到错误消息。

关于deployment - 在应用程序安装中包含驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027179/

相关文章:

c - 当 WFP 标注驱动程序以 SERVICE_SYSTEM_START 启动时,FwpmEngineOpen 返回 EPT_NT_CANT_PERFORM_OP

ubuntu - 在 ubuntu 16.04 中为 AMD 安装 OpenCL

c# - 通过 C# 使用 INF 文件安装 libusb 驱动程序

ruby - 不是 gzip 格式错误

azure - 将 netcoreapp1.1 部署到 Azure

.net - InstallShield 2012 - 使用 Microsoft Visual C++ 2012 Redistributable 部署应用程序?

docker - 如何在Docker中检查当前/默认日志记录驱动程序?

wcf - 为 WCF 服务自动创建和部署 SSL 证书

azure - 在从模板部署的突触管道中分配sparkpoolname时出现问题

c++ - 已发布的 qt .exe 无法在另一台计算机上打开