【问题标题】:WIX Installer for a INF based printer Driver基于 INF 的打印机驱动程序的 WIX 安装程序
【发布时间】:2017-07-07 03:59:25
【问题描述】:

我正在尝试使用 WIX 为打印机驱动程序制作安装程序

我有

  • 一些 Dll
  • *.cat 文件
  • *.gdp 文件
  • *.inf 文件

我正在考虑使用 INF 来部署驱动程序,但不知道如何实现它。

我也播this Question,(可能重复) 但作为一个初学者,我无法完全理解如何去做。

我需要自己将这些 DLL 和其他文件复制到相关文件夹并写入注册表。 或者他们是否有任何简单的方法可以使用 INF 文件通过 WIX 的引擎完成任务?如果是,谁能教我应该遵循的步骤?


我尝试将所有必要的文件复制到一个文件夹中

  <Component Id="PRNDRV_cat" Guid="{4fba0d21-64bb-458d-9b78-23aed7a39d14}" Directory = "PrinterFolder">
    <difx:Driver Legacy='yes' />
      <File Id="Catalog" Name="sielprndrv.cat" Source="Printer\prndrv.cat" />
      <File Id="DataBase" Name="SIELPRNDRV.gpd" Source="Printer\PRNDRV.gpd" />
      <File Id="Info" Name="SIELPRNDRV.inf" KeyPath="yes" Source="Printer\PRNDRV.inf" />
      <File Id="ini" Name="SIELPRNDRV.ini" Source="Printer\PRNDRV.ini" />
  </Component>

并使用以下命令编译

candle -ext WixDifxAppExtension SielDrivers.wxs
light -ext WixUIExtension -ext WixDifxAppExtension SielDrivers.wixobj difxapp_x64.wixlib -o Setup.msi

安装后,我可以看到它已在“程序和功能”中列出,但没有作为打印机添加到“设备和打印机”中。

我错过了什么?

【问题讨论】:

    标签: wix installation wix3.6


    【解决方案1】:

    您应该检查 setupapi.dev.logsetupapi.app.log
    您可能知道错误代码。
    您可以在 %SystemRoot%\inf 找到日志。
    https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi-device-installation-log-entries


    使用“设备和打印机”中的“添加打印机”按钮是否成功?
    如果没有,请检查驱动程序包。
    您可以复制 Dll 以使用 INF CopyFiles 指令,也可以注册 Dll 以使用 INF RegisterDlls 指令。

    【讨论】:

    • 问题出在 *.inf 文件中,它应该有连接设备的设备 ID。但是使用“控制面板-> 添加打印机”安装,不需要设备 ID,不要不知道为什么。但添加正确的设备 ID 解决了我的问题。谢谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2016-10-07
    相关资源
    最近更新 更多