64bit Restrictions
TomAnderson
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.
Thanks in advance.
Comments
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.
I use it in an application and it turns out some clients use Vista 64.
Sure enough, it doesnt work.
What it the solution ?
I was never told by the client he needed support for vista 64 and now he realizes that we need it.
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.
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?
Thanx