I am currently trying to build an installable using Installshield and using the SQLCompare and SQLDataCompare. I am putting them in the SUPPORTDIR so that they get cleaned up after installation. However, depending on whether I copy the common dll's from SQLCompare or SQLDataCompare, one or the other programs will not run because it can not find the version of the dll. I checked the shared dll's between the two and they are different versions. Does this mean that I have to copy each set into their own directory? The different versions are 6.2.0.25 for SQLCompare and 6.2.1.36 for SQLDataCompare. Are there any changes in the exe.config files that I can set to have it use the older version? I would like to be able to keep them in the same directory because as far as I can tell the SUPPORTDIR does not support subfolders.
Comments
2 comments
-
I have found the solution that I needed to get this to work. In case anyone else has this problem I copied the shared DLLs from the SQL Data Compare then changed the SQL Compare config file to look like the listing below. At least this works for SQL Compare 6 (6.2.0.271) and SQL Data Compare 6 (6.1.1.308).
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v2.0.50727"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="RedGate.SQLCompare.Engine" publicKeyToken="7f465a1c156d4d57" culture="neutral" /> <bindingRedirect oldVersion="5.0.0.0 - 6.2.0.25" newVersion="6.2.4.4"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="RedGate.CommandLine.Common" publicKeyToken="7f465a1c156d4d57" culture="neutral" /> <bindingRedirect oldVersion="5.0.0.0 - 6.2.0.25" newVersion="6.2.1.36"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="RedGate.SQL.Shared" publicKeyToken="7f465a1c156d4d57" culture="neutral" /> <bindingRedirect oldVersion="5.0.0.0 - 6.2.1.36" newVersion="6.2.1.36"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="RedGate.SQLCompare.Engine" publicKeyToken="7f465a1c156d4d57" culture="neutral" /> <bindingRedirect oldVersion="5.0.0.0 - 6.2.1.36" newVersion="6.2.4.4"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="RedGate.SQLCompare.ReWriter" publicKeyToken="7f465a1c156d4d57" culture="neutral" /> <bindingRedirect oldVersion="5.0.0.0 - 6.2.1.36" newVersion="6.2.4.4"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
-
The scenario of two DLLs, named the same, but having different functionality and versions exists in Version 8 as well.
This is not easily implemented in a distributed system. One dll or two dll names is requested.
Add comment
Please sign in to leave a comment.