Have an application that is distributed internally to run database comparisons. Took over the maintenance of this application from a co-worker that is no longer with the company. Computer crashed and with it, wiped out my license for the older tool kit. Company purchased license files for the newer version, but I cannot get my C# application to use the new compare. Get a trial period expiration error. Need to know how to get the newest compare license to work.

SQL Comparison SDK (formerly Toolkit) applications are licensed at build-time. If you do a build in Visual Studio and have included the licenses.licx file as an embedded resource according to the instructions, then you [b]will] get a nag requester at that time and you can click the button to enter your serial number and each subsequent build should licence silently.

If your compiled assembly nags the end user, then the licensing probably didn't work.

This is the section of the product help that deals specifically with the licensing:

You will probably wnat to drop and re-create your references. The "Toolkit" used the SQL Compare program installation folder as the reference path, and SDK version 8 puts the assemblies in the "SQL Comparison SDK 8" folder.

So, I changed the references to be the new Redgate.Shared.SQL.dll and Redgate.SQLCompareEngine from Redgate.SQL.Shared.dll and the newest version of SQLCompare engine. Now when I try to compile the application, I get the following error:

Error 1 The type or namespace name 'StatusEventArgs' could not be found (are you missing a using directive or an assembly reference?)

I searched the web to find a solution to this and is appears that this StatusEventArgs was used with the older version of compare, but not with the new one. Any help that you can give me on resolving this issue would be greatly appreciated.

You have to add a reference to RedGate.Shared.Utils.dll in order to use the StatusEventArgs. Some of the more commonly-used classes had been moved from *.Engine.dll to RedGate.Shared.Utils.dll and RedGate.Shared.Sql.dll because a lot of these classes are shared between SQL Compare and SQL Data Compare and we wanted to eliminate some duplication.

At some point I believe someone decided to rename RedGate.Sql.Shared to RedGate.Shared.Sql as well, so depending on the version you're migrating from you may want to eliminate the outdated reference altogether. Also, don't forget RedGate.Shared.Utils and RedGate.Shared.Sql namespaces in the using commands at the top of your code files.