Thursday 2 May 2013

Converting Issue from 32-Bit (x86) to 64-Bit (x64)

Here’s a problem that was bugging me at my last upgrading SL 6.5 to SL 2011 project in client side. About 32-bit (x86) targeted dll while still being loadable by a 64 bit application. I've just been converting between them to see if that fixes anything. Finally catch the solution.

Upgrade from 32 bit to 64 bit
The server only has the 64-bit client installed so I copied the 32-bit dlls from (C:\Windows\System32) path on my development machine.  I tried copying over the 32-bit dlls to 64-bit client installed machine path (C:\Windows\Syswows64) .After copy the dll’s in particular path folder Register the dll file.

  Open command prompt
              Registry -> Manually Register
                     REGSVR64 "C:\Windows\System64\XXXXXX.dll"


What is system32 and syswow64?
  • System32 folder is intended for 64-bit files only
  • SysWOW64 folder is intended for 32-bit files only

The binary file compiled to a specific bitness (32 or 64) installs to the correct system folder. Otherwise the program that needs the file will not be able to load the file and will probably not work as expected.

No comments: