Como implantar um driver baseado em .inf?

ostaria de implantar um driver USB baseado em .inf com meu instalado

Acho que o .inf precisa ser colocado em%SystemRoot%\inf, mas também há arquivos .cat (certificação WHQL, acho?) e .sys. O que eu faço com isso?

EDITAR Resolvido, graças às respostas úteis. Consegui P / Invocar a função, então eu tenho uma ação pós-instalação que executa o seguinte código:

namespace DriverPackageInstallAction
{
    static class Program
    {
        [DllImport("DIFXApi.dll", CharSet = CharSet.Unicode)]
        public static extern Int32 DriverPackagePreinstall(string DriverPackageInfPath, Int32 Flags);

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            DirectoryInfo assemblyDir = new DirectoryInfo(Application.ExecutablePath);
            DirectoryInfo installDir = assemblyDir.Parent;

            int result = DriverPackagePreinstall(installDir.FullName + @"\Driver\XYZ.inf", 0);
            if (result != 0)
                MessageBox.Show("Driver installation failed.");
        }
    }
}

questionAnswers(2)

yourAnswerToTheQuestion