none
OLE automation server 32 bit execable not registered in Windows 7 64 bit

    Question

  • HI all,
    I have ole automation server application which works on Windows xp  and vista 32 bit and 64 bit and windows 7 32 bit.
    In order to work with this application as dcom I am setting the permission of the software  in component services (dcomcnfg).
    In windows 7 64 bit when i open the component services I cannot find the component and therfore i cant set the permissions i need.
    Please help!!
    Thanks

    Thursday, September 03, 2009 1:27 PM

Answers

  • You can not run 32bit code in 64bit process. If you want use it, you need to run another process and use inter-process communication.

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    Sunday, September 06, 2009 1:05 PM
  • Or you can register your in-proc COM server as a COM+ component. It will be thereafter hosted in dllhost.exe process and run as an out-of-proc COM server. Then you can call this COM server in your 32bit or 64bit client application.

    Regards,
    Jialiang Ge


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Wednesday, September 09, 2009 7:10 AM
    Moderator

All replies

  • The component needs to be recompileed to target 64bit CPUs, and registerd under the 64bit registry.

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    Thursday, September 03, 2009 6:06 PM
  • Hi,
    Thank you for your answer. I tried to compile this object in  64 bit and succeeded and then tried to create the object thrugh
    IIS application component written in VB6 and got an error that object cannot be found.
    I used the following code  Server.CreateObject(<object id>).
    Do you know how can I create 64 bit object from 32 bit dll?
    What is the reason that now i need to compile it for 64 bit when in Vista and XP 64 bit OS there was no need?
    Thanks
    Sunday, September 06, 2009 6:44 AM
  • You can not run 32bit code in 64bit process. If you want use it, you need to run another process and use inter-process communication.

    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    Sunday, September 06, 2009 1:05 PM
  • Or you can register your in-proc COM server as a COM+ component. It will be thereafter hosted in dllhost.exe process and run as an out-of-proc COM server. Then you can call this COM server in your 32bit or 64bit client application.

    Regards,
    Jialiang Ge


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    Wednesday, September 09, 2009 7:10 AM
    Moderator
  • I have the same problem with some legacy automation server applications.  I am able to set the permission on the software in dcomcnfg for XP, Vista 32, Vista 64 and Windows 7 without any problems.  When I install the same software on Windows 7 64 bit, the components do not show up in dcomcnfg.  I've tried both the dcomcnfg in System32 and in sysWow64; in both cases no components show up.  I don't understand how it can work without problems in Vista 64 but not in Windows 7 64.  Where is this documented that it will not work?
    Tuesday, November 24, 2009 1:52 PM
  • I found out that the way to see 32 bit legacy automation server applications in dcomcnfg is to use the following command line:
    "MMC comexp.msc /32".  As long as you use this command line in a DOS window or using the Run command window, all the 32 bit automation server applications will be displayed, even when running on Windows 7 64 bit.
    Tuesday, November 24, 2009 7:28 PM