C# DLL文件注册问题(涉及AxInterop.WMPLib.dll等)
近日遇到问题,给客户安装软件涉及视频等音影播放,安装软件启动过程遇到这样问题:


分析报错原因:
没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)
查找原因: Interop.WMPLib.dll AxInterop.WMPLib.dll
程序内含private AxAPlayer3Lib.AxPlayer axPlayer;
最初出现问题分析思路:1.先注册两个动态库,注册失败:

两个动态库是不能直接注册。
(背景:之前软件刚接手问过上一任,软件内含迅雷看看的转码播放。
咨询结果:视频转码的过程不需要注册,视频正常播放需要视频组件注册。
经验:还有之前在很多的客户机安装上都是这样,不注册迅雷看看组件,软件都正常打开,但是视频不能播放。)
2.在客户机上出现了以上的问题,突然安装的软件报错,出现以上错误,当时认为缺少.Net组件或者某个库文件。
通过下载微软运行库文件,安装解决了,当时肯定了确实视屏播放方面的组件。
3.又有一台机器安装64位系统,打开软件报错,安装上一次的微软的运行库文件,不好使;下载新的64位的微软运行库同样不好使。
思考良久也不知道怎样解决了。
4.今天突然想到把迅雷看看组件注册一下,软件正常使用。
总结一下上边的各种状况:
1.从开始下手 AxAPlayer3Lib.AxPlayer:
动态库:将AxInterop.WMPLib.dll复制到C:\Windows\System32目录下。
系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录
打开"开始-运行-输入regsvr32 AxInterop.WMPLib.dll",回车即可解决。
下面的代码保存为“注册.bat“,放到dll文件同级目录(只要在同一个文件夹里面有这两个文件即可),双击注册.bat,就会自动完成AxInterop.WMPLib.dll注册(win98不支持)。
copy AxInterop.WMPLib.dll %windir%\system32\
regsvr32 %windir%\system32\AxInterop.WMPLib.dll /s
@echo AxInterop.WMPLib.dll注册成功
@pause
1、在解决方案浏览器中,打开引用文件夹,当添加COM+(ActiveX)控件到程序窗体时(工具箱-右击-选择项目-COM+)
2、把添加到工具箱的COM+控件拖到窗体,会自动完成引用
3、点击选中引用的控件,在属性面板,把“独立”设置为:true
通过上面的方法,用C#制作的桌面版Aplayer应用程序,打包发布,安装程序就不用考虑aplayer的注册问题,只需要按照正常的打包方案发布应用就行了,也可以作为纯绿色的,直接拷贝debug目录里的文件到其他电脑上,也是能够运行的!
C# DLL文件注册问题(涉及AxInterop.WMPLib.dll等)的更多相关文章
- .OCX、.dll文件注册命令Regsvr32的使用
1.打开文件,打开需要注册的OCX文件或dll文件,2.然后根据需要进行OCX文件或DLL文件的注册和反注册 DLL.OCX注册方法--文件Regsvr32用法及情况介绍 使用过activex的人都知 ...
- DLL文件是怎么产生的,DLL文件是什么,DLL文件有什么用
①DLL文件是怎么产生的 许多应用程序被分割成一些相对独立的动态链接库,放置于系统中,就产生了DLL文件. ②DLL文件是什么 DLL(Dynamic Link Library)文件为动态链接库文件, ...
- win7 下注册dll文件失败
1.win7 下注册dll文件失败,提示模块“xx.dll”已加载,但找不到入口点DllRegisterServer 原因:该dll文件非可注册组件,没有包含DllRegisterServer函数,可 ...
- lib和dll文件的区别和联系
什么是lib文件,lib和dll的关系如何 (2008-04-18 19:44:37) (1)lib是编译时需要的,dll是运行时需要的. 如果要完成源代码的编译,有lib就够了. 如果也使动态 ...
- [转载]解析WINDOWS中的DLL文件---经典DLL解读
[转载]解析WINDOWS中的DLL文件---经典DLL解读 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! ...
- [转载]lib和dll文件的区别和联系
出处:https://blog.csdn.net/weiaipan1314/article/details/52252478 什么是lib文件,lib和dll的关系如何 (2008-04-18 19: ...
- VB-创建类模块DLL文件
最近需要调用MSCOMM32.OCX控件,但是ABAP调用过程中发现无法同时发送多条记录,则需调整实现方式: a.创建DLL文件封装MSCOMM控件相关属性及方法 b.系统注册DLL文件 c.ABAP ...
- 无法删除DLL文件解决方法(转)
手动解决dll文件无法删除的终极方法 手动解决dll文件无法删除的终极方法 相信大家都遇见过:在删除一些软件的时候弹出某某文件正在运行或磁盘写保护不能删除这样的报错提示吧.而常常删除不掉的都一些后缀为 ...
- 详细介绍dll文件是什么
DLL是Dynamic Link Library的缩写,意为动态链接库.DLL文件一般被存放在C:WindowsSystem目录下.DLL是一个包含可由多个程序同时使用的代码和数据的库. 在Wind ...
随机推荐
- 高效CSS开发核心要点摘录
做网站的,我们都知道尽量减少请求数,压缩CSS代码量,使用高效CSS选择符等方式可以来提高网站的载入速度和访问速度,也就是优化网站的性能. 下面分析了一些CSS的书写方式,很多都是我们知道并且正在使用 ...
- 关于arguments.callee的用途
arguments为js函数中两个隐藏属性中的一个(另一个为this) arguments表示所有传入的参数,为类数组(array-like)类型,arguments.length表示传入参数的长度, ...
- cocos2d-x -------之笔记篇 环境的安装
cocos2d-x -------之笔记篇 环境的安装 使用到的工具有VS2010 cygwin android-NDK eclipse android SDK 1.首先是android相关环境的安 ...
- 你可能不知道的一些JavaScript 奇技淫巧
这里记录一下以前学习各种书籍和文章里边出现的JS的小技巧,分享给大家,也供自己查阅,同时感谢那些发现创造和分享这些技巧的前辈和大牛们. 1.遍历一个obj的属性到数组 var a=[]; for(a[ ...
- android jar 第三方包
工程交叉了,做相互引用 1.单纯的代码jar 不引用res http://terryblog.blog.51cto.com/1764499/564558 1.2.连带源码一起打包出来 http:// ...
- Android之条码扫描二维码扫描
Android之条码扫描二维码扫描 二维码条形码扫描,参考技术网址: 1.Apache License 2.0 开源的ZXing项目的简化版 http://xinlanzero.iteye.com/b ...
- [LeetCode][Python]15:3Sum
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 15: 3Sumhttps://oj.leetcode.com/problem ...
- codeforces #286 Div.2 C DP总是以意外的方式打败我
题目大意:30001个岛排成一排,编号从0到30000,一共有n个宝物分散在这些岛上,一只猪最开始从0跳到d,之后每一步跳的步长和上一步相差不超过1,第二步步长就是d-1,d,d+1,第二步的位置就是 ...
- icon
<link rel="icon" href="favicon.ico" type="image/x-icon"> <lin ...
- 算法精解(C语言描述) 第4章 读书笔记
第4章 算法分析 1.最坏情况分析 评判算法性能的三种情况:最佳情况.平均情况.最坏情况. 为何要做最坏情况分析: 2.O表示法 需关注当算法处理的数据量变得无穷大时,算法性能将趋近一个什么样的值.一 ...