Установка драйвера устройства программно

Мне нужно установить драйвер устройства (файл 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");
    }
Другие вопросы по тегам