获取消息“.dll已加载,但未找到DllRegisterServer入口点” [英] Getting message“ .dll was loaded, but the DllRegisterServer entry point was not found”

查看:350
本文介绍了获取消息“.dll已加载,但未找到DllRegisterServer入口点”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用vb2008,Windows应用程序表单。



我想使用excel作为对象。我下载了PIA服务并安装了提取的文件o2010pia.but when i使用regsvr32路径名注册我收到一条消息.dll已加载,但未找到DllRegisterServer入口点。我使用syswow64.但现在我在注册Windows安装程序时收到消息如下所示



I am using vb2008,windows application forms.

I want use excel as an object.I downloaded PIA services and installed the extracted files o2010pia.but when i register using regsvr32 pathile name i got a message ".dll was loaded, but the DllRegisterServer entry point was not found". i used syswow64.but now i m getting a message when i register windows installer as below

'The Module "c:windowssyswow64o2010pia"failed to load.make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent dll files.the specified module could not be found' then learnt that service cannot be added in regsvr32,only COM functions can be added.

but when i run the code i am getting an exception in the line FilterXpath = CreateObject("Excel.Application").filterxpath is the excel name.the exception states that 'cannot create Activex component'.so please suggest me what should i do.

i tried using the dll as 'regsvr32 C:\Users\sridevi\Documents\Microsoft.Office.Interop.Excel.dll' but getting a message as 'dll is loaded but entry level dllregisterserver is not found.make sure it is a valid dll'.please i am breaking my head with this problem.waiting for help


i have added the excel 'filterxpath' under resources.

。请告诉我

推荐答案

很大程度上取决于库本身。



RegSvr32仅适用于可动态链接的COM库。它们有一个特殊的接口,允许RegSvr32获取库的元数据。其他类型的DLL(例如.Net程序集,插件等)没有此接口,因此RegSvr32无法找到其对元数据的入口点。对于某些库,您必须注册类型库(扩展名为.tlb)而不是DLL。



最好的办法是获取你想要使用的文件的文档,并在其中查询。
A lot depends on the library itself.

RegSvr32 will only work on COM libraries designed to be dynamically linkable. Those have a special interface that allows RegSvr32 to get the library's meta data. Other types of DLLs, such as .Net assemblies, plug-ins and the like, do not have this interface, so RegSvr32 cannot find its entry point to the meta data. With some libraries, you must register the type library (with an extension of .tlb) and not the DLL.

Your best bet is to get the documentation for the files you want to use, and inquire therein.


PIA 代表主要互操作程序集。这是COM组件的.NET包装器。 PIA是托管代码,它将调用转发给COM组件。 PIA本身无法注册,因为它不是COM组件。

您像任何其他.Net库一样使用PIA。但COM组件必须存在(并注册)在计算机上,即在您的情况下:必须安装Excel!
PIA stands for Primary Interop Assembly. That is a .NET wrapper for a COM component. The PIA is managed code, and it forwards the calls to a COM component. The PIA itself cannot be registered, because it is not a COM component.
You use a PIA like any other .Net library. But the COM component must be present (and registered) on the computer, i.e. in your case: Excel must be installed!


我面临同样的问题,但没有找到任何解决方案。请建议..
I am facing the same issue, but not found any solution. please suggest..


这篇关于获取消息“.dll已加载,但未找到DllRegisterServer入口点”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆