What are the challenges you face when working across database platforms? Take the survey

64bit Restrictions

TomAndersonTomAnderson Posts: 11
It has been a while since we have updated our SQL Compare version, and before upgrading I would like to find out if the 64 bit restrictions have been removed, or if we still need to compile our applications in 32 bit only.

Thanks in advance.


  • Options
    Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Tom,

    The assemblies in the version 7.1 SDK and up compile for "any CPU", so the SDk will run as 64-bit native on a 64-bit system. There are some dlls that are confined to 32-bit, I believe the backup reader is for technical reasons, so if you don't reference that dll you can compile the SDK application as "Any CPU" as well.

    You can use microsoft's corflags utility to check the 32-bit flag on the Red Gate dlls to make absolutely sure that the dll you want to reference is 64-bit compatible.
  • Options
    Thank you, it works great now. We can finally remove our x86 restrictions :)
  • Options
    Regarding the BackUpReader.

    I use it in an application and it turns out some clients use Vista 64.

    Sure enough, it doesnt work.

    What it the solution ?
  • Options
    Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    The backup reader dll is still 32-bit. Everything else is "any CPU". Sorry for the confusion.
  • Options
    Sorry if I sound confused, but is there anyway to make the 32bit DLL which is reference in my .NET application to work in Vista 64.

    I was never told by the client he needed support for vista 64 and now he realizes that we need it.
  • Options
    Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    When you build your application, compile it as 32-bit. This will also run on 64-bit systems because these editions of Windows have a 32-bit emulation which will run the program (WOW).

    In Visual Studio, the project properties panel contains this setting. For a C# project, it's the "Platform target" dropdown. Changing this to "x86" will set the flag in the assembly output that will cause the application to load the 32-bit .NET Runtime. This should solve your problem across the board.
  • Options
    Hi Brian, we have the same problem with BackupReader.
    We wrapp the data compare functionality we need in a dll, which will be used our asp.net application.
    The dll using SDK is compiled for x86, with recommended options for the pree and post-build events (http://www.red-gate.com/supportcenter/C ... wledgebase\all_SQL_products\KB200806000268.htm&p=SQL%20Comparison%20SDK).
    With the SQL Toolkit 6.0 we had no problems with backup reader dll and the above scenario.
    Now with Comparison SDK 8.1 we have an exception "Cannot load Backup Reader dll!" on the code line:
    IList<IBackupSet> backupSets = backupDB.GetBackupSets(files, passwords);
    It doesn't help also to compile our asp.net application for x86.

    Have you any ideas, how to get off of the exception?

Sign In or Register to comment.