How to register a 32-bit .DLL COM+ application on Windows 2008 R2

坚强是说给别人听的谎言 提交于 2019-12-29 07:13:07

问题


I have read through all the similar questions but am not finding my exact problem answered. I have tried all the similar recommendations.

I am forced to migrate from a Windows Server 2003 environment to a Windows Server 2008 R2 environment running IIS 7.5. I have a web application that calls COM objects in a 32-bit DLL. The COM object was created from VB6. Here is what I have done to date:

  1. I have enabled 32-bit on my IIS Application Pool.
  2. I have registered the .DLL and it's dependent .DLL using C:/windows/syswow64/regsvr32.exe -- the registration is successful.
  3. I have verified that the .DLL and it's components are found in the registry using C:/windows/syswow64/regedit
  4. I have created a COM+ object in Component Services (using syswow64/dcomcnfg) and started them.
  5. I have created a role "Users" and added the group 'Everyone' to it.

When I run my application the web page hangs. I can find the following error in the COM object's log file:

ActiveX component can't create object Error: [429]: CDataAdministrator::OpenCatalog

I have compared the setup between the new server and the old server. One thing that I notice is that on the old server, the DataAdministrator object (DataAdministrator.CDataAdministrator) is listed under the expansion of DCOM Config, but on the new server it is not. And I cannot seem to get it to show up there.

I have no errors in the event history or in IIS web logs. To me it appears that everything is registered, but it won't run. I can see a DLLHOST.EXE*32 in the task manager running under the account that I specified.

I'm at a loss here.... help?


回答1:


Register 32 bit COM applications on a 64-bit server

•Start...Run...C:\WINDOWS\SysWOW64\mmc comexp.msc /32

As described here http://msdn.microsoft.com...dcomcnfg.exe_and_64-bit_applications

Basically this runs the 32-bit version of dcomcnfg.exe so that you can set the DCOM settings for your 32-bit app on a 64-bit machine.




回答2:


Have you compiled your application for x86 only?



来源:https://stackoverflow.com/questions/11369743/how-to-register-a-32-bit-dll-com-application-on-windows-2008-r2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!