如何自动安装驱动?或者动态加载驱动
怎么自动安装驱动?或者动态加载驱动?
驱动有gserial.inf和usbser.sys两个文件,
gserial.inf文件的内容是:
我试过用命令行rundll32 setupapi,InstallHinfSection DefaultInstall 132 .\gserial.inf 不起作用
用NSIS的安装包:ExecWait "installdriver.exe $\"$INSTDIR\gserial.inf$\" ${HIK_DEVICEID}" 也不行
用InstallShield安装包,按网上的教程,导入inf后识别不到.dll文件,也不行
另外,怎么动态加载驱动?LoadLibray就可以吗?
------解决方案--------------------
下个一个DPInst.exe,32位和64位的都要下载,
DPInst.exe /PATH YourDriverFoder /F /LM /A
or
在NSIS里:RunDll32 advpack.dll,LaunchINFSection $windir\INF\gserial.inf,DefaultInstall
动态加载驱动,同问,LoadLibray好像是加载dll驱动才可以的
------解决方案--------------------
貌似inf的不用那么复杂啊... 直接对着inf右键 安装 ok.....
------解决方案--------------------
安装驱动就是一个修改注册表的动作,但要使驱动生效,就必须重新启动操作系统,除了技术方面的因素外,这也增加了安全性。
还有一种可以使新加的驱动程序立即生效的方式,但其驱动程序在写法上有很大的限制,很多函数用不了。
具体可以看Rootkit相关的资料。
------解决方案--------------------
试试从命令行安装inf文件的方法:
rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 ./<file>.inf
同理,卸载的方法:
rundll32 syssetup,SetupInfObjectInstallAction DefaultUninstall 128 ./<file>.inf
驱动有gserial.inf和usbser.sys两个文件,
gserial.inf文件的内容是:
- Python code
[Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%MSFT% LayoutFile=layout.inf DriverVer=01/03/2010,5.1.2600.2180 [Manufacturer] %MFGNAME%=VirComDevice,NT,NTamd64 [DestinationDirs] DefaultDestDir = 12 [VirComDevice.NT] %DESCRIPTION%=DriverInstall,USB\VID_0591&PID_1982 [VirComDevice.NTamd64] %DESCRIPTION%=DriverInstall,USB\VID_0591&PID_1982 [DriverInstall.NT] Include=mdmcpq.inf CopyFiles=FakeModemCopyFileSection AddReg=DriverInstall.NT.AddReg [DriverInstall.NT.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,usbser.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" [DriverInstall.NT.Services] AddService=usbser, 0x00000002, DriverServiceInst [DriverServiceInst] DisplayName=%SERVICE% ServiceType=1 StartType=3 ErrorControl=1 ServiceBinary=%12%\usbser.sys [Strings] MSFT = "X software" MFGNAME = "X software" DESCRIPTION = "X xx" SERVICE = "Virtual COM Port"
我试过用命令行rundll32 setupapi,InstallHinfSection DefaultInstall 132 .\gserial.inf 不起作用
用NSIS的安装包:ExecWait "installdriver.exe $\"$INSTDIR\gserial.inf$\" ${HIK_DEVICEID}" 也不行
用InstallShield安装包,按网上的教程,导入inf后识别不到.dll文件,也不行
另外,怎么动态加载驱动?LoadLibray就可以吗?
------解决方案--------------------
下个一个DPInst.exe,32位和64位的都要下载,
DPInst.exe /PATH YourDriverFoder /F /LM /A
or
在NSIS里:RunDll32 advpack.dll,LaunchINFSection $windir\INF\gserial.inf,DefaultInstall
动态加载驱动,同问,LoadLibray好像是加载dll驱动才可以的
------解决方案--------------------
貌似inf的不用那么复杂啊... 直接对着inf右键 安装 ok.....
------解决方案--------------------
安装驱动就是一个修改注册表的动作,但要使驱动生效,就必须重新启动操作系统,除了技术方面的因素外,这也增加了安全性。
还有一种可以使新加的驱动程序立即生效的方式,但其驱动程序在写法上有很大的限制,很多函数用不了。
具体可以看Rootkit相关的资料。
------解决方案--------------------
试试从命令行安装inf文件的方法:
rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 ./<file>.inf
同理,卸载的方法:
rundll32 syssetup,SetupInfObjectInstallAction DefaultUninstall 128 ./<file>.inf