win2008服务器版,vs2008 iis7 .net2.0
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 根据别人的经验把组件服务里的东西设置好,参考下面的。
http://topic.csdn.net/u/20070628/16/17b8b13e-8728-4403-bf14-9e814fd9142f.html
发现我的用户里没有所谓的aspnet账户,然后去aspnet_regiis运行下说是安装好了,但是去看看这个账户还是没的,仍然出现同样的错误,然后在web.config那里添加了
<system.web>
<identity impersonate="true" userName="administrator" password="lb123456"/>
</system.web>
发现出现的错误不一样了。异常来自 HRESULT:0x800A03EC 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 异常来自 HRESULT:0x800A03EC源错误: 
行 916:
行 917:        Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
行 918:        Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);==这行出错
行 919:        Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
行 920:        Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
 
===============================代码==============================================
        string _tmpLoadExcelFilePath = Server.MapPath("~/RPTs/Commodity.xls");
        string _tmpSaveExcelFilePath = Server.MapPath("") + @"\Excel\" + DateTime.Now.ToString("yyyyMM");
        int _tmpStartRow = 7;        if (!Directory.Exists(_tmpSaveExcelFilePath))
            Directory.CreateDirectory(_tmpSaveExcelFilePath);        System.Reflection.Missing oMissing = System.Reflection.Missing.Value;
        Microsoft.Office.Interop.Excel.Application _xApp = new Microsoft.Office.Interop.Excel.Application();
        if (_xApp == null) { return; }
        _xApp.Visible = false;
        _xApp.UserControl = true;        Microsoft.Office.Interop.Excel.Workbooks _xBooks = _xApp.Workbooks;
        Microsoft.Office.Interop.Excel._Workbook _xBook = _xBooks.Add(_tmpLoadExcelFilePath);
        Microsoft.Office.Interop.Excel.Sheets _xSheets = _xBook.Worksheets;
        Microsoft.Office.Interop.Excel._Worksheet _xSheet = (Microsoft.Office.Interop.Excel._Worksheet)_xSheets.get_Item(1);
=============================================================================按照别人说的是版本出现问题了,可是我这里貌似还没用到版本,也不知道错误的问题是什么。

解决方案 »

  1.   

    iis7中的你们帐号是NETWORK Service,不是ASPNET
      

  2.   

    我也添加了NETWORK Service账户,问题还是在的。
      

  3.   

    在组件服务里我添加下列权限
    iusr
    network service
    iis_iusrs
    都给了本地激活和本地启动,这个问题在web.config里加了一句话后没出现了,不过以前用win2003的时候没加这句话也不会出现错误,就是不知道是不是操作系统的问题。现在的问题  错误: 80070005。 这个貌似好了,也不知道是不是真的好了。
    然后出现了 异常来自 HRESULT:0x800A03EC  这个错误。
    请问下是什么原因。