通过编程语言安装驱动程序

通过编程语言安装驱动程序

我有一个名为 X 的驱动程序,它管理硬件组件 A。我想删除该驱动器,并将其替换为一个名为 Y 的驱动器,它也管理组件 A。

到目前为止,我一直在使用 .NET Framework 6.0、C# 编程语言以及 PNPU​​til.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

资料来源:

相关内容