There are some things that need to be taken into account when it comes time to deploy a custom IceLib-based custom application. In order for a custom IceLib-based application to function properly, IceLib's dependency binaries must be present in the folder where the custom IceLib-based application is installed to.

Jump to a section:

Deploying using IceLib's redistributable merge module (MSM).

Caution
The Visual C++ Redistributable is required for IceLib's tracing support. For 2017 R2, this requires the Visual C++ Redistributable for Visual Studio 2015 (vc_redist.x86.exe or vc_redist.x64.exe). Interactive Intelligence installs automatically deploy this Visual C++ redistributable, however custom installations of IceLib might need to separately ensure that the Visual C++ redistributable has been installed if being installed without Interactive Intelligence installs. The IceLib SDK redistributable does not ensure that the Visual C++ redistributable is installed.

To help facilitate the deployment of a custom IceLib-based application, the IceLib SDK includes a redistributable merge module (MSM) that can be used with the installer for a custom IceLib-based application. The merge modules can be found in the IceLib SDK installation folder in the "Redistributable" folder, and can be included in the setup assembly used to install the application. There is a merge module for x86 (IceLib_Redistributable.msm) and x64 (IceLib_64_Redistributable.msm) architectures - be sure to include the one that is relevant to the application being installed. For more information on the IceLib SDK installations, see IceLib SDK 32-bit vs. 64-bit. Because merge modules are not able to run separate install processes, an additional step needs to be taken for cases where a custom IceLib-based application is being installed on a machine that does not have any IC Center software on it, and is explained in the A note on the trace initialization service section.

Back to Introduction

Deploying using the "copy file" method.

Caution
The Visual C++ Redistributable is required for IceLib's tracing support. For 2017 R2, this requires the Visual C++ Redistributable for Visual Studio 2015 (vc_redist.x86.exe or vc_redist.x64.exe). Interactive Intelligence installs automatically deploy this Visual C++ redistributable, however custom installations of IceLib might need to separately ensure that the Visual C++ redistributable has been installed if being installed without Interactive Intelligence installs. The IceLib SDK redistributable does not ensure that the Visual C++ redistributable is installed.
Caution
As of 2015 R1, some of the file dependencies have changed. File dependencies prior to 2015 R1 had "1-2" embedded in the filenames - now with each release these dependencies have a different version indicator in their filenames. For instance, the dependency i3trace-w32r-##-#.dll for the CIC 2017 R2 release would be i3trace-w32r-17-2.dll.

For cases where an installation package is not viable or necessary, a "copy file" deployment can be used. Simply speaking, a "copy file" deployment involves copying all of the necessary binaries to the appropriate location where the custom IceLib-based application will be run. The files that should be included in such a deployment include the binaries for the custom IceLib-based application, as well as the binaries from the IceLib SDK installation's "bin" folder (and pdb's if required as well). If the custom IceLib-based application is being installed on a machine that does not have any IC Center software on it, then the steps outlined in the A note on the trace initialization service section should be followed.

Back to Introduction

A note on the trace initialization service.

In order for a custom IceLib-based application to function properly, the "ININ Tracing Initialization ##-#" service must be installed and running, where "#" represents the year and release numbers (for CIC 2017 R2, this would be "ININ Tracing Initialization 17-2"). This service is installed as part of any IC Center software application (including the IceLib SDK); however, if a custom IceLib-based application is being installed on a machine that does not have any IC Center software on it, a separate installation needs to be run in order to install it. The trace service is installed by the merge module (IceLib_Redistributable.msm or IceLib_64_Redistributable.msm, depending on which one is needed).

Back to Introduction

A note on IC Center Service Updates (Patch).

IC Center Service Updates (Patch) do not install updated IceLib binaries for any installed custom IceLib-based application, regardless of whether the custom IceLib-based application's install was created with the IceLib merge module or from a "copy deployment". All custom IceLib-based applications will need to release their own updates to include the updated IceLib binaries. IC Center Service Updates do, however, update the IceLib SDK. If IUpdate is installed and running, this will be done automatically; however, if not, then it will be necessary to run the IceLib SDK update package (IceLibSDK_32bit_20##_R#_Patch##.msp or IceLibSDK_64bit_20##_R3_Patch##.msp as appropriate, where "#" represents the year, release, and patch numbers). Once the appropriate IC Center Service Update has been applied to the IceLib SDK, the updated binaries will be available in the "bin" folder where the IceLib SDK was installed, and can then be included in an update for the custom IceLib-based application.

Back to Introduction