Deploying Programs with the Runtime Application
Adaptive Vision Executor is a lightweight application that can run programs created with Adaptive Vision Studio. The GUI controls that appear in this application are the ones that have been created with the HMI Designer. The end user can manipulate the controls to adjust parameters and can see the results, but he is not able change the project.
Adaptive Vision Executor application is installed with the Adaptive Vision Studio Runtime package. It can be used on computers without the full development license. Only a runtime license is required. What is more, programs executed in Adaptive Vision Executor usually run significantly faster, because there is no overhead of the advanced program control and visualization features of the graphical environment of Adaptive Vision Studio.
Open a project from a file and use standard buttons to control the program execution. A file can also be started using the Windows Explorer context menu command Run, which is default for computers with Adaptive Vision Studio Runtime and no Adaptive Vision Studio installed.
Please note, that Adaptive Vision Executor can only run projects created in exactly the same version of Adaptive Vision Studio.
Adaptive Vision Executor can open .avproj files, the same as Adaptive Vision Studio, however it is better to use .avexe files here. Firstly one can have a single binary executable file for the runtime environment. Secondly this file is encrypted so that nobody is able to look at project details. To create it open project in Adaptive Vision Studio and use File » Export to Runtime Executable.... This will produce an .avexe file that can be executed directly from the Windows Explorer.
If Adaptive Vision project contains any User Filter libraries, it is crutial to put their *.dll files into the appropriate directory when running in Adaptive Vision Executor. This is when exporting to .avexe file might also be a handy option. While defining the .avexe contents, it is possible to select all the User Filters libraries, the exporting Adaptive Vision project depends from. Selected libraries are deployed then to the same directory as generated .avexe file and the .avexe itself is set to use all User Filter libraries from its directory.
In case there are any other dependecies, e.g. exposed by used User Filter libraries, one can add them into the Adaptive Vision project as an attachment in Project Explorer and also deploy with .avexe file during export.
Trick: INI File as a Module Not Exported to AVEXE
It is often convenient to have an INI file separated from the executable, so that various parameters can be adjusted for a particular installation (but not made available to the end user). There is no such feature as INI files in Adaptive Vision Studio, but it can be easily implemented with a simple programming idiom:
- Use global parameters in your project for values that might require adjusting.
- Place the global parameters in a separate module.
- Exclude the module when exporting the .avexe file.
- In the runtime environment copy the .avexe file and the module (as a separate file) with global parameters.
- Open the INI module in the Notepad to edit it when needed.
Other Runtime Options
Please note, that Adaptive Vision Executor is only one of several options for creating end-user's applications. Other available options are:
- .NET Macrofilter Interface Generator – generates a native .NET assembly (a DLL file) and makes it possible to invoke macrofilters created in Adaptive Vision Studio as simple class methods. Internally the execution engine of Adaptive Vision Studio is used, so modifying the related macrofilters does not require to re-compile the .NET solution. The HMI can be implemented with WinForms, WPF or similar technologies.
- C++ Code Generator – generates a native C++ code (a CPP file) that is based on Adaptive Vision Library C++. This code can be integrated with bigger C++ projects and the HMI can be implemented with Qt, MFC or similar libraries. Each time you modify the program in Studio, the C++ code has to be re-generated and re-compiled.
|Previous: Seeing More in the Diagnostic Mode||Next: Remote Access to the Runtime Application|