我有一个名为 X 的驱动程序,它管理硬件组件 A。我想删除该驱动器,并将其替换为一个名为 Y 的驱动器,它也管理组件 A。
到目前为止,我一直在使用 .NET Framework 6.0、C# 编程语言以及 PNPUtil.exe 来安装驱动程序,但我认为我的方法是错误的,因为我一直在执行以下操作:
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "PnPUtil.exe",
Arguments = $"-i -a \"{driverFile}\"",
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardError = true,
};
这只是安装,控制台中的设备显示已安装,但当我进入设备管理并按驱动程序查找设备时,我找不到我的驱动程序 Y。我正在寻找答案来演示或指向有关如何执行此操作的教程,以及 PowerShell 是否也可以复制此操作。我的操作系统是 Windows 11。
答案1
您安装了驱动程序,但它是否用于设备取决于其.inf
文件中的驱动程序定义。
请注意,如果您安装较旧的驱动程序,Windows 可能会自动将其更新为较新的版本。要阻止该更新,请参阅 这个答案。
安装驱动程序的 Windows 命令是 公共网络实用程序,使用以下命令:
pnputil -i -a <driverinf>
如果要安装的 INF 有一个DefaultInstall
部分,也可以用以下命令进行安装:
rundll32 advpack.dll,LaunchINFSection <PathTo>\name.inf,,1
如果DefaultInstall
不存在某个部分,那么您需要使用以下命令查找要调用哪个安装部分:
rundll32 advpack.dll,LaunchINFSection <PathTo>\name.inf,<InstallSection>,1
资料来源: