我在vc ++ .net中开发了一个虚拟打印机驱动程序,它在32位环境下运行良好。但是当它安装在win7 64位时,它会抛出错误“无法完成操作(错误0x800f0214)”
rundll32 printui.dll,PrintUIEntry / if / b“printername”/ f“printer.inf”/ r“printer port”/ m“printer model”/ hx64
注意:printerdriver.dll是以64位编译的。
你能帮我解决一下这个问题吗?
答案 0 :(得分:1)
你的INF文件是否正确?使用INFGate.exe验证它,并且该工具不应报告任何错误。
如果INF文件正确,那么它必须是签名问题,请注意windows64位驱动程序需要签名,但32位驱动程序不需要签名。
为了对您的驱动程序进行签名,首先使用inf2cat.exe制作一个cat文件,然后使用签名工具对目录文件进行签名...所有这些工具都附带winddk ...
有关签名的详细信息,请查看此链接:http://msdn.microsoft.com/en-us/library/windows/hardware/ff544865(v=vs.85).aspx