我正在尝试使用 WDK 和打印驱动程序 v4 创建虚拟打印驱动程序。我想在系统中安装虚拟打印机,在打印时显示我自己的 UI - 在理想情况下是 .NET win 或 wpf 表单。最后,虚拟打印机将联系 Web 服务并将包含在 UI 中输入的元数据的 XPS 文件 + XML 发送到那里。
我尝试使用 v4 驱动程序。到目前为止,我尝试在 Visual Studio 2013 中修改打印机项目,这是我的 inf 文件:
[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=MyV4PrintDriver.cat
ClassVer=4.0
DriverVer=08/01/2012,1.0.0.0
[DestinationDirs]
DefaultDestDir = 66000
[SourceDisksNames]
1 = %DiskName%,,,""
[SourceDisksFiles]
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$
[Standard.NT$ARCH$]
%PrinterName%=DriverInstall,,test_virtual_printer
[Strings]
ManufacturerName="My company"
PrinterName="Test print driver"
DiskName="MyV4PrintDriver Installation Disk"
[DriverInstall]
CopyFiles=DriverFiles
[DriverFiles]
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
我有测试 PC 将驱动程序部署到(HyperV 中的 Win 8.1)。Visual Studio 在部署时返回错误。不幸的是,C:\DriverTest\Logs 中的日志信息不是很有用 - 说“错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回”
我还尝试通过运行命令手动安装驱动程序:
rundll32 printui.dll,PrintUIEntry /ia /f "D:\Driver\MyV4PrintDriver.inf" /m "Test print driver"
但我收到 0x80004005 - 未指定的错误。
日志文件 %windir%\inf\setupapi.* 也不包含任何错误消息。- 使用 Visual Studio 运行部署和运行命令的日志压缩在这里
我的问题是: - 有人知道可能出了什么问题吗?- 我的 INF 文件语法是否正确,尤其是硬件 ID 部分?- 我没有 HWID,因为我正在安装虚拟打印机:
[Standard.NT$ARCH$]
%PrinterName%=DriverInstall,,test_virtual_printer
驱动程序包使用测试证书签名,但正在运行
signtool verify /v /c myv4printdriver.cab myv4printdriver.inf
给出错误 - “已处理证书链,但在信任提供者不信任的根证书中终止”。我的测试证书安装在受信任的根证书中的测试机器上..
- 我应该启用/检查哪个日志或应该使用哪个工具,以便查看更好的错误消息或找到一些可能的错误信息?