Distributing Spinnaker Applications
Please see Teledyne's End User License Agreement for the Spinnaker SDK.
Note: As of version 4.0 Spinnaker no longer supports Myricom Cards MVA or Windows 7.
There are two methods for distributing applications built with the Spinnaker SDK:
- Automatic Silent Install—this is the recommended method as it ensures all necessary components are included
- Custom Distribution of Files and Runtimes—this method allows the flexibility of only including the files you need but requires more expertise. See also Installing Spinnaker from the Command Line.
Automatic Silent Install
This is the recommended method. It is available in Spinnaker 4.x or newer.
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
This method allows the flexibility of only including the files you need but requires more expertise. See also Installing Spinnaker from the Command Line.
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.2.x or older FLIR_GenTL_*.cti for Spinnaker 2.3.x to 3.x (in cti/cti64 folder) Spinnaker_GenTL.cti for Spinnaker 4.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 | 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:
- 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.
- 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).
- 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.