哪里可以找到COM DLL?

时间:2010-07-13 19:37:45

标签: com

我打动了一个com对象的dll 我注册了 我在哪里可以找到这个dll现在在我的机器上 (当我们将dll注册到nachine复制dll的地方时)

还有更多问题,如果我尝试在powerShell中使用这个com对象,那么一切都很顺利 如果我尝试在javaScript中使用它我会得到异常 任何的想法???为什么??

2 个答案:

答案 0 :(得分:4)

注册COM DLL不会复制DLL。它只是添加COM用于定位DLL的注册表项。例如,为每个类添加一个键“HKEY_CLASSES_ROOT \ CLSID {您的类ID}”。很多时候,DLL的路径作为默认值存储在子项中,例如“InprocServer32”(实际名称取决于如何配置类的激活)。

JavaScript无法访问COM对象,甚至本地文件,因为JavaScript是出于安全原因在隔离环境中执行的。

答案 1 :(得分:2)

正如Richard Walters所说,注册COM对象不会将其复制到任何地方。通常我很懒,而不是在REGEDIT中查找长GUID,我使用查找功能搜索DLL的名称。

既然你提到过PowerShell,我可以假设你试图在Windows脚本宿主中使用Javascript吗?如果是这样,知道异常是什么可能会有所帮助。关于如何执行此操作的示例:

  

var xml = new ActiveXObject(“Microsoft.XMLDOM”);

     

xml.load( “foo.xml”);

当然,用来自COM对象的信息替换Microsoft.XMLDOM。

等效的PowerShell将是:

  

$ xml = New-Object -ComObject Microsoft.XMLDOM

     

$ xml.load( “foo.xml”)