代码之家  ›  专栏  ›  技术社区  ›  Nick

如何部署基于.inf的驱动程序?

  •  19
  • Nick  · 技术社区  · 17 年前

    我想.inf应该放在 %SystemRoot%\inf ,但也有一个.cat(我想是WHQL认证?)和.sys文件。我该怎么处理这些?

    编辑: 由于得到了有益的回答,问题得以解决。 我能够P/调用该函数,因此我有一个安装后操作,该操作运行以下代码:

    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.");
            }
        }
    }
    
    2 回复  |  直到 17 年前
        1
  •  8
  •   Community Mohan Dere    6 年前

    我会从阅读有关 SetupAPI DIFx . Windows驱动程序工具包包括 samples 其中包括基于DIFx的合并模块和基于DIFx的WiX库。命令行的源代码 devcon

        2
  •  0
  •   Shalom Craimer    17 年前

    您可以尝试要求shell为您安装它:

    %SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 YOUR_FILE.inf
    

    但我100%肯定有更好的方法。。。