mvIMPACT Acquire SDK C++
|
This chapter will explain what has to be done to build installation packages for the applications target platform that include all files needed to operate the device without the need to ship the full MATRIX VISION GmbH driver setup.
The latest official drivers can always be found under http://www.matrix-vision.com
Most of the driver packages are distributed as MSI (Microsoft Windows Installer™) packages. Some however will be distributed as EXE files. These packages contain so called bootstrappers - a special package format to distribute multiple files as a single installation. The internal underlying technology is also MSI.
If your installation also uses the MSI technology this is the easiest way to distribute all the related driver files! All merge modules (*.msm-files) that belong to a certain version of mvIMPACT Acquire can be downloaded from the MATRIX VISION website (http://www.matrix-vision.com) as a compressed archive.
After extraction these merge modules then can be included into your setup project as needed and you are done.
32-bit merge modules contain 32-bit code only while 64-bit merge modules contain everything that will allow running both 32-bit and 64-bit applications. The names of the merge modules belonging to mvIMPACT Acquire will use the following extensions:
So to run 32-bit applications on a 32-bit version of Windows ONLY the 32-bit *.msm files shall be used and to run either 32- or 64-bit applications (or both 32- AND 64-bit applications) ONLY the 64-bit *.x64.msm files shall be used. The only exceptions from this rule are third party merge modules (e.g. the OpenMP-runtime) where this is stated differently in the list of merge modules below. As an example what is inside a merge module let us consider the mvIMPACT_AcquireBaseLibs file:
Sometimes user interaction during an installation is not desired. The MSI engine therefore supports a set of command line options that can be used to run setups in special ways. Probably the most common way to run an unattended setup will be an installation without any GUI display or user interaction. This can be achieved like this:
or (with an automatic reboot of the system at the end of the installation):
For a complete list of option type
in a command shell an hit the ENTER key.
This following section contains merge modules will be needed by any custom installer that shall support mvIMPACT Acquire compliant devices:
Open MP runtime | |
---|---|
Name of the 32 bit merge modules | Microsoft_VC120_OpenMP_x86.msm |
Name of the 64 bit merge modules | Microsoft_VC120_OpenMP_x64.msm |
Requirement | Must be installed. To run 32 bit applications on 64 bit systems, the 32 bit merge modules must be installed as well |
mvIMPACT Acquire driver framework | |
---|---|
Name of the 32 bit merge module | mvIMPACT_AcquireBaseLibs.msm |
Name of the 64 bit merge module | mvIMPACT_AcquireBaseLibs.x64.msm |
Requirement | Must be installed. In order to work with GenICam compliant devices some environment variables must be set (see Environment Variables below). |
mvIMPACT Acquire .NET Framework runtime | |
---|---|
Name of the merge module | mvIMPACT_Acquire.NET.msm |
Requirement | Only needed if the target application has been written using the .NET Framework API of mvIMPACT Acquire. Refer to Building, Linking And Running Applications Using mvIMPACT Acquire about the differences between the .NET Framework and the .NET Standard API. |
mvIMPACT Acquire .NET Standard runtime | |
---|---|
Name of the merge module | mvIMPACT_Acquire.NET.Standard.msm |
Requirement | Only needed if the target application has been written using the .NET Standard API of mvIMPACT Acquire. Refer to Building, Linking And Running Applications Using mvIMPACT Acquire about the differences between the .NET Framework and the .NET Standard API. |
mvIMPACT Acquire Java runtime | |
---|---|
Name of the 32 bit merge module | mvIMPACT_AcquireJava.msm |
Name of the 64 bit merge module | mvIMPACT_AcquireJava.x64.msm |
Requirement | Only needed if the target application has been written using the Java API of mvIMPACT Acquire. |
mvIMPACT Acquire tools prerequisites | |
---|---|
Name of the 32 bit merge module | mvIMPACT_AcquireExecutablesPrerequisites.msm |
Name of the 64 bit merge module | mvIMPACT_AcquireExecutablesPrerequisites.x64.msm |
Requirement | Only needed if mvIMPACT_AcquireTools is installed. Contains additional libraries that are needed by some of the tools. In particular this merge module contains the mvDisplay.dll which might be needed by a customers applications as well. |
mvIMPACT Acquire tools | |
---|---|
Name of the 32 bit merge module | mvIMPACT_AcquireTools.msm |
Name of the 64 bit merge module | mvIMPACT_AcquireTools.x64.msm |
Requirement | Only needed if tools like wxPropView or mvDeviceConfigure shall be available |
This merge module has configuration options: Define a property CREATE_DESKTOP_SHORTCUTS in your installation and pass the value of this property to the merge module if you want desktop icons to be created for the tools. Define a property FILTER_INSTALL_PARAMS and feed it with a string containing arbitrary command line parameters to be sent to mvGigEConfigure
when starting the system the next time. See installation options further down in this chapter for additional details.
DirectShow support for mvIMPACT Acquire compliant devices | |
---|---|
Name of the 32 bit merge module | mvDirectShow_acquireDriver.msm |
Name of the 64 bit merge module | mvDirectShow_acquireDriver.x64.msm |
Requirement | Only needed if the application requires a DirectShow interface |
VisionPro support for mvIMPACT Acquire compliant devices | |
---|---|
Name of the 32 bit merge module | mvIMPACT_Acquire_Cognex_Adapter.msm |
Name of the 64 bit merge module | mvIMPACT_Acquire_Cognex_Adapter.x64.msm |
Requirement | Only needed if the device shall be operated using VisionPro |
NeuroCheck 6 support for mvIMPACT Acquire compliant devices | |
---|---|
Name of the 32 bit merge module | mvIMPACT_Acquire_NeuroCheck6_Adapter.msm |
Name of the 64 bit merge module | mvIMPACT_Acquire_NeuroCheck6_Adapter.x64.msm |
Requirement | Only needed if the device shall be operated using NeuroCheck 6. Files will only be installed if an existing NeuroCheck 6 installation can be detected in at least one of the ProgramFiles folders |
NeuroCheck 6.1 support for mvIMPACT Acquire compliant devices | |
---|---|
Name of the 32 bit merge module | mvIMPACT_Acquire_NeuroCheck6_1_Adapter.msm |
Name of the 64 bit merge module | mvIMPACT_Acquire_NeuroCheck6_1_Adapter.x64.msm |
Requirement | Only needed if the device shall be operated using NeuroCheck 6.1. Files will only be installed if an existing NeuroCheck 6.1 installation can be detected in at least one of the ProgramFiles folders |
User mode driver | |
---|---|
Name of the 32 bit merge module | mvGenTL-AcquireDriver.msm |
Name of the 64 bit merge module | mvGenTL-AcquireDriver.x64.msm |
Requirement | Must be installed. To use the user mode driver as a GenTL Producer you must create or append the corresponding environment variables (see Environment Variables below). |
C/C++ runtime | |
---|---|
Name of the 32 bit merge modules | Microsoft_VC120_CRT_x86.msm |
Name of the 64 bit merge modules | Microsoft_VC120_CRT_x64.msm |
Requirement | Must be installed. To run 32 bit applications on 64 bit systems, the 32 bit merge modules must be installed as well |
GenICam runtime | |
---|---|
Name of the 32 bit merge module | GenICamRuntime.msm |
Name of the 64 bit merge module | GenICamRuntime.x64.msm |
Requirement | Must be installed. The GenICam runtime needed to operate any device the complies with the GenICam standard that shall be used through the mvGenTL-Acquire driver package. |
When the original installer of the mvGenTL_Acquire driver package is used, the user will be prompted to restart the system at the end of the installation. During reboot then the GigE Vision Filter Driver is installed by mvGigEConfigure.exe. When all the appropriate merge modules have been integrated into the setup, this will also happen in custom installations. Sometimes user interaction during the installation is or is not desired and/or GUI based tools shall not be displayed. This can be achieved by changing a public property of the installer's internal data base.
An installation of the driver without any user interaction can be achieved like this from the command line:
This will install the driver, reboot the system and install the filter driver and will display the GigEConfigure tool to the user and will display some status information during the installation. Please note that you have to call the install engine from an administrator shell in order to get this working properly. Valid values for the 'FILTER_INSTALL_PARAMS' property are all valid command line options for the mvGigEConfigure
tool.
Apart from that there are some other public properties, which can be tailored to suit the needs of the application:
These properties control whether the corresponding kernel drivers will be installed on the target system or not. The default for each property is displayed in bold.
So e.g. to install the GEV driver only you can call the MSI engine like this:
To copy all the GEV driver and tools related files to the target system only without actually installing the filter driver you can call the MSI engine like this:
When only the U3V driver shall be support in silent mode call msiexec like this:
Configuring the filter driver installation tool then is not necessary, as it is only needed for GEV support.
Kernel mode driver | |
---|---|
Name of the 32 bit merge module | mvGigECaptureDriver.msm |
Name of the 64 bit merge module | mvGigECaptureDriver.x64.msm |
Requirement | Should be installed for optimal performance. Needs additional work (Filter driver must be installed either by using mvGigEConfigure.exe or another appropriate method). See Non-MSI based section about installing the GEV driver for details. |
GigE Vision specific tools | |
---|---|
Name of the 32 bit merge module | mvGigETools.msm |
Name of the 64 bit merge module | mvGigETools.x64.msm |
Requirement | Should be installed for optimal performance. Contains tools that can be used to install/remove/enable/disable the filter driver and to set up GigE Vision compliant devices. In order to automatically install the driver some environment variables must be set (see Environment Variables below). |
This merge module has a configuration option: Define a property CREATE_DESKTOP_SHORTCUTS in your installation an pass the value of this property to the merge module if you want desktop icons to be created for the tools.
Technical manuals for GigE Vision devices | |
---|---|
Name of the 32 bit merge module | mvBlueCOUGARDocumentation.msm |
Name of the 64 bit merge module | mvBlueCOUGARDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvBlueCOUGAR devices shall be available |
Kernel mode driver | |
---|---|
Name of the 32 bit merge module | mvUSB3VisionKernelDriver.msm |
Name of the 64 bit merge module | mvUSB3VisionKernelDriver.x64.msm |
Requirement | Must be installed for USB3 Vision support. |
Firmware updates for USB3 Vision devices | |
---|---|
Name of the 32 bit merge module | mvBlueFOX3Update.msm |
Name of the 64 bit merge module | mvBlueFOX3Update.x64.msm |
Requirement | Only needed if firmware files to update mvBlueFOX3 devices shall be available |
Technical manuals for USB3 Vision devices | |
---|---|
Name of the 32 bit merge module | mvBlueFOX3Documentation.msm |
Name of the 64 bit merge module | mvBlueFOX3Documentation.x64.msm |
Requirement | Only needed if technical manuals for mvBlueFOX3 devices shall be available |
Kernel mode driver and GenTL Producer | |
---|---|
Name of the 32 bit merge module | So far a 32-bit version of this device driver doesn't exist! |
Name of the 64 bit merge module | mvBlueNAOSDriver.x64.msm |
Requirement | Must be installed to work with mvBlueNAOS (Labs) devices. |
Technical manuals for mvBlueNAOS (Labs) devices | |
---|---|
Name of the 32 bit merge module | mvBlueNAOSDocumentation.msm |
Name of the 64 bit merge module | mvBlueNAOSDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvBlueNAOS (Labs) devices shall be available. Please note that right now a 32-bit driver for mvBlueNAOS (Labs) devices doesn't exist! |
Kernel mode driver | |
---|---|
Name of the 32 bit merge module | mvBlueFOXKernelDriver.msm |
Name of the 64 bit merge module | mvBlueFOXKernelDriver.x64.msm |
Requirement | Must be installed. |
User mode driver | |
---|---|
Name of the 32 bit merge module | mvBlueFOXDriver.msm |
Name of the 64 bit merge module | mvBlueFOXDriver.x64.msm |
Requirement | Must be installed |
Technical manuals for mvBlueFOX devices | |
---|---|
Name of the 32 bit merge module | mvBlueFOXDocumentation.msm |
Name of the 64 bit merge module | mvBlueFOXDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvBlueFOX devices shall be available |
Kernel mode driver | |
---|---|
Name of the 32 bit merge module | mvHYPERIONKernelDriver.msm, mvSerialPortKernelDriver.msm |
Name of the 64 bit merge module | mvHYPERIONKernelDriver.x64.msm, mvSerialPortKernelDriver.x64.msm |
Requirement | Must be installed. |
User mode driver | |
---|---|
Name of the 32 bit merge module | mvHYPERIONDriver.msm |
Name of the 64 bit merge module | mvHYPERIONDriver.x64.msm |
Requirement | Must be installed |
Technical manuals for mvHYPERION devices | |
---|---|
Name of the 32 bit merge module | mvHYPERIONDocumentation.msm |
Name of the 64 bit merge module | mvHYPERIONDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvHYPERION devices shall be available |
CameraLink communication | |
---|---|
Name of the 32 bit merge module | mvCameraLinkCommunication.msm |
Name of the 64 bit merge module | mvCameraLinkCommunication.x64.msm |
Requirement | Only needed if the application wants to establish serial communication to CameraLink cameras |
This merge module has configuration options. Define CL_COM_LIB_PATH_PROP (or CL_COM_LIB_PATH_PROP and CL_COM_LIB_PATH_PROP_X86 for 64-bit systems) and set it/them to the desired path(es). Refer to the CameraLink specification for details.
Kernel and User mode driver | |
---|---|
Name of the 32 bit merge module | mvTITANDriver.msm, mvInstinfTool.msm, mvSDKDriverCommonFiles.msm, mvSetDMATool.msm |
Name of the 64 bit merge module | mvTITANDriver.signed.x64.msm, mvSDKDriverCommonFiles.msm, mvSDKTITANKernelDriver.x64.msm, mvSDKTITANUserModeDriver.x64.msm, mvSetDMATool.msm (this is the 32-bit version, 64-bit support not available) |
Requirement | Must be installed. |
Technical manuals for mvTITAN and mvGAMMA devices | |
---|---|
Name of the 32 bit merge module | mvTITANDocumentation.msm |
Name of the 64 bit merge module | mvTITANDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvTITAN and mvGAMMA devices shall be available |
CameraLink communication | |
---|---|
Name of the 32 bit merge module | mvCameraLinkCommunication.msm |
Name of the 64 bit merge module | mvCameraLinkCommunication.x64.msm |
Requirement | Only needed if the application wants to establish serial communication to CameraLink cameras |
Kernel and User mode driver | |
---|---|
Name of the 32 bit merge module | mvSIGMADriver.msm, mvInstinfTool.msm, mvSDKDriverCommonFiles.msm, mvSetDMATool.msm |
Name of the 64 bit merge module | mvSIGMADriver.signed.x64.msm (both 32-bit and 64-bit mvIMPACT Acquire user mode driver), mvSDKDriverCommonFiles.x64.msm, mvSetDMATool.msm (this is the 32-bit version, 64-bit support not available), mvSIGMAUserModeDriver.x64.msm, mvSDKSIGMAKernelDriver.x64.msm |
Requirement | Must be installed. |
User mode driver(DEPRECATED) | |
---|---|
Name of the 32 bit merge module | NOT AVAILABLE |
Name of the 64 bit merge module | mvSIGMAUserModeDriver.msm |
Requirement | Should not be installed anymore. This is a deprecated merge module just provided for backward compatibility in order not to break existing installer build scripts. It contains the 32-bit user mode drivers to access boards belonging to this family. New installations should install mvSIGMAUserModeDriver.x64.msm instead. Do NOT install both mvSIGMAUserModeDriver.msm and mvSIGMAUserModeDriver.x64.msm on a system. This will break the MSI engines reference counting leaving files on the system after removing the package |
Technical manuals for mvSIGMA and mvDELTA devices | |
---|---|
Name of the 32 bit merge module | mvSIGMADocumentation.msm |
Name of the 64 bit merge module | mvSIGMADocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvSIGMA and mvDELTA devices shall be available |
For mvVirtualDevice devices:
User mode driver | |
---|---|
Name of the 32 bit merge module | mvVirtualDeviceDriver.msm |
Name of the 64 bit merge module | mvVirtualDeviceDriver.x64.msm |
Requirement | Must be installed |
Technical manuals for mvVirtualDevice devices | |
---|---|
Name of the 32 bit merge module | mvVirtualDeviceDocumentation.msm |
Name of the 64 bit merge module | mvVirtualDeviceDocumentation.x64.msm |
Requirement | Only needed if technical manuals for mvVirtualDevice devices shall be available |
If other installation frameworks such as Inno Setup or NSIS (Nullsoft Scriptable Install System) are used then sometimes using merge modules (*.msm files) is not an option as it is not supported by the installation framework. In such cases there are 3 ways to go:
How to launch an installation from another installation with no user interaction has been already discussed Unattended Setups here. However when the mvIMPACT Acquire MSI installers are embedded into another installation simply running these installers might no always result in only the desired files being installed but also the header files, documentation and other features unwanted on a defined target system.
So only installing the files needed by an application does require to modify one or more of the following properties when launching the mvIMPACT Acquire installation:
For details refer to the documentation about these properties in the MSDN (http://msdn.microsoft.com).
So one way to go would be to switch off ALL features by setting the INSTALLLEVEL property to 0 and then add all those features needed by the application by providing a list of these features to the ADDLOCAL property:
When e.g. running the mvBlueFOX installer with the following command line
results in the following features being pre-selected:
To obtain the names of the features to be installed any tool that can analyze an MSI-files database can be used. The following screenshot was taken by Orca, which is a tool for authoring MSI files that can be downloaded from Microsoft™ free of charge.
On the other hand to remove one or more features belonging to a known installer on the target system can be accomplished using the REMOVE property. So to e.g. remove the .NET support and the technical manual for mvBlueFOX devices the following command line can be used:
Other setup routines should NOT include the driver files if this can be avoided, as this might cause version conflicts when the original installation package is installed as well and might also confuse the MSI engine when removing the original installation package, which might cause an incomplete package removal operation. However if this approach is desired this section provides a brief list of things that must be done of the target machine.
To run a MATRIX VISION device with the mvIMPACT Acquire interface some common files are needed for every device on the target system:
Both files can be found in "$(windir)\system32"
(32 bit version) and/or "$(windir)\SysWOW64"
(64 bit version).
As the user mode part of the device driver internally make use of Open MP (http://openmp.org/) on Windows a matching version of the Open MP runtime must be installed on the target system as well. Current versions of the drivers are linked against version 12.0.21005.1 of the runtime. The corresponding merge modules or redistributables can be obtained from Microsoft
All these files can be either be copied somewhere in the systems path or into the applications directory.
With these files the device can be used and configured from an application. Some features however require some additional installation work:
In general any version of Windows requires you to install properly signed kernel/device drivers. Unfortunately the signature requirements did change over the years and therefore different Windows version require differently signed drivers. The actual kernel driver is always the same in almost every scenario however the signature attached to the file is NOT and therefore the full file is different. When working with the *.msm-files for the driver installation the merge modules internal logic will detect the version of Windows the installation is running on and will then install the matching version of the device driver. Internally this is achieved by putting EVERY version of the kernel driver into the merge module and then only the correct version gets installed. When not using the merge modules this has to be implemented as well. If just a single version of Windows is targeted the easiest approach is to install the mvIMPACT Acquire package on that system and get the related driver files from the full installation. Which files are needed for which device is described further down in this chapter. Right now mvIMPACT Acquire usually comes with drivers for the following versions of Windows:
Windows version | Used Signature |
---|---|
XP and Server 2003 | SHA1 |
Vista, 7, 8, 8.1, 10(smaller than release 1607) and Server 2008 | SHA256 |
Windows 10 greater or equal version 1607 | SHA256 EV |
See Windows as well!
In case an application makes use of the mvDisplay.dll library this must be deployed on the target system as well. The same restrictions, path informations, etc. as in the previous section apply.
In order to allow the application to load and store settings in the registry these keys must be created during the installation:
"HKEY_LOCAL_MACHINE\Software\MATRIX VISION\Settings"
"HKEY_CURRENT_USER\Software\MATRIX VISION\Settings"
If the keys are missing settings can still be loaded and stored in the platform independent XML format by using the appropriate functions discussed in the chapters describing the software interface.
If your application shall be able to generate *.log-files the following directories must be created on the target system:
"%ALLUSERS%\Documents\MATRIX VISION"
"%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire"
"%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire\Logs"
Apart from that these files must be installed to "%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire\Logs\":
The first file is discussed in detail in the logging chapter of this manual, the latter files are only needed if the standard MATRIX VISION log-file style shall be used(XML with stylesheet transformation). To find out how to embed your own log-file stylesheet please refer to the chapter about the logging mechanism. Here it also explained how to create plain XML log files and XML files that can be viewed using mvLogFileViewer.html.
If your application shall be able to work with camera description files and does NOT modify the property mvIMPACT::acquire::Device::customDataDirectory before initialising the device the following directories must be created on the target system:
"%ALLUSERS%\Documents\MATRIX VISION"
"%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire"
"%ALLUSERS%\Documents\MATRIX VISION\mvIMPACT acquire\CameraFiles"
All camera description files that shall be used by the application must be installed into the folder CameraFiles in order to be recognized by the driver.
In case an application makes use of the Java to mvIMPACT Acquire native interface the mvIMPACT_Acquire.java.dll library must be deployed on the target system as well. The same restrictions, path informations, etc. as in the Common Files Needed For All Device Drivers section apply.
"$(windir)\system32"
[32 bit version] and/or "$(windir)\SysWOW64"
[64 bit version])If the GigE Vision™ capture filter kernel mode driver shall be used the following files must be shipped as well:
If the GigE Vision™ capture filter kernel mode driver shall be used the following files must be shipped as well:
To actually install the filter driver on the system there are 2 ways to go: Either the tool mvGigEConfigure.exe or the built-in mechanism of Windows to install a filter driver can be used.
Using mvGigEConfigure there are again 2 possibilities:
Using the built-in mechanism of Windows works like this:
First navigate to any of the network connections available to the system and open the properties dialog of that connection.
Here click on Install...
In the next Windows select Service and click on Add....
Now click on Have Disk....
Click on Browse... and navigate to the folder containing the GigE Vision™ capture filter kernel mode driver files mentioned above.
Select the file mvGigECapture.inf and click on Open
Click on OK
Now depending on the amount of network connections installed in your system and depending on the version of Windows you are working with a couple of warnings might appear that must be confirmed with something like Continue anyway.
Afterwards the filter driver will installed and active on EVERY network connection of the system. If that is not desired, it can be enable and disabled from the properties dialog of the network connection that shall be modified by checking or unchecking the box in from of the MATRIX VISION filter driver entry.
For USB3 Vision™ device support the following files(correctly signed for the target platform) must be shipped as well:
For 32-bit support:
For 64-bit support:
The relative folder structure is vital! Installation of the kernel module will fail if this does not match!
paragraph InstallationFromPrivateSetupRouinesWindowsNonMSI_GEV_U3V_PCIe_PCIe mvBlueNAOS Device Specific
For mvBlueNAOS (Labs) device support the following files(correctly signed for the target platform) must be shipped as well:
For 32-bit support:
For 64-bit support:
Apart from that, the GenICam runtime this driver has been linked with must be installed on the target system. The runtime modules are contained in the merge modules belonging to this driver package.
official
runtime installer that can be downloaded from www.genicam.org. This has been compiled with a different version of Visual Studio an cannot be used to operate the mvIMPACT Acquire GenTL consumer. Only use the libraries that come with this installation package that are stored under the installation folder in the sub-directory Toolkits/GenICam_v<major>_<minor>
The driver will try to locate the GenICam runtime in $(MVIMPACT_ACQUIRE_DIR)/Toolkits/GenICam_v<major>_<minor> thus if you plan to distribute the runtime in a different way you need to setup you environment accordingly as described by the GenICam standard.
In the standard installation, the file can be found in "$(windir)\system32"
(32 bit version) and/or "$(windir)\SysWOW64"
(64 bit version).
The files belonging to the kernel driver
The kernel driver files should be installed BEFORE connecting the device to the target system the first time as then Windows automatically detects the driver.
.cat files can't just be copied into some system specific directory. Please refer to the corresponding documentation by Microsoft.
In addition to this a Windows driver framework co-installer is needed. This file must be copied into the Windows system (system32) folder. Both the 32-bit and the 64-bit version of the driver need 'WdfCoinstaller01009.dll' for the driver installation. If the co-installer is not present on the target system they must be copied as well.
Experienced users are encouraged to use the Microsoft Driver install Framework for applications to deploy this driver on the target system (http://msdn.microsoft.com/en-us/library/ms790295.aspx). This is the recommended way for installing device drivers.
These files alone will correctly install the mvBlueFOX as a recognized device on the target system. However to access the device from any kind of application the base libraries for the mvIMPACT Acquire interface will be needed as well.
In the standard installation, the file can be found in "$(windir)\system32"
(32 bit version) and/or "$(windir)\SysWOW64"
(64 bit version).
These files must somehow be accessible during the installation procedure. Therefore they should be copied to some temporary location or somewhere into the target directory. In order to install the low level hardware driver then the normal driver installation procedures can be used. MATRIX VISION recommends using the mechanisms available in the Microsoft Driver Install Frameworks (DIFx) for installing the kernel driver. Please note that the mvHYPERION driver files are signed via the *.cat file. This will be needed in order to load kernel mode code on Windows Vista x64 and presumably every other new operating system published by the Microsoft company.
These files alone will correctly install any mvHYPERION device currently present in the system as a recognized device. For devices added to the system later on the steps described above MUST be repeated.
The next time you start the system after connecting the devices to the target motherboard the Windows plug and play manager will inform the user about newly unknown hardware devices and will offer to install these devices. You can either cancel this operation OR (if all the files mentioned above are still present on the target system) you can follow the plug and play wizards dialogs and can specify the mvhyperion.inf file when the system asks for it OR (if you have used the DIFx) don't do anything as the system will handle the new device correctly.
For applications, that communicate via the CameraLink serial interface with the camera these files will be needed as well:
To access the device from any kind of application based on the mvIMPACT Acquire interface the base libraries for the mvIMPACT Acquire interface together with the device specific interface library
"$(windir)\system32"
[32 bit version] and/or "$(windir)\SysWOW64"
[64 bit version])will be needed as well.
"$(windir)\system32"
[32 bit version] and/or "$(windir)\SysWOW64"
[64 bit version])All these files must somehow be accessible during the installation procedure. Therefore they should be copied to some temporary location or somewhere into the target directory. In order to install the low level hardware driver then the executable instinf.exe must be called with the name of the *.inf file for this driver:
instinf.exe %FOLDER_CONTAINING_THE_DRIVER_FILES/mvsl32.inf
This will start the MATRIX VISION driver installation. However as the system MUST be restarted afterwards, the low level driver installer will schedule a reboot request after this installation. If you want to suppress this and reboot the system after your application has been installed completely call instinf.exe with the parameter /nr:
instinf.exe /nr %FOLDER_CONTAINING_THE_DRIVER_FILES/mvsl32.inf
After executing instinf.exe successfully the temporary files can be removed from the target system again, as the installer creates copies of these files in the correct target directories depending on the version of Windows.
Afterwards every device belonging to this device family will be correctly installed on this system. To verify this you can move to the Windows device manager.
These files alone will correctly install any mvDELTA or mvSIGMA device currently present in the system as a recognized device. For devices added to the system later on the steps described above MUST be repeated.
The next time you start the system after connecting the devices to the target motherboard the Windows plug and play manager will inform the user about newly unknown hardware devices and will offer to install these devices. You can either cancel this operation OR (if all the files mentioned above are still present on the target system) you can follow the plug and play wizards dialogs and can specify the mvsl32.inf file when the system asks for it.
To access the device from any kind of application based on the mvIMPACT Acquire interface the base libraries for the mvIMPACT Acquire interface together with the device specific interface library
will be needed as well.
"$(windir)\system32"
[32 bit version] and/or "$(windir)\SysWOW64"
[64 bit version])All these files must somehow be accessible during the installation procedure. Therefore they should be copied to some temporary location or somewhere into the target directory. In order to install the low level hardware driver then the executable instinf.exe must be called with the name of the *.inf file for this driver:
instinf.exe %FOLDER_CONTAINING_THE_DRIVER_FILES/mvtitan.inf
This will start the MATRIX VISION driver installation. However as the system MUST be restarted afterwards, the low level driver installer will schedule a reboot request after this installation. If you want to suppress this and reboot the system after your application has been installed completely call instinf.exe with the parameter /nr:
instinf.exe /nr %FOLDER_CONTAINING_THE_DRIVER_FILES/mvtitan.inf
After executing instinf.exe successfully the temporary files can be removed from the target system again, as the installer creates copies of these files in the correct target directories depending on the version of Windows.
Afterwards every device belonging to this device family will be correctly installed on this system. To verify this you can move to the Windows device manager.
These files alone will correctly install any mvTITAN or mvGAMMA device currently present in the system as a recognized device. For devices added to the system later on the steps described above MUST be repeated.
The next time you start the system after connecting the devices to the target motherboard the Windows plug and play manager will inform the user about newly unknown hardware devices and will offer to install these devices. You can either cancel this operation OR (if all the files mentioned above are still present on the target system) you can follow the plug and play wizards dialogs and can specify the mvtitan.inf file when the system asks for it.
For applications, that communicate via the CameraLink serial interface with the camera these files will be needed as well:
To access the device from any kind of application based on the mvIMPACT Acquire interface the base libraries for the mvIMPACT Acquire interface together with the device specific interface library
will be needed as well.
When not re-distributing the original mvIMPACT Acquire installation packages an application might need certain environment variables in order to run properly. As not every possible setup needs any of the variables described here, they will not be created by default, but must be added as needed to a custom client installer. This chapter briefly explains all environment variables that are important when deploying a mvIMPACT Acquire based application.
The MVIMPACT_ACQUIRE_DIR variable is needed by some applications in order to locate certain files. E.g. mvGigEConfigure will use this variable to locate the GigE Vision capture driver when the tool is used to install the driver. Also the mvDeviceManager library needs it in order to set up some process local environment variables relative to it. Thus without this variable GenICam compliant devices (mvBlueCOUGAR, mvBlueFOX3) cannot be operated. The variable must point to the root folder of the mvIMPACT Acquire related modules.
The MVIMPACT_ACQUIRE_DATA_DIR variable is needed in order to setup the cache path for GenICam XML files as well as for locating camera descriptions files used by frame grabbers (mvHYPERION, mvTITAN, mvGAMMA, mvSIGMA, mvDELTA). The folder pointed to should provide read AND write access for the user. The required folder structure below this folder should look like this:
MVIMPACT_ACQUIRE_DATA_DIR |- CameraFiles <-- Store camera descriptions here |- GenICam <-- Here pre-processed GenICam files will be stored by the %mvIMPACT Acquire runtime. This will speed up initialisation time of devices
The GENICAM_GENTL32_PATH variable is needed for reasons described in the GenICam GenTL specification (see GenICam downloads on the EMVA homepage (http://www.emva.org) to get a copy of the latest version OR use the one provided together with the installation archive you have installed the driver on your development system from). An application should always check whether this variable already exists as other applications might register it as well. Therefore every application shall only APPEND data to existing variables and shall only remove the part that was added without necessarily deleting the full variable. The variable shall contain the path to the folder containing 32-bit versions of *.cti (see above) files (typically located in the bin folder of the folder pointed to by MVIMPACT_ACQUIRE_DIR.
The GENICAM_GENTL64_PATH variable is needed for the very same reasons as the GENICAM_GENTL32_PATH variable when working with 64-bit applications and has the same requirements.
For Linux most of the stuff mentioned in Common Files Needed For All Device Drivers applies as well even though instead of *.dll files the corresponding *.so files have to be deployed on the target machine.
For installation on a Linux-i686 system the files with the -i86 suffix must be extracted. On a Linux-x64_86 system the corresponding packages with the -x64.tgz suffix must be used.
These variables must be added to the environment, e.g. by placing these lines in the .profile or .bashrc file.
In case you are developing applications using the GenICam SDK add the GenICam include path to your pre-processor options, e.g:
Finally
must somehow end up in the systems library search path thus you might want to add a file to
containing the following line:
OR you can use a different mechanism.