@msdn=http://msdn2.microsoft.com/en-us/library/ms793484.aspx @pinvoke=http://pinvoke.net/$$$.htm Summary: The DriverPackageInstall function preinstalls a driver package in the driver store and then installs the driver in the system !!!!C# Signature: [DllImport("DIFxAPI.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern Int32 DriverPackageInstall([MarshalAs(UnmanagedType.LPTStr)] string DriverPackageInfPath, Int32 Flags, IntPtr pInstallerInfo, out bool pNeedReboot); [DllImport("DIFxAPI.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern Int32 DriverPackageInstall( ref String DriverPackageInfPath, [In] Int32 Flags, IntPtr pInstallerInfo, out Boolean pNeedReboot ); !!!!VB Signature: Public Declare Auto Function DriverPackageInstall Lib "DIFxAPI.dll" (ByVal DriverPackageInfPath As String, ByVal Flags As Int32, ByVal pInstallerInfo As IntPtr, ByRef pNeedReboot As Boolean) As Int32 !!!!User-Defined Types: DIFxAPI Constants - see http://www.pinvoke.net/default.aspx/Constants.DIFxAPI%20Constants [INSTALLERINFO] !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: To use this function you just need difxapi.dll of appropriate architecture from Windows Server 2008/Vista WDK. The DriverStore will be created automatically for you. !!!!Sample Code: C#: string infFile = <INF_file_name>; Int32 Flags = DRIVER_PACKAGE_SILENT | DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT | DRIVER_PACKAGE_LEGACY_MODE; bool fNeedReboot; INSTALLERINFO installerInfo = new INSTALLERINFO(); installerInfo.pApplicationId = "{4d36e972-e325-11ce-bfc1-08002be10319}"; installerInfo.pDisplayName = "My Package"; installerInfo.pProductName = "My Package"; installerInfo.pMfgName = "Myself"; IntPtr ptrInstallerInfo = Marshal.AllocHGlobal(Marshal.SizeOf(installerInfo)); Marshal.StructureToPtr(installerInfo, ptrInstallerInfo, false); Int32 InstallResult = DriverPackageInstall(infFile, Flags, ptrInstallerInfo, out fNeedReboot); Marshal.FreeHGlobal(ptrInstallerInfo); VB: Dim infFile As String = <INF_file_name> Dim Flags As Int32 = DRIVER_PACKAGE_SILENT Or DRIVER_PACKAGE_ONLY_IF_DEVICE_PRESENT Or DRIVER_PACKAGE_LEGACY_MODE Dim fNeedReboot As Boolean Dim installerInfo As INSTALLERINFO = New INSTALLERINFO() installerInfo.pApplicationId = "{4d36e972-e325-11ce-bfc1-08002be10319}" installerInfo.pDisplayName = "My Package" installerInfo.pProductName = "My Package" installerInfo.pMfgName = "Myself" Dim ptrInstallerInfo As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(INSTALLERINFO)) Marshal.StructureToPtr(INSTALLERINFO, ptrInstallerInfo, False) Dim InstallResult As Int32 = DriverPackageInstall(infFile, Flags, ptrInstallerInfo, fNeedReboot) Marshal.FreeHGlobal(ptrInstallerInfo) Documentation: DriverPackageInstall@msdn on MSDN
Edit difxapi.DriverPac...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.