为什么在一台Windows 10家用PC上使用0x8007000B而在另一台PC上没有

时间:2017-09-07 18:26:36

标签: c# c++ windows

我有一个适用于混合平台的程序。我已经测试了相同的安装能力 Win 7 Pro 64位 赢得10 Pro 64位 赢得8.1 Pro 64位 赢得10从以上8.1升级

数十名用户拥有各种风格的Win 7。

但是:我有一个用户获得“尝试加载一个格式不正确的程序。(HRESULT异常:0x8007000B)”在特定DLL加载的地方......实际上该DLL加载并具有特定依赖DLL加载时的问题。

鉴于我可以指出十几台有效的64位机器,我怀疑Windows 10家庭版(从Win 7家庭升级版)PC的一些属性。我有一个日志文件,演示了在Windows 10升级之前运行正常的相同程序。

我应该寻找用户PC上的哪些配置设置?

1 个答案:

答案 0 :(得分:0)

一种可能性是尝试从64位可执行文件加载32位DLL(当LoadLibrary明确用于例如完整路径时,可能会发生这种情况。)

另一个原因可能是DLL损坏(由于Windows升级,这可能实际上更可能是这种情况)。如果DLL在Windows \ system32中,很有可能如果重命名特定的DLL(例如,* .bad),Windows保护系统可能会将DLL恢复到正确的版本并解决问题。