Jim*_*Jim 2 windows com registration side-by-side
我已经为我的COM服务器DLL和客户端应用程序创建了必要的清单,以便在Windows XP中免注册.我已经测试了各种组合(有和没有注册),并且在所有情况下,如果清单存在,客户端应用程序会看到库的并排版本,如果没有,则会看到已注册的版本(或COM错误)如果没有注册的话).我已经在我的Windows XP开发机器上进行了测试,并为同事提供了文件(DLL,客户端EXE和每个清单一个),他们也在自己的Windows XP机器上成功运行了所有内容.清单是外部XML文件,而不是嵌入式资源.到现在为止还挺好.
但是,当我将文件复制到Windows Server 2003计算机时,它不起作用.我收到了静默失败,但应用程序事件日志中出现了应用程序错误(见下文).如果我取消注册DLL并删除清单,我会收到类似的错误(在命令提示符下是静默的,但事件日志中的应用程序错误).显然找到注册存在一些问题.我已经在我可以在我们公司访问的每台Windows Server 2003机器上重现了这一点.根据关于并排/免注册COM的Microsoft文档,它应该适用于Windows XP及更高版本,以及Windows Server 2003及更高版本.
为了清楚起见,相同的客户端在相同的COM DLL 的注册(即使用regsvr32)版本的相同的Windows Server 2003机器上完全运行,在我尝试用于无注册COM的相同登录凭据下.换句话说,没有伪装成免注册COM问题的内在问题 - 当服务器在注册表中全局注册时,此客户端和服务器运行正常.
有人对如何进一步调查有任何想法吗?我不是Windows Server的专家,但是可能有一些策略设置需要更改以启用此支持吗?如果我可以找到必要的变更,我们的技术支持/基础设施人员可能不会这样做,但我不能依赖他们来研究这个问题,因为他们被淹没了.
如果它很重要(我认为不应该,但你永远不知道),DLL是用Delphi 2007编写的,而客户端是用Visual C++编写的.
Event Type: Information Event Source: Application Error Event Category: (100) Event ID: 1004 Date: 5/2/2009 Time: 8:07:45 AM User: N/A Computer: ***server name**** Description: Reporting queued error: faulting application ***program name***.exe, version 0.0.0.0, faulting module ***program name***.exe, version 0.0.0.0, fault address 0x0002ac9e. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
| 归档时间: |
|
| 查看次数: |
1334 次 |
| 最近记录: |