检索 COM 类工厂中 CLSID 为 {6BF52A52-394A-11D3-B153-00C04F79FAA6} 的组件时失败 错误: 80040154
本人因需求想在2003 x64 服务器上使用wmp.dll (mediaplayer类库)。但是出现以下错误:
检索 COM 类工厂中 CLSID 为 {6BF52A52-394A-11D3-B153-00C04F79FAA6} 的组件时失败,原因是出现以下错误: 80040154。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {6BF52A52-394A-11D3-B153-00C04F79FAA6} 的组件时失败,原因是出现以下错误: 80040154。
源错误:
行 1: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
行 2: <%
行 3: WMPLib.WindowsMediaPlayerClass wmp = new WMPLib.WindowsMediaPlayerClass();
行 4: //songpk.UpdateSong.USong("");
行 5: %>
我的发现:
1)32位的 2003 中正常。
2)x64 中 EXE应用程序 正常调用可是ASP.NET就不能调用。
3)用的是NET框架2.0版本。IIS6.0。
4)IIS目录权限是Administrator
5) 组件已注册好。该组件的位置在c:\windows\SysWOW64\wmp.dll
------解决方案--------------------
把你的程序以32位运行
配置方法
http://www.google.com.hk/search?q=asp.net+%E4%BB%A532%E4%BD%8D%E8%BF%90%E8%A1%8C&rls=com.microsoft:zh-cn:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7ADFA_zh-CN