我可以在没有用户登录的情况下安装内核模式驱动程序吗?

Can I install a kernel mode driver without user being logged in?

有什么方法可以安装我的驱动程序无需用户登录。

详情:

我的驱动程序使用有效的扩展验证证书签名。 (它也通过了 MS 驱动程序签名)

我有一个 AdvancedInstaller 安装项目,其中包含安装该驱动程序的自定义操作。

当用户登录时,驱动程序安装并运行完美无缺,如果我 运行 静默安装或通过安装 UI.

但是,当用户退出,并且安装程序运行静默地通过"remote install program" (如PDQ Runner)...设备驱动安装失败

代码:

这是安装设备驱动程序的高级安装程序自定义操作:

File to Launch : RUNDLL32.EXE
Command Line   : SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 [#MyDriver.inf]

注释:

我已经联系了 PDQ Runner,他们非常乐于助人,并用他们的最新版本测试了我的安装程序(超出了职责范围!)并回复:

we've narrowed down what we think your customers have been encountering. 
It boils down to Deploy attempting to be as unobtrusive as possible and 
initiating a non-interactive session for deployments. In nearly all cases,
this is perfectly fine. But when the installer attempts to finish off and
install the driver, it's trying to do so in an interactive fashion. 
It fails (very un-specifically in the install log, rather annoyingly 
- but I digress) to do so, but the install reports a success overall. 
The big catch is that the user running the install must be logged onto the
machine during the deployment.

这是我的.inf 内容:

[Version]
DriverVer = 05/02/2018,10.14.19.8
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider="PDetect40
CatalogFile=PDetect40.cat

[SourceDisksNames]
1="PDetect"

[SourceDisksFiles]
PDetect40.sys=1

[DestinationDirs]
DefaultDestDir=12

;
; Installation
;

[DefaultInstall]
CopyFiles=PDetect.Files

[DefaultInstall.Services]
AddService=PDetect,,PDetect.Service

[DefaultInstall.ntamd64]
CopyFiles=PDetect.Files64

[DefaultInstall.ntamd64.Services]
AddService=PDetect40,,PDetect.Service64

;
; Uninstallation
;

[DefaultUninstall]
DelFiles=PDetect.Files

[DefaultUninstall.Services]
DelService=PDetect,0x200

[DefaultUninstall.ntamd64]
DelFiles=PDetect.Files64

[DefaultUninstall.ntamd64.Services]
DelService=PDetect,0x200

;
; Driver details
;
[PDetect.Files64]
PDetect40.sys,,,2

[PDetect.Service64]
DisplayName    = "PDetect40"
ServiceType    = 1
StartType      = 1
ErrorControl   = 1
ServiceBinary  = %12%\PDetect40.sys

答案是"no"你不能。同样,我不得不雇用 "device driver programmer to get an answer"