2

I heard that you can register a 32 COM server DLL in COM+ so it will be executed as local server instead of an in-process server. This solves a 64/32 bit issue, it would be possible to access the 32-bit COM DLL in a 64 bit CScript host.

How do I register the DLL in Win7 "Component Services" as a COM+ application?

Edit: The 32-Bit DLL can't be registered with the 64-Bit regsvr32 since this 64-Bit program can't load the 32-Bit DLL as well as the CScript host. The only workaround is to make the in-process COM server in the DLL available in a out-of-process server running in a 32-Bit host. That's the reason to install the DLL in a COM+ application.

2

On a 64-bit version of Windows 7, there are two versions of the Regsv32.exe file:
The 64bit version is %systemroot%\System32\regsvr32.exe.
The 32bit version is %systemroot%\SysWoW64\regsvr32.exe.
To register the .dll, go to the respective path and run regsrv32.exe YourFileName.dll

  • The regsvr32 programs load the 32-Bit DLL and calls DllRegisterServer that is exported by the DLL. Your proposal doesn't work, since the 64-Bit regsvr32 isn't able to load the 32-Bit DLL. So your try to answer is unfortunately wrong. – harper Feb 23 '15 at 11:19
  • You called the correct version of regsvr32 because this is the cortect answer – Ramhound Feb 23 '15 at 11:33
  • @Ramhound It's okay to registet a 32-bit DLL with the 32-bit version of regsvr32. But this is neither an answer to the question how to call it from a64-bit process nor to the configuration of COM+. – harper Feb 24 '15 at 11:26
  • @harper - Sure it is. If you call the correct version of regsvr32 then it isn't a problem. – Ramhound Feb 24 '15 at 11:51
  • @Ramhound And how would this be an answer to this question? – harper Feb 24 '15 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.