Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice 3.4 Side by Side Assembly

Do you folks have an Ice 3.4 Sxs Assembly ?
That would be a great help for isolating ice versions

Rich

Comments

  • bernard
    bernard Jupiter, FL
    Hi Rich,

    Per the definition of Side-by-Side assemblies (Side-by-side assembly - Wikipedia, the free encyclopedia), all Ice 3.4 C++ binaries are Side-by-Side assemblies - each Ice exe and DLL embeds an XML manifest file with references to the Microsoft C and C++ runtimes.

    Could you describe your versioning concerns in more details?

    Best regards,
    Bernard
  • Ice Side by Side assembly

    Bernard,

    the Wikipedia definition is incorrect. just because you include a manifest doesn't mean you are a side by side assembly.

    I am talking about a side by side assembly that allows ice to be installed in the Winsxs folder and versioned appropriately.
    This assembly would contain ice.dll, ice34.dll, icessl.dll, icessl34.dll etc.

    One appropriate link here is How To Build and Service Isolated Applications and Side-by-Side Assemblies for Windows XP under the section Creating a Side-by-Side Assembly.

    Rich
  • bernard
    bernard Jupiter, FL
    Hi Rich,

    Thanks for the link.

    We do not provide other builds of the Ice DLLs on Windows, in particular, no merge module for the Ice C++ and .NET runtime.
    That would be a great help for isolating ice versions

    Could you expand on the limitations of the current packaging with respect to supporting/installing multiple versions of the Ice runtime on the same system?

    Typically, you would install the Ice for .NET runtime (Ice.dll etc.) in the GAC, where you can install multiple versions at the same time.

    The Ice for C++ DLLs (ice34.dll etc.) have versioned names, so you can have several versions in your PATH. (I would however recommend to install them next to your own DLLs and exes and not rely on the PATH at all).

    Best regards,
    Bernard
  • Bernard,

    Is there a reason that you do not do this? This would be a great help to your customers

    regards
    Rich Peters
  • bernard
    bernard Jupiter, FL
    Hi Rich,

    We have not done it because it would involved some work to do all this, and this is the first request for this "feature".

    Out of curiosity, do you know non-Microsoft products that ship with such merge modules?

    Thanks,
    Bernard
  • Bernard,

    we are going to have to generate an assembly for our software, so it would be nice if you had one to incorporate.

    It might avoid the issue of folks getting bashed by your version of the Qt dlls that are in the path after an ice install.

    regards
    Rich
  • bernard
    bernard Jupiter, FL
    Rich,

    Ok, sounds like you'd really want assemblies for the Qt DLLs!

    Fortunately it's likely you won't need to ship these Qt DLLs with your software.

    Ice uses Qt only for the implementation of the "Alternate storage for IceGrid and IceStorm" (see http://www.zeroc.com/download/Ice/3.4/Ice-3.4.0-RELEASE_NOTES). You need to include the Qt DLLs only if you use this feature.

    Best regards,
    Bernard