Different Versions of dll's for SQLCompare and SQLDataCompar

Tim BrewerTim Brewer Posts: 5
edited August 17, 2009 1:48PM in SQL Compare Previous Versions
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

  • 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.
Sign In or Register to comment.