尝试使用 Microsoft驱动程序包安装程序DPInst 安装驱动程序时出现错误 0xE0000247 。 我尝试使用 Visual Studio查找工具检查错误代码,但该工具不知道此错误代码。 MSDN也没有帮助。
如何查找此错误的含义?
在我的 DPINST.LOG 文件的片段下面:
INFO: Install option set: Running in quiet mode. Suppressing Wizard and OS popups. INFO: Install option set: legacy mode on. INFO: Install option set: Suppressing EULA. INFO: Install option set: Force install if driver is not better. INFO: Install option set: Suppress Add or Remove Programs entries. INFO: Found driver package: 'C:\Program Files (x86)\MyApp\my_driver.inf'. INFO: Preinstalling 'C:\Program Files (x86)\MyApp\my_driver.inf' ... INFO: ENTER: DriverPackagePreinstallW INFO: RETURN: DriverPackagePreinstallW (0xE0000247) INFO: Returning with code 0x80010000
答案 0 :(得分:3)
直接从SetupAPI.h
(省略不相关的行):
#define APPLICATION_ERROR_MASK 0x20000000
#define ERROR_SEVERITY_ERROR 0xC0000000
#define ERROR_DRIVER_STORE_ADD_FAILED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x247)
因此,您的错误为ERROR_DRIVER_STORE_ADD_FAILED
,这是SetupCopyOEMInf
返回的一般错误代码,而DriverPackagePreinstall
则会在内部调用。
此错误的原因记录不清,但似乎与任何特定类型的错误无关(因此我将其称为" generic")。该名称本身表明无法将驱动程序添加到driver store(或Windows版之前的操作系统版本的DIFx driver store),这可能有多种原因(访问权限不足,驱动程序包验证失败) ,...)。
根据个人经验,我可以告诉您,大多数情况下发生此错误时,用于在64位Windows上签署驱动程序包的证书存在问题。 (这应该是CERT_E_*
错误代码中的一个,但是......)