2017-07-07 129 views
5

我试图使一个打印机驱动程序的安装,使用维克斯WIX安装一个基于INF打印机驱动程序

  • 某些DLL
  • 一个* .cat文件,
  • A * .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 

安装完成后编制的,我可以看到它已经上市的“程序和功能',但没有添加到'设备和打印机'作为打印机。

我错过了什么?

回答

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指令,并且可以注册Dlls以使用INF RegisterDlls指令。

+0

问题出在* .inf文件中,它应该有连接设备的设备ID。不过安装时使用“控制面板 - >添加打印机”,不需要设备ID,不要为什么。但添加正确的设备ID解决了我的问题。感谢您的帮助。 – mhs

相关问题