如何在安装打印机驱动程序时避开Windows安全框



我创建了一个MSI包(使用InstallShield-IS),它将安装我的应用程序和MS Postscript驱动程序。我的问题主要集中在整个安装过程中的postscript驱动程序安装部分。我创建了一个IS自定义操作,以便在安装MS Postscript驱动程序的正确时间运行命令文件(.cmd)。命令文件包含以下rundll32行:CCD_ 1。

上面的工作原理很好地接受了我被一个需要用户输入的Microsoft警告框纠缠的事实。框中包含标题:Windows无法验证此驱动程序软件的发布者。我可以选择"无论如何都安装这个驱动程序软件"选项,整个过程确实有效。我对此进行了研究,即使在PrintUIEntry方法中添加了"run quiet"开关,似乎也没有办法避免警告。显然,我需要在我的司机身上签名以避开安检箱,但在哪里呢?我这里没有二进制代码。我的安装使用一个自定义INF文件,该文件只需委托Microsoft(通过ntprint.INF)安装Postscript驱动程序。Postscript驱动程序已在操作系统上。我只提供一个PPD文件。我的主要问题是我到底需要签署什么?我不熟悉驾驶员签名,如何才能做到这一点?

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

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

[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"

感谢您的帮助

将CatalogFile指令添加到inf文件的[Version]部分,使用inf2cat生成cat文件,然后使用signtoolcat文件进行签名。

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

您可以在WDK中找到inf2catsigntool

最新更新