锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Unable to load winmm.dll和0x8007007f错误
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

Unable to load winmm.dll和0x8007007f错误


前言

近期用C#开发一个录音软件,.NET用的4.8版本,VS2019开发,在Win10机器安装没有问题,但是在Win7 32位版本下不行。下面列出解决问题过程:

自己安装类似环境测试,用Vmware安装Win7 32位系统

安装成功后,用制作的安装包安装软件执行正常,不出Unable to load winmm.dll和0x8007007f错误。就怀疑是目标机器环境问题。

替换winmm.dll

觉得是环境问题,就找好的winmm.dll来替换,先是用Win10机器环境下的32位winmm.dll替换不了,再用虚拟机里32位的winmm.dll来替换,还是替换不了,winmm.dll在系统目录环境下是替换不了的,就是用管理员身份获取权限,也是替换不了,没办法,比对问题机器上的winmm.dll和虚拟机里正确的winmm.dll,大小一样,也就不想替换的方向了:并且问题机器上的winmm.dll用的api也有,觉得没必要替换。

Dllimport方向

winmm.dll本身没问题,就想是不是导入机制不对,对比资料,没问题。换了Dllimport下面的哪一行里的函数名,带上W后缀,功能不正常,也就不换了。

回到现场

前后都无思路,没办法再看Exe所在目录,发现exe目录下有winmm.dll,也有这个winmm.dll依赖的dll,抱着试试的态度,把这些dll删除了,问题解决。

结论

不同系统下的dll不要混用,Win10下的winmm.dll不能出现在win7环境下。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内