Deploying an application using ARToolKit Professional

From ARToolworks support library

Jump to: navigation, search

Main Page > ARToolKit Professional > Deploying an application using ARToolKit Professional

This page lists additional information useful when deploying an application based on ARToolKit Professional. Deployment might mean (for example) creating an installer for users to install your application on a Windows-based PC, or submitting an OS-X application to Apple's Mac App Store.



Required DLLs

When deploying a standalone ARToolKit Professional application for Windows, you must also deploy ARToolKit Professional's dependent DLLs. In this case, you should create an installer for your standalone app. Your installer, as well as installing your app's .exe file, also installs the required DLLs, including the Visual Studio 2010 runtimes. These are installed by the vc_redist.exe installer application which your installer must run to ensure that Visual Studio runtime libraries are available in the Windows system on the user's machine. The latter is an unfortunate requirement faced by all 3rd-party software for Windows.

If you have not deployed your standalone app with an installer before, we recommend the very functional and easy-to-learn installer InnoSetup. Once you have specified the other parts of your app which need to be installed, the required lines for an InnoSetup .iss file to install the DLLs would be something like:

Source: "{pf32}\ARToolKit Professional\bin\vcredist_x86.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{pf32}\ARToolKit Professional\bin\ARvideo.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{pf32}\ARToolKit Professional\bin\DSVL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{pf32}\ARToolKit Professional\bin\pthreadVC2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{pf32}\ARToolKit Professional\bin\opencv_core246.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{pf32}\ARToolKit Professional\bin\opencv_flann246.dll"; DestDir: "{app}"; Flags: ignoreversion
Filename: {app}\vcredist_x86.exe; Components: runtime; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; StatusMsg: Installing Visual Studio 2010 SP1 RunTime...

You might need to adjust the above if the path to your standalone's .exe is a subfolder of {app}.

Additionally, if you use the QuickTime support included in ARvideo, you should obtain the redistributable installer for QuickTime from Apple via the Apple Developer Support.


Bundling and code signing dependent dylibs

ARToolKit Professional for OS X has dependency on some .dylibs. At the time of writing, these are the OpenCV core and flann libraries. These should be copied into your application package. When code signing your application, you will find that the .dylibs required to be bundled inside your application package need to also be code signed and that Xcode doesn't automatically do this. The easiest way to do this is to add a "Run script" build step to your build. Set things up as indicated in the following image: