Установка драйвера устройства программно
Мне нужно установить драйвер устройства (файл INF) через C#. Я использовал функцию UpdateDriverForPlugAndPlayDevices. Тем не менее, он возвращает мне FALSE, но GetLastError() возвращает значение 0, что указывает на сообщение об успешном завершении установки. Не уверен, правильно ли я поступаю или нет. Кто-нибудь может помочь? Спасибо заранее, P
2 ответа
Вы должны посмотреть на источник для devcon. Он доступен в WDK и это именно то, что вам нужно. В частности, найдите способ, которым devcon установит INF-файл. Я все еще использую Windows 7 WDK, и он находится по адресу C:\WinDDK\7600.16385.1\src\setup\devcon
,
Вы, вероятно, обнаружите, что он использует SetupCopyOEMInf()
функция, которую вы должны попробовать использовать из вашего приложения C# тоже.
Этот простой код работал для меня
private void driverInstall()
{
var process = new Process();
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c C:\\Windows\\System32\\InfDefaultInstall.exe " + driverPath; // where driverPath is path of .inf file
process.Start();
process.WaitForExit();
process.Dispose();
MessageBox.Show(@"ADB / Fastboot / Google Android Driver has been installed");
}