StreamBase provides two ways to install the redistributable components of the StreamBase .NET Client library on Windows PCs that will run a client application built with the StreamBase .NET Client Library:
-
Install a .NET Client Redistributables package on each target machine, using the installer provided by StreamBase.
-
If you are building your own installer for your client application, you can incorporate the installer merge modules provided by StreamBase into your installer, for an integrated installation experience.
To run StreamBase .NET client applications, the target machine must have the .NET framework 2.0 or later, plus a set of StreamBase assemblies and supporting DLLs. These components are installed as part of your StreamBase installation.
For target machines that do not have StreamBase installed, you must install a StreamBase .NET Client Redistributables package on each machine where you want a .NET client application to run. There are two versions of the Redistributables package, for 32-bit and 64-bit Windows.
The 32-bit Redistributables package includes a copy of the .NET 2.0 framework. If the target machine already has a later version of the .NET framework, the Redistributables package preserves it. If the target machine has no .NET framework, or a 1.x version, the 32-bit Redistributables package installs the 2.0 version. In either case, the Redistributables package always installs the required StreamBase assemblies and supporting DLLs.
The 64-bit Redistributables package includes only the required StreamBase assemblies and supporting DLLs, and does not attempt to install a .NET framework.
The installers for the StreamBase .NET Client Redistributables package are normally provided as part of your StreamBase distribution. On the distribution DVD-ROM, or on a download site provided by StreamBase Systems, look for MSI installer files whose names begin with:
StreamBase-.NET-client-redist
|
StreamBase-.NET-Win64-client-redist
|
Contact StreamBase Technical Support to obtain the Redistributables package if it is not part of your distribution.
StreamBase includes Windows-standard installation merge modules that you can incorporate into your own installer. If you are building an installer for a StreamBase .NET client application, you can incorporate these merge modules into your installer, which means your end-users will only need to run one installer.
Note
This section presumes experience with merge modules and with creating Windows installers using an installation creation program such as InstallShield.
To deploy a StreamBase client application written with the StreamBase .NET Client API, your installer must ensure that the implementation of this API is in the Global Assembly Cache (GAC for short). For this purpose, StreamBase supplies merge module files that can be incorporated into customer installers.
The StreamBase .NET Client Library is organized into three assemblies:
-
sbclient for 32-bit Windows (x86)
-
sbmonitor for all architectures (MSIL)
-
sbclient for 64-bit Windows (x64)
The following merge modules are installed in :
streambase-install-dir\msm
-
StreamBase-DotNET-32-Client-GAC-MSM.msm-
For 32-bit or 64-bit Windows
-
Package GUID: {24505381-E563-497B-99E7-AC2E161E9002}
-
Places the following assemblies in the GAC:
-
sbclient for 32-bit Windows (x86)
-
sbmonitor for all architectures (MSIL)
-
-
-
StreamBase-DotNET-64-Client-GAC-MSM.msm-
For 64-bit Windows only
-
Package GUID: {265E9718-1B84-4188-B57C-4B3FC62C7AC6}
-
Places the following assembly in the GAC:
-
sbclient for 64-bit Windows (x64)
-
-
Both 32-bit and 64-bit merge modules can be used in a 64-bit installer. If you have a 64-bit .NET program that needs the sbmonitor API, incorporate both merge modules into your installer.
Every major.minor release of StreamBase has
a distinct version of all these assemblies. For example, the assemblies for release
6.5 are different than those for release 6.6. Because StreamBase supports the
installation of multiple releases on the same machine, it is possible for assembly
versions from different StreamBase releases to be installed at the same time.
The assembly version is the same for all maintenance releases of a major.minor release. For example, releases 6.6.0 and
6.6.2 have the same assembly versions.
To work properly, the sbclient assemblies require the presence of the C++ runtime for Microsoft Visual C++ 8 (Visual Studio 2005) with the latest service packs and updates. If you do not include the merge modules for the Visual C++ runtime in your installer, the sbclient modules might not work.
Merge modules incorporated into the same installler should have matching version numbers. Microsoft occasionally issues updates for Visual C++ 8.0 which increments the version numbers of the associated merge modules. When creating an installer for a StreamBase .NET client, all versions of the Visual C++ merge module files should be 8.0.50727.6195. If you have installed Visual Studio 2005 or the Windows SDK, the Visual C++ merge module files are already present in:
C:\Program Files\Common Files\Merge Modules or C:\Program Files (x86)\Common Files\Merge Modules
The Visual C++ 8 merge module files for 32-bit Windows are:
-
Visual C++ 8.0 CRT (x86) WinSXS MSM
-
File name: Microsoft_VC80_CRT_x86.msm
-
Package code: {98CB24AD-52FB-DB5F-FF1F-C8B3B9A1E18E}
-
-
Visual C++ 8.0 CRT.Policy (x86) WinSXS MSM
-
File name: policy_8_0_Microsoft_VC80_CRT_x86.msm
-
Package code: {63E949F6-03BC-5C40-FF1F-C8B3B9A1E18E}
-
The Visual C++ 8 merge module files for 64-bit Windows are:
-
Visual C++ 8.0 CRT (x86_64) WinSXS MSM
-
File name: Microsoft_VC80_CRT_x86_x64.msm
-
Package code: {844EFBA7-1C24-93B2-FF1F-C8B3B9A1E18E}
-
-
Visual C++ 8.0 CRT.Policy (x86_64) WinSXS MSM
-
File name: policy_8_0_Microsoft_VC80_CRT_x86_x64.msm
-
Package code: {4F6D20F0-CCE5-1492-FF1F-C8B3B9A1E18E}
-
Different installation creation programs take different approaches to incorporating merge modules into an installer:
-
InstallShield expects all merge modules to be found on its Merge Module search path. Once an MSM is found, it is then referred to by its package GUID, not its file location, on subsequent project edits or builds. To add the StreamBase
msmdirectory to the path, go into InstallShield, invoke → , then select the Merge Modules tab. Add the StreamBasemsmdirectory to the Merge Module Locations field.In InstallShield, select the check box for "StreamBase .NET API 32-bit (or 64-bit) Assembly in GAC" in the Redistributables list under the Application Data section of your installer design, then select the features in which that MSM is to be included.
-
Microsoft Visual Studio deployment projects incorporate MSMs by simply adding the file to the project.
-
For any tool, set the StreamBase MSM's destination to [INSTALLDIR], the product's installation directory. (This is not the case for any Visual C++ MSMs that you include.)
When installed, the assemblies can be found in the GAC. One way to confirm their
presence is to use Windows Explorer to look at the contents of C:\Windows\assembly.
