强制终止 WIA 或 TWAIN 驱动程序(扫描仪)
Force terminate WIA or TWAIN driver (scanner)
我遇到了一个非常烦人的问题。当我尝试静默安装程序时,该程序依赖于 WIA 或 TWAIN 驱动程序(用于扫描仪)而不是 "in use"。问题是驱动可以"in use"即使扫描仪从电脑上拔掉(如果之前插过,驱动还在使用,拔掉后不停止使用)
我的问题是,据您所知,是什么控制了这个 WIA/TWAIN 驱动程序?它是我可以强制关闭的服务还是流程?
我为 WIA 找到了这 2 个服务:
stisvc
WiaRpc
但与 TWAIN 无关。
我的目标是在安装脚本中添加强制关闭,以确保在安装之前 WIA 或 TWAIN 无法使用。
我找到了解决方案,可能对其他遇到这些驱动程序问题的人有用。首先下载 SysInternals 的 ListDlls : https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls
然后使用 PowerShell:
Stop-Service -Name stisvc -Force
[string]$twain_utilise = C:\TEMP\Listdlls.exe -d TwainDSM.dll | select-string "pid"
if ($twain_utilise) {
$processus = ($twain_utilise -Split(": "))[1]
}
Stop-Process -id $processus -Force
解释:
-停止负责 WIA 的服务 STISVC (Windows Image Acquisition (WIA))
-运行 ListDlls.exe on TWAINDSM.DLL 通过选择已找到程序的 PID 找出正在使用 dll 的内容。
-如果命令成功(换句话说,如果找到 PID,意味着程序正在使用该 DLL),拆分内容以便您可以仅隔离 PID 号。
-用它的 PID 停止进程,这样 TWAIN 就不再使用了
您现在已经停止使用 WIA 或 TWAIN,可以继续安装要求这些驱动程序停止使用的驱动程序或软件!干杯。
我遇到了一个非常烦人的问题。当我尝试静默安装程序时,该程序依赖于 WIA 或 TWAIN 驱动程序(用于扫描仪)而不是 "in use"。问题是驱动可以"in use"即使扫描仪从电脑上拔掉(如果之前插过,驱动还在使用,拔掉后不停止使用)
我的问题是,据您所知,是什么控制了这个 WIA/TWAIN 驱动程序?它是我可以强制关闭的服务还是流程?
我为 WIA 找到了这 2 个服务:
stisvc
WiaRpc
但与 TWAIN 无关。
我的目标是在安装脚本中添加强制关闭,以确保在安装之前 WIA 或 TWAIN 无法使用。
我找到了解决方案,可能对其他遇到这些驱动程序问题的人有用。首先下载 SysInternals 的 ListDlls : https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls
然后使用 PowerShell:
Stop-Service -Name stisvc -Force
[string]$twain_utilise = C:\TEMP\Listdlls.exe -d TwainDSM.dll | select-string "pid"
if ($twain_utilise) {
$processus = ($twain_utilise -Split(": "))[1]
}
Stop-Process -id $processus -Force
解释:
-停止负责 WIA 的服务 STISVC (Windows Image Acquisition (WIA))
-运行 ListDlls.exe on TWAINDSM.DLL 通过选择已找到程序的 PID 找出正在使用 dll 的内容。
-如果命令成功(换句话说,如果找到 PID,意味着程序正在使用该 DLL),拆分内容以便您可以仅隔离 PID 号。
-用它的 PID 停止进程,这样 TWAIN 就不再使用了
您现在已经停止使用 WIA 或 TWAIN,可以继续安装要求这些驱动程序停止使用的驱动程序或软件!干杯。