Impact Acquire SDK C++
Migrating Installers

Migrating Installers To Impact Acquire 2.6.4 Or Higher

Since Impact Acquire 2.6.4 and the migration to version 2.4 of the GenICam™ runtime libraries the embedded *.exe installers for the GenICam™ runtime are no longer shipped. When migrating custom installers that shall support device drivers depending on the GenICam™ runtime to Impact Acquire 2.6.4 or greater the GenICamRuntime.msm or GenICamRuntime.x64.msm must be installed instead of the deprecated GenICam_VC80_Win32_i86_v2_3_0.exe or GenICam_VC80_Win64_x64_v2_3_0.exe files. Using these newer merge modules also comes with the advantage, that whenever a new version of the GenICam™ runtime gets released, this will automatically end up in these files thus custom installers do no longer need to be updated manually.

Migrating Installers To Impact Acquire 2.8.0 Or Higher

Since Impact Acquire 2.8.0 all Balluff installation packages are built using VisualStudio 2013, and therefore use the Microsoft_VC120_OpenMP OpenMP runtime and Microsoft_VC120_CRT C/C++ runtime. Earlier versions used to be compiled with Visual Studio 2005, meaning that the VC80 counterparts of OpenMP and C/C++ runtime were used.

Migrating Installers To Impact Acquire 2.50.0 Or Higher

Since Impact Acquire 2.50.0 all Balluff installation packages are built using VisualStudio 2019. Therefore custom installers no longer need to contain the merge modules mentioned in the previous section but have to install more recent redistributables now. See Windows® for details. Earlier versions used to be compiled with Visual Studio 2013, meaning that the VC120 counterparts of OpenMP and C/C++ runtime were used in the form of merge modules (*.msm files). See previous section for details.

Migrating Installers To Impact Acquire 3.0.1 Or Higher

Since Impact Acquire 3.0.1 all device drivers and libraries belonging to the Impact Acquire framework have been merged into a single installation package. This new package now uses the name of the framework instead of the name of the device family supported by the package. Script-based installation routines using the previous package names therefore need to be adjusted accordingly.

Windows

The following table highlights the changes applied to the installation package names:

File names < 3.0.1 File names >= 3.0.1
  • mvBlueFOX-x86-2.50.0.exe
  • mvGenTL_Acquire-x86-2.50.0.exe
  • mvVirtualDevice-x86-2.50.0.exe
ImpactAcquire-x86-3.0.1.exe
  • mvBlueFOX-x86_64-2.50.0.exe
  • mvGenTL_Acquire-x86_64-2.50.0.exe
  • mvVirtualDevice-x86_64-2.50.0.exe
ImpactAcquire-x86_64-3.0.1.exe

Apart from the package names also a couple of changes have been applied to the internal merge modules, thus if the merge modules have been used for building custom installations some additional changes might be necessary. The following table lists all changes that have been applied to individual merge modules:

File names < 3.0.1 File names >= 3.0.1
mvBlueNAOSDocumentation.msm BVS_CA-BNDocumentation.msm
mvBlueNAOSDocumentation.x64.msm BVS_CA-BNDocumentation.x64.msm
mvBlueNAOSDriver.msm BVS_CA-BNDriver.msm
mvBlueNAOSDriver.x64.msm BVS_CA-BNDriver.x64.msm
mvGenTL-AcquireDriver.msm (did contain the GenTL Consumer and Producer)
  • GenICamGenTLConsumer.msm (contains the GenTL Consumer only)
  • GenICamGenTLProducer.msm (contains the GenTL Producer for GigE Vision™ and USB3 Vision™)
mvGenTL-AcquireDriver.x64.msm (did contain the GenTL Consumers and Producers)
  • GenICamGenTLConsumer.x64.msm (contains the GenTL Consumers only)
  • GenICamGenTLProducer.x64.msm (contains the GenTL Producers for GigE Vision™ and USB3 Vision™)

Since merging the three individual installation packages into a single Impact Acquire package it now might be desirable to mimick the behaviour of one of the previous individual packages. This can be achieved by passing various command-line properties to the installation now as shown in the following table:

Previous package name Parameters to pass to the installation package with a version >= 3.0.1 to achieve the same behavior
  • mvBlueFOX-x86-2.50.0.exe
  • mvBlueFOX-x86_64-2.50.0.exe
GEV_SUPPORT=no PCIE_SUPPORT=no U3V_SUPPORT=no USB2_SUPPORT=yes VIRTUAL_DEVICE_SUPPORT=no
  • mvGenTL_Acquire-x86-2.50.0.exe
  • mvGenTL_Acquire-x86_64-2.50.0.exe
GEV_SUPPORT=yes PCIE_SUPPORT=yes U3V_SUPPORT=yes USB2_SUPPORT=no VIRTUAL_DEVICE_SUPPORT=no
  • mvVirtualDevice-x86-2.50.0.exe
  • mvVirtualDevice-x86_64-2.50.0.exe
GEV_SUPPORT=no PCIE_SUPPORT=no U3V_SUPPORT=no USB2_SUPPORT=no VIRTUAL_DEVICE_SUPPORT=yes
Note
Due to the fact that a couple of the parameters stated above use their default values these could be omitted as well but since future releases of this package might change these default values it is saver to pass all parameters explicitly.

Linux

The following table highlights the changes applied to the installation package names:

File names < 3.0.1 Install script names < 3.0.1 File names >= 3.0.1 Install script names >= 3.0.1
  • mvBlueFOX-ARM64_gnu-2.50.1.tgz
  • mvGenTL_Acquire-ARM64_gnu-2.50.1.tgz
  • install_mvBlueFOX_ARM.sh
  • install_mvGenTL_Acquire_ARM.sh
ImpactAcquire-ARM64_gnu-3.0.1.tgz install_ImpactAcquire.sh
  • mvBlueFOX-ARMhf_gnueabi-2.50.1.tgz
  • mvGenTL_Acquire-ARMhf_gnueabi-2.50.1.tgz
  • install_mvBlueFOX_ARM.sh
  • install_mvGenTL_Acquire_ARM.sh
ImpactAcquire-ARMhf_gnueabi-3.0.1.tgz install_ImpactAcquire.sh
  • mvBlueFOX-x86_64_ABI2-2.50.1.tgz
  • mvGenTL_Acquire-x86_64_ABI2-2.50.1.tgz
  • mvVirtualDevice-x86_64_ABI2-2.50.1.tgz
  • install_mvBlueFOX.sh
  • install_mvGenTL_Acquire.sh
  • install_mvVirtualDevice.sh
ImpactAcquire-x86_64_ABI2-3.0.1.tgz install_ImpactAcquire.sh
Note
When installing the full Impact Acquire framework without customization all the files needed to operate any physical hardware supported by the framework will be installed. When the virtual device shall be available as well this must be either specified accordingly on the command line or explicitly selected during manual, interactive installation! For details on how to do this refer to the Installation Options section of this document.

Since merging the three individual installation packages into a single Impact Acquire package it now might be desirable to mimic the behaviour of one of the previous individual packages. This can be achieved by passing various command-line properties to the installation now as shown in the following table:

Previous package name Parameters to pass to the installation package with a version >= 3.0.1 to achieve the same behavior
  • mvBlueFOX-ARM64_gnu-2.50.1.tgz
  • mvBlueFOX-ARMhf_gnueabi-2.50.1.tgz
  • mvBlueFOX-x86_64_ABI2-2.50.1.tgz
–gev_support=no –pcie_support=no –u3v_support=no –usb2_support=yes –virtual_device_support=no
  • mvGenTL_Acquire-ARM64_gnu-2.50.1.tgz
  • mvGenTL_Acquire-ARMhf_gnueabi-2.50.1.tgz
  • mvGenTL_Acquire-x86_64_ABI2-2.50.1.tgz
–gev_support=yes –pcie_support=yes –u3v_support=yes –usb2_support=no –virtual_device_support=no
  • mvVirtualDevice-x86_64_ABI2-2.50.1.tgz
–gev_support=no –pcie_support=no –u3v_support=no –usb2_support=no –virtual_device_support=yes
Note
Due to the fact that a couple of the parameters stated above use their default values these could be omitted as well but since future releases of this package might change these default values it is saver to pass all parameters explicitly.

Migrating Installers To Impact Acquire 3.1.0 Or Higher

With the release of Impact Acquire 3.1.0 the mvImageProcessing shared library originally introduced in version 2.30.0 for the x86 and x86_64 Linux versions of the framework is now shipped for every supported platform. Custom installation routines either installing the original Impact Acquire installer packages or (on Windows) use the *.msm files provided by Balluff don't need to do anything but custom installation routines based on individual files extracted from an Impact Acquire installation package affected by this change now need to make sure to ship the mvImageProcessing shared library as well. This affects Windows as well as macOS and Linux ARM based installations. In addition Impact Acquire 3.1.0 contains install scripts with integrated package data. Therefore only one file is needed to install Impact Acquire.

The following table shows the supported platforms and the corresponding installation script name:

ArchitecturePackage
ARM64ImpactAcquire-arm64-linux-3.3.0.sh
ARMhfImpactAcquire-armhf-linux-3.3.0.sh
x86_64ImpactAcquire-x86_64-linux-3.3.0.sh