Я хотел бы развернуть USB-драйвер на основе .inf с моим установщиком.
Я предполагаю, что .inf нужно поместить в %SystemRoot%\inf
, но есть также .cat(сертификация WHQL, я думаю?) и .sys. Что мне делать с ними?
EDIT: Решено, благодаря полезным ответам. Я смог выполнить P/Invoke, поэтому у меня есть действие после установки, которое запускает следующий код:
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.");
}
}
}