Migration to New VCC Structure

Overview of Change

We are changing the core structure of VCC to allow us to accomplish the following things:

  • Develop and Maintain individual VCC video drivers independently
  • Improve VCC core performance and stability
  • Remove dependencies/troubleshooting on multiple products for VCC to function (Bold Launcher and LUS are no longer required for VCC)
  • Follow best practices for security sandboxing in browser-based applications. This moves us to be compatible with all browsers and future implementations could potentially be OS independent.
  • Reduce, and in the future remove dependence on Manitou structure so that VCC can be completely version-independent and a product in its own right. This means that other Bold companies can integrate VCC with their products, AND that it can be upgraded only as needed and not with every Manitou change. (For use with Manitou, there will be a specific Manitou version or later required. Older versions of Manitou will not work with this VCC)
  • Allow smaller targeted installers for VCC/Drivers that will only be released if changed. This will also set the stage for update/install on demand in the future.
  • Allow only the purchased video drivers to be installed. In the future a license check will be implemented in Manitou to limit this as well.


Backup Existing Configuration

The simplest way is to just make a complete copy of the current VCC installation. This will also help in the next sections below.

Determine Needed Video Types

Please run this SQL query on the customer dB prior to any upgrade. This will determine what drivers will need to be installed. The ones that have VCC in the Description are the native VCC drivers and will have their own installer going forward.

SELECT DISTINCT d.AVTYPE, v.DESCR
FROM DEVICES d
LEFT JOIN VIDEO v ON v.VIDEOTYPE = d.AVTYPE 

Although BJS video types are supported by the new Base VCC installer, some BJS video types required additional supporting installs for things like ActiveX or third party SDKs. The runtimes the files for these were placed in the old VCC folder and will need to be reinstalled or copied over. This is where the complete backup copy is useful.

Uninstall Old VCC Structure

You will then uninstall the existing VCC using the "Add and Remove Programs" functionality. This will un-register and clean up all the old structure for VCC that we will be replacing. If there are multiples, uninstall all of them.

Do not just delete the VCC folder and install the new one. This uninstall step is important!

If there are remnants in the VCC folder, this is a good indication that possibly there are dependencies that will need to be restored. You can either rename the VCC folder or delete it and use the previous backup. For this example, I have renamed it.

Install The New VCC

You will need to start with installing the BASE version of VCC. This piece presents the UI and handles all the communication with Manitou. This also installs a driver to process all of the BJS video types to support ALL customers that use legacy video.

All Installers should be run in Administrator mode

VCC will now have a new folder where all subsequent drivers will be installed.

Now is also a good time to set the configuration back the way the customer would like. This can be done by referring to the saved configuration.

Finally, any dependencies for BJS video types should be restored. This is highly dependent on each type. We can't provide an exact comprehensive list. Testing against a backup server is recommended.

Do not just copy the entirety of the backup or remnant folders. The new VCC driver dlls must not be found at the root level in the new structure.

Install Each Driver Independently

Now that we have separate drivers, it is possible to install and update only what the customer is using and has paid for. Right now, the burden is on us to check that they have paid for each driver before installing it. This means that Implementation must only install the correct drivers going forward. So, for example, if I purchased OpenEye, HikVision, and 3xLogic, we would install those three and only those three.


For Upgrades, it is easy to see which ones have been installed through the Add and Remove Programs. BUT we should check if the customer is still paying for support on the drivers before providing updates.

Using The New Structure

One of the biggest changes is that the Manitou Web Client does NOT talk directly to VCC anymore. It also does NOT use BoldLauncher to launch VCC. This greatly simplifies the process, as well as fixes several problems with other browsers besides Chrome. Now the Browser will just message the OS and tell it to launch VCC directly. VCC registers with the OS on this install.

VCC must be launched by the browser for the communication to the MWC to work. Launching it manually will not work.

When you launch a camera in the MWC, It will now ask a security question. Some browsers allow this answer to be saved but others do not. If it is not allowed by the browser, this question will pop up every time. In that case, it is best to leave VCC running and just close out the tabs in VCC.

This window is the proper secure way to handle these types of operations. It is a standard process with many software products we all use. We will not be considering this a bug as it is intended functionality and is outside our control.

Once VCC has been launched, subsequent calls to launch video will already have an established connection and are very fast. Driver specific controls have been moved into the Misc Controls tab. This means that we can cleanly show functionality that is supported by one driver and not the others.

Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted for approval.