我创建了一个 MSI 包(使用 InstallShield - IS),它可以安装我的应用程序以及 MS Postscript 驱动程序。我的问题主要集中在我整个安装过程中的 postscript 驱动程序安装部分。我创建了一个 IS 自定义操作以在安装 MS Postscript 驱动程序的正确时间运行命令文件 (.cmd)。命令文件包含以下 rundll32 行:
rundll32 printui.dll, PrintUIEntry /ia /m "AppX PS" /h "x64" /v "Type 3 - User Mode" /f "c:\(install)\afprint.inf" /F "%windir%\inf\ntprint.inf"
.
对于我被需要用户输入的 Microsoft 警告框所困扰的事实,上述方法非常有效。该框包含标题:Windows 无法验证此驱动程序软件的发布者。我可以选择“仍然安装此驱动程序软件”选项,整个过程确实有效。我确实对此进行了研究,即使我将“运行安静”开关添加到 PrintUIEntry 方法,似乎也没有办法避免警告。显然,我需要签署我的司机以避免安全箱,但在哪里?我这里没有二进制代码。我的安装使用一个自定义 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"
谢谢你的帮助