Distributing Spinnaker Applications

Please see Teledyne's End User License Agreement for the Spinnaker SDK.

Note: Spinnaker no longer supports Myricom Cards MVA or Windows 7.

There are two methods for distributing applications built with the Spinnaker SDK:

  1. Automatic Silent Install—this is the recommended method as it ensures all necessary components are incuded
  2. Custom Distribution of Files and Runtimes—this method allows the flexibility of only including the files you need but requires more expertise

Automatic Silent Install

This is the recommended method. It is available in Spinnaker 4.0 or later.

Launch a command line silent install option using the Spinnaker .exe installer file.

Description Argument Options Default (When Nothing Specified)
Installation folder InstallFolder <String> [ProgramFiles6432Folder]Teledyne\Spinnaker
Features to install Features APIDocs
USBDrivers
USBDriversLegacy
GigEDrivers
VisualStudio2015
Runtimes_v140
VCRedist_v140
GenTL_v140
SpinView_v140
Utilities_v140
SourceCode_v140
CSharpSrc_v140
CPPSrc_v140
CSrc_v140
VBSrc_v140
SpinVideo_v140
ThirdParty_2015
SpinnakerAIK_v140
SpinDirectShow_v140
APIDocs
USBDrivers
USBDriversLegacy
Runtimes_v140

Bolded features listed in the table will automatically select additional features to install:

Feature Installs
VisualStudio2015 Spinnaker_Binaries_v140,
VCRedist_v140,
Spinnaker_GenTL_v140,
Spinnaker_GenICam_v140,
SpinView_v140,
Utilities_v140,
SourceCode_v140,
CSharpSrc_v140,
CPPSrc_v140,
CSrc_v140,
VBSrc_v140,
SpinVideo_v140,
SpinnakerAIK_v140,
SpinDirectShow_v140
Runtimes_v140 Spinnaker_Binaries_v140,
VCRedist_v140,
Spinnaker_GenTL_v140,
Spinnaker_GenICam_v140
ThirdParty_2015 SpinnakerAIK_v140,
SpinDirectShow_v140

Example Command Line Options

For minimal runtime installation:

SpinnakerSDK_FULL_4.0.0.96_x64.exe /install /silent Features=Runtimes_v140,GigEDrivers

For silent uninstallation:

SpinnakerSDK_FULL_4.0.0.96_x64.exe /uninstall /silent

Custom Distribution of Files and Runtimes

When distributing applications built with the Spinnaker SDK, certain files must be included with the package:

  • Spinnaker dll and configuration files (see List of Spinnaker DLL and configuration files table below)
  • Microsoft Visual Studio and .NET runtimes (The version of Visual Studio and .NET runtimes depend on which Spinnaker version is installed.)

Spinnaker dll and Configuration Files

The files that must be included with the distribution depend on the interface used to program the application.

The list of Spinnaker DLL and configurations files (table below) indicates the files required for inclusion in application distributions, depending on the programming interface. The files are installed by default in the bin or bin64 folder of the Spinnaker installation directory.

The dll files are provided for three versions of Visual Studio:

  Visual Studio 2010 Visual Studio 2013 Visual Studio 2015
Use files that end in V100 V120 V140
Use files that include VC100 VC120 VC140

If using:

SpinUpdateConsole (C++ program that is used for updating the device firmware)

  • This application only requires the SpinUpdate_*.dll

SpinSwitchConsole (C++ program that is used for installing the device driver)

  • This application only requires the SpinSwitchClassLibrary_*.dll

List of Spinnaker DLL and configuration files

API related dlls Spinnaker
C++ 
API
SpinnakerC
C
API
SpinnakerNET
C#
API
SpinView C# program
with GUI components
Spinnaker_*.dll X X X X
SpinnakerC_*.dll   X    
SpinnakerNET_*.dll     X X
GenTL_*.dll for Spinnaker 2.3.x or older
FLIR_GenTL_*.cti for Spinnaker 2.3.x to 3.1.x (in cti/cti64 folder)
Spinnaker_GenTL.cti for Spinnaker 4.0.x or newer (in cti/cti64 folder)
X X X X
libiomp5md.dll X X X X
SpinView GUI related files Spinnaker SpinnakerC SpinnakerNET SpinView
SpinnakerNETGUI_*.dll       X
SpinnakerGUI_WPF_*.dll       X
SpinnakerGUISelector_WPF_v140.dll       X
ActiproSoftware.Docking.Wpf.dll       X
ActiproSoftware.Shared.Wpf.dll       X
SpinView_WPF.config       X
OpenTK.dll       X
OpenTK.GLControl.dll       X
Input.xml       X
Keywords.xml       X
GENICAM dlls Spinnaker SpinnakerC SpinnakerNET SpinView
GCBase_MD_**_v3_0.dll X X X X
GenApi_MD_**_v3_0.dll X X X X
Log_MD_**_v3_0.dll X X X X
log4cpp_MD_**_v3_0.dll X X X X
MathParser_MD_**_v3_0.dll X X X X
NodeMapData_MD_**_v3_0.dll X X X X
XmlParser_MD_**_v3_0.dll X X X X
GCBaseNet.dll     X X
Utilities Spinnaker SpinnakerC SpinnakerNET SpinView
SpinUpdate_*.dll       X
SpinSwitchClassLibrary_*.dll       X
UsbHostControl.dll       X
PGRHostControl_dll.dll
Not required for Spinnaker 2.0.x or newer
 X X
Logging Spinnaker SpinnakerC SpinnakerNET SpinView
log4cpp.spinnaker.property X X X X
log4net.dll     X X
Transport Layer xml files
Not required for Spinnaker 2.0.x or newer
Spinnaker SpinnakerC SpinnakerNET SpinView
SFNC_GenTLDataStream_GigE_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLDataStream_Usb3_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLDevice_GigE_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLDevice_Reference_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLDevice_Usb3_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLInterface_GigE_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLInterface_Reference_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLInterface_Usb3_Version_1_0_0_Schema_1_1.xml X X X X
SFNC_GenTLSystem_Version_1_0_0_Schema_1_1.xml X X X X

Microsoft Visual Studio and .NET Runtimes

Regardless of the Visual Studio version used to compile the end application, user computers must include the Visual Studio runtimes used when the dll files were compiled at Teledyne. Our build servers are updated with Microsoft updates.

Note: The runtimes to install must match what was used to compile the dll files. For example, if using a 32-bit application and the 32-bit Spinnaker dll files on a 64-bit operating system, the user must have the 32-bit Visual Studio runtimes. If using the 64-bit Spinnaker dll files then the 64-bit Visual Studio runtimes are required.

Runtimes can be distributed in three ways:

  1. Install the Spinnaker installer to include the correct runtimes. This is the preferred method. Using the msi installer and parameters, the Spinnaker installer runs quietly with no prompts, and is set to install the Runtime Libraries only. The most common reason for not using this method is that the complete Spinnaker installer needs to be included in the package and it is a significant size.
  2. Install the redistributable package found on the Microsoft website. End users can be pointed to the Microsoft link, or the package can be included as part of an installer (with no prompts).
  3. Install the runtimes separately using merge modules in the installer. This allows the distributor to include only the runtimes required by the Spinnaker dll files. 

Note: If using method 2 or 3, include the runtime version for the Visual Studio release as listed in the table below. 

List of runtime and .NET versions

VS2013 VS2015
Runtime:
32/64-bit: 12.0.30501.0
.NET 4.5
Runtime:
32/64-bit: 14.0.23026.0
.NET 4.5

The runtime modules required by Spinnaker are:

For VS2010

    • Microsoft_VC100_ATL
    • Microsoft_VC100_CRT
    • Microsoft_VC100_MFC
    • Microsoft_VC100_MFCLOC
    • Microsoft_VC100_OpenMP
    • policy_8_0_Microsoft_VC100_ATL
    • policy_8_0_Microsoft_VC100_CRT
    • policy_8_0_Microsoft_VC100_MFC
    • policy_8_0_Microsoft_VC100_MFCLOC
    • policy_8_0_Microsoft_VC100_OpenMP

For VS2013

    • Microsoft_VC120_AT
    • Microsoft_VC120_CRT
    • Microsoft_VC120_MFC
    • Microsoft_VC120_MFCLOC
    • Microsoft_VC120_OpenMP
    • policy_8_0_Microsoft_VC120_ATL
    • policy_8_0_Microsoft_VC120_CRT
    • policy_8_0_Microsoft_VC120_MFC
    • policy_8_0_Microsoft_VC120_MFCLOC
    • policy_8_0_Microsoft_VC120_OpenMP

For VS2015

    • In VS2015, it is no longer sufficient to provide just the merge modules as the universal crt libraries are not packaged with them. Users must install the vcredist.exe provided by Microsoft. 

Note: A subset of the library may only require a subset of the merge modules. We publish the full list due to the large number of potential combinations, and the relatively small footprint of the modules.