Home Comments

Ice 3.4 Side by Side Assembly

rpetersrpeters Member Rich PetersOrganization: braxton technologyProject: cross platfrom JNI replacement ✭✭
Do you folks have an Ice 3.4 Sxs Assembly ?
That would be a great help for isolating ice versions

Rich

Comments

  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
  • rpetersrpeters Member Rich PetersOrganization: braxton technologyProject: cross platfrom JNI replacement ✭✭
    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
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
  • rpetersrpeters Member Rich PetersOrganization: braxton technologyProject: cross platfrom JNI replacement ✭✭
    Bernard,

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

    regards
    Rich Peters
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
  • rpetersrpeters Member Rich PetersOrganization: braxton technologyProject: cross platfrom JNI replacement ✭✭
    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
  • bernardbernard Jupiter, FLAdministrators, ZeroC Staff Bernard NormierOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    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
Sign In or Register to comment.