2014-10-09 129 views
1

我正尝试使用WDK和打印驱动程序v4创建虚拟打印驱动程序。我想要在系统中安装虚拟打印机,在打印时显示我自己的用户界面 - 理想情况下是.NET win或wpf表单。最终,虚拟打印机将联系Web服务,并将在那里发送包含在UI中输入的元数据的XPS文件+ XML。v4打印驱动器的虚拟打印机驱动程序INF配置

我尝试使用v4驱动程序。到目前为止,我tryed修改打印机项目在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部署驱动程序(赢8.1的Hyper-V)。 Visual Studio在部署时返回错误。可惜的是,登录C相关信息:\ DriverTest \日志不是非常有用的 - 说“错误HRESULT E_FAIL已从调用返回至COM组件”

我也tryed通过运行命令手动安装驱动程序:

rundll32 printui.dll,PrintUIEntry /ia /f "D:\Driver\MyV4PrintDriver.inf" /m "Test print driver" 

但我收到0x80004005 - 未指定的错误。

日志文件%windir%\ inf \ setupapi。*不包含任何错误消息。 - 通过Visual Studio运行部署和运行命令的日志zip是here

我的问题是: - 有谁知道什么可能是错误的吗? - 我的INF文件的语法是否正确,尤其是硬件ID的一部分? - 我没有HWID,因为我安装虚拟打印机:

[Standard.NT$ARCH$] 
%PrinterName%=DriverInstall,,test_virtual_printer 
  • 驱动器封装与测试证书签名,但运行

    signtool验证/ V/C myv4printdriver.cab myv4printdriver.inf

提供了一个错误 - “证书链已处理,但终止于信任提供者不信任的根证书”。我的测试证书安装在测试机器上的受信任的根证书..

  • 该日志应启用/支票或我应该使用哪种工具,以更好地看到错误消息或找到什么是错的一些可能的信息?

回答

0

SetupApi日志将提供更多信息,无论它是否足以解决问题,我不确定。我遇到了类似的问题,虽然日志很全面,但在这个场合他们没有帮助。

无论哪种方式,您都需要启用一些注册表。详情请看这里: - 对不起,只需重新阅读帖子。看起来你已经看过日志。我无法从帖子中知道详细设置,因此您可以查看您的SetupAPI日志是否设置为最详细,以查看是否可以获取更多信息。你可以在这里看到的设置:

https://msdn.microsoft.com/en-us/library/windows/hardware/ff550808%28v=vs.85%29.aspx

从本质上讲,你需要在此注册表更改值:

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ SETUP \ LogLevel的

另外,从报告的最后一个错误,因为它是v4驱动程序,听起来很可能是由于Windows 8签名的驱动程序实施规则。它需要安装和信任证书。如果不是,它将无法安装驱动程序。

假设你只是想获得工作的用于测试目的的事情,有两个选项,您可以:

Bcdedit.exe -set TESTSIGNING ON

  • 安装您在目标设备上使用的证书
相关问题