I have been attempting to convert our web application from a Win 2000 Server to a Win 2008 Server x64 machine. Our web app currently has a custom COM+ object that I have been trying to convert to 64 bit. I have VS 2008 Pro and I have made the project and built the class library. On the project settings I have the compile platform set to x64. I then am able to build the project without any errors.
1. I do not get a "make blahblah.dll" option under the file menu. Shouldn't I see that?
2. When I do a build of the project I do get a DLL that is significantly smaller than the old DLL, however, when I try to regsvr32 this dll in the system32 directory of our x64 Server, I get the error message that reads, "The module "blahblah.dll" was loaded but the entry-point DllRegisterServer was not found. Make sure that "blahblah.dll" is a valid DLL or OCX file and then try again." However, when I regsvr32 the dll using the SysWOW64 regsvr32.exe, it registers fine.
Why isn't the DLL being compiled correctly for x64?
Any help is greatly appreciated! Thanks!Friday, April 02, 2010 8:34 PM
There're 2 versions of regsvr32.exe on 64-bit operating system. The one located at C:\Windows\SysWOW64 is 32-bit version. The one located at C:\Windows\System32 is 64-bit version. Your COM+ DLL is 32-bit, so the 32-bit version regsvr32.exe under C:\Windows\SysWOW64 should register it fine.
The new DLL which is significantly smaller than the old one is a wrapper DLL which exposes the same interface as the original DLL.
Following are some additional references:
Please mark the right answer at right time.
Monday, April 05, 2010 3:35 AM
- Edited by SamAgain Monday, April 12, 2010 4:19 AM
Thanks for the reply. I do realize that the System32 dir is for 64 bit and SysWOW64 is for 32 bit. If the new DLL is a wrapper DLL, then what do I need to do to get it to work when registering it? I need to have a working 64 bit DLL because when I enable 32 bit in IIS connections to our 64 bit database do not work anymore. I know that 64-bit process cannot access 32-bit process so I need to be able to migrate my current 32-bit DLL into a 64-bit DLL. It doesn't need to be a wrapper DLL...
Monday, April 05, 2010 4:19 PM