Printing 如何在打印机驱动程序安装过程中避免Windows安全框

Printing 如何在打印机驱动程序安装过程中避免Windows安全框,printing,driver,signing,postscript,rundll32,Printing,Driver,Signing,Postscript,Rundll32,我已经创建了一个MSI包(使用InstallShield-IS)来安装我的应用程序和MS Postscript驱动程序。我的问题主要集中在我整个安装过程中的postscript驱动程序安装部分。我创建了一个IS自定义操作,以便在安装MS Postscript驱动程序的正确时间运行命令文件(.cmd)。命令文件包含以下rundll32行: 运行dll32 printui.dll,printui条目/ia/m“AppX PS”/h“x64”/v“类型3-用户模式”/f“c:\(安装)\afprint

我已经创建了一个MSI包(使用InstallShield-IS)来安装我的应用程序和MS Postscript驱动程序。我的问题主要集中在我整个安装过程中的postscript驱动程序安装部分。我创建了一个IS自定义操作,以便在安装MS Postscript驱动程序的正确时间运行命令文件(.cmd)。命令文件包含以下rundll32行:
运行dll32 printui.dll,printui条目/ia/m“AppX PS”/h“x64”/v“类型3-用户模式”/f“c:\(安装)\afprint.inf”/f”%windir%\inf\ntprint.inf“

上述方法非常有效,因为我被一个需要用户输入的Microsoft警告框困扰。该框包含标题:Windows无法验证此驱动程序软件的发布者。我可以选择“无论如何安装此驱动程序软件”选项,整个过程都正常。我对此进行了研究,即使我在printuitery方法中添加了“runquiet”开关,似乎也没有办法避免警告。显然,我需要在我的司机身上签名以避开安全箱,但是在哪里呢?我这里没有二进制代码。“我的安装”使用一个自定义INF文件,该文件仅委托给Microsoft(通过ntprint.INF)进行Postscript驱动程序安装。Postscript驱动程序已在操作系统上。我只提供一个PPD文件。我的主要问题是我到底需要签署什么?由于我不熟悉驾驶员签名,我如何做到这一点

我正在windows 2008 R2 x64上运行此程序

这是我的INF afprint.INF的副本(很小):

感谢您的帮助

inf
文件的
[Version]
部分添加指令,使用生成
cat
文件,然后使用对
cat
文件签名

如果您使用的证书由Microsoft交叉签名,则不会出现安装程序安全警告


您可以在WDK中找到
inf2cat
signtool

您的答案正确无误。我已经验证了inf2cat和signtool。我使用自签名证书进行测试,得到了相同的警告框。关于女士交叉签名证书必要性的好消息。我将从Thawte订购真正的代码签名证书并重试。从Thawte订购代码签名证书并使用signtool对我的cat文件进行签名。这确实奏效了。我仍然会收到一个安全对话框,但不会像以前那样收到红色警告。
[Version]
Signature="$Windows NT$"
Provider=%AF%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=05/17/2007,1.0.0.1

[Manufacturer]
%AF%=Arbfile,NTamd64

[Arbfile]
"AppX PS" = AFCLIENT,,

[Arbfile.NTamd64]
"AppX PS" = AFCLIENT,,

[OEM URLS]
"Arbfile"   =   "http://www.arbfile.org"

[AFCLIENT]
CopyFiles=@AFCLIENT.PPD
DataFile=AFCLIENT.PPD
DataSection=PSCRIPT_DATA
Include=NTPRINT.INF
Needs=PSCRIPT.OEM,PSCRIPT_DATA

[DestinationDirs]
DefaultDestDir=66000

[Strings]
AF="Arbfile"