locked
Convert 32 bit VB dll to 64 bit RRS feed

  • Question

  • I am new to this and need to know specifically how to convert a 32 bit VB dll file to 64 bit.  What software do I need and supporting files?
    Thursday, May 17, 2012 3:14 PM

Answers

  • Thursday, May 17, 2012 5:17 PM
  • I believe this .DLL is written in VB 6.0 not in VB.NET. From your Question’s subject line it seems you are intending to convert your VB component to a 64 bit version of .DLL. If my understanding is correct, this is not possible because

    1. Visual Basic 6.0 components are intended only for 32 bit as it is been developed before the availability of the IA-64 and x64 operating systems. But because 32-bit applications run transparently in WOW, the experience should be identical to running on a native 32-bit operating system. Although Visual Basic 6.0 should run without any issues in 64-bit environments, you may experience unexpected behavior in rare instances.
    2. VB6.0 is now an obsolete technology.To knows how Visual Basic 6.0 will be supported on Windows Vista, Windows Server 2008 and Windows 7 please visit: http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx.

    There are few solutions as below.

    • Leave it in Visual Basic 6.
    • Perform a partial upgrade.
    • Perform a full upgrade.
    • Perform a partial or full upgrade with interoperability.

    If you are facing specific issue of registering this 32 bit .DLL on your server you can try what jdweng is suggesting.


    Lingaraj Mishra

    Friday, May 18, 2012 7:17 AM
  • Thank you for the quick responses. 

    I talked with the person who did the original 32 bit compile and discovered that this was done in Delphi, not VB.  We are attempting to obtain a version of Delphi that will compile 64 bit.  We are also trying the workaround suggestion for DllSurrogate registration.  Either way, I expect we can resolve the issue.

    Friday, May 18, 2012 12:15 PM

All replies

  • You need the source code that creatte the dll to make the change.  You don't need to to convert. With Wondows 7 or 8 you still can run 32 bit dlls.  You just won't get the same increased accuracy.  How to are you usingg the dll?


    jdweng

    Thursday, May 17, 2012 4:07 PM
  • This application is part of the VA VISTA Electronic Medical Records system.  The dll implements code to reduce the duplication of requests for Lab tests that are inappropriate.  I think I can find the original code from the mid 1990s but am not sure how to do the actual conversion.

    This system has to run on Server 2008 R2 supporting multiple thin clients.  So far, the dll does not seem to register on the server as a 32 bit dll file.

    Thursday, May 17, 2012 4:29 PM
  • Thursday, May 17, 2012 5:17 PM
  • I believe this .DLL is written in VB 6.0 not in VB.NET. From your Question’s subject line it seems you are intending to convert your VB component to a 64 bit version of .DLL. If my understanding is correct, this is not possible because

    1. Visual Basic 6.0 components are intended only for 32 bit as it is been developed before the availability of the IA-64 and x64 operating systems. But because 32-bit applications run transparently in WOW, the experience should be identical to running on a native 32-bit operating system. Although Visual Basic 6.0 should run without any issues in 64-bit environments, you may experience unexpected behavior in rare instances.
    2. VB6.0 is now an obsolete technology.To knows how Visual Basic 6.0 will be supported on Windows Vista, Windows Server 2008 and Windows 7 please visit: http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx.

    There are few solutions as below.

    • Leave it in Visual Basic 6.
    • Perform a partial upgrade.
    • Perform a full upgrade.
    • Perform a partial or full upgrade with interoperability.

    If you are facing specific issue of registering this 32 bit .DLL on your server you can try what jdweng is suggesting.


    Lingaraj Mishra

    Friday, May 18, 2012 7:17 AM
  • Thank you for the quick responses. 

    I talked with the person who did the original 32 bit compile and discovered that this was done in Delphi, not VB.  We are attempting to obtain a version of Delphi that will compile 64 bit.  We are also trying the workaround suggestion for DllSurrogate registration.  Either way, I expect we can resolve the issue.

    Friday, May 18, 2012 12:15 PM