Virtuoso Documentation

Quickstart Guide

This Quickstart Guide is designed to get you up and running with a virtual embedded device in no time.

Begin by installing Visual Studio 2019, either Community or Professional. One of the primary benefits of Virtuoso is the ability to develop and test embedded software in Visual Studio!

You will get up and running with Virtuoso by using a Montage “activity”. You can think of an activity as the project itself, as well as all software needed to be installed on your PC for the activity to build and run. Activities are installed by the Montage Launcher, which installs activities to your computer to make sure everything is set up properly. The Montage Launcher can install software packages inside your project or outside your project, such as regular desktop applications. At the time of this writing, the Visual Studio package is not added as a Montage package, thus it must be installed manually. Visual Studio will be available as a Montage package soon.

An activity’s packages could be all free packages, or it could include some premium packages offered on Montage by ecosystem participants. Montage allows you to evaluate the total price of all components from all merchants in your activity, so you can understand up front what the total cost of all parts of the activity is. The QuickStart activities listed below include packages that can be run for free.

As you learn more about Virtuoso, you will also want to have a clearer understanding of the role that Montage plays in providing Virtuoso with its ecosystem infrastructure. When you are ready to learn more about Montage, visit this page:


Since the activity provides a complete description of what must be installed on your PC for the activity to build, we simply use an activity of our choice to install Virtuoso, since Virtuoso is of course a dependency of the activity. The steps for using a QuickStart activity are as follows:

  • Download and install the Montage Launcher Installer from the Montage website. This can be downloaded here: https://www.montage-software.com/MontageLauncher/Downloads
  • Install the Montage Launcher by right-clicking on the installer and running the installer as an administrator. The Montage Launcher Installer will need to be installed as an administrator to work properly.
  • Run the installer and install the Montage Launcher.
  • Once the Montage Launcher is installed, run the Montage Launcher by double-clicking on the icon. The Montage Launcher itself also needs to run in administrator mode. The Montage Launcher runs in the background and provides services to software ecosystems like Virtuoso, such as installing packages on behalf of Virtuoso and supporting with licensing.
  • Use the Montage Launcher to create a Montage account. This can be an individual account, or it can be an organization account. Go through the process of setting up your account and verifying your email. You will not have a Virtuoso account, your Montage account is where all licenses will be stored for any package provided by any merchant.
  • Sign in to the Montage Launcher. Go to the “Ecosystems” tab and make sure that the Virtuoso ecosystem is selected. The selected ecosystem specifies the context for browsing packages and products, though all activities from all ecosystems unify the same to your computer.
Montage ecosystem
  • Next, select the “Packages” tab. In the “Categories and Filters” text box, enter the package name of the QuickStart activity you want to use to bootstrap your system. Start typing the package name, and you will eventually see your package.
Montage package ecosystem
  • Select your activity and click the “Install” button. You will be prompted to specify the path to the location where the activity is installed. This should be an empty folder.
  • The Montage Launcher will then copy the project to the specified path and install the entire dependency graph of this activity to make sure it will build and run. If any dependency cannot be unified and resolved, Montage will notify you with an error. Due to your activity’s dependency on Virtuoso, you will see the Virtuoso installer run. You will need to click to proceed installing Virtuoso.
  • The installation of the activity is the same general process as installing packages inside a project. As requests are made to install packages, Montage evaluates policies defined by the package author that determines whether you can download and/or run the packages. These policies define requirements that can be resolved easily, such as accepting a EULA, or may require products to be purchased. If you are deficient in one of the requirements of a package on the graph, Montage presents you with a “Resolution Action” graph which is a graphical view of all steps that can be taken to resolve the license issues for your activity. You will be asked to accept Virtuoso EULAs associated with the Virtuoso Core Framework as well as the Virtuoso Embedded Toolkit.
  • Once you have resolved all licensing issues, your activity is properly installed! During this process, you were automatically granted a Virtuoso Core Framework Free License and a Virtuoso Embedded Toolkit Base License. The Embedded Toolkit Base License is also free of charge and allows you to use targets that have no more than one of any function, such as variable bindings, events, and so on.

The Embedded Toolkit Base License allows you to go through the mechanics of creating different virtual interfaces for your targets and use them with different components in the standard library, to familiarize yourself with the process of virtualizing microcontroller components.

As you use any ecosystem package, including the Virtuoso Embedded Toolkit, the Montage Launcher is continually running in the background to assist the Virtuoso ecosystem with licensing needs. If you try to do something you are not licensed to due, the Montage Launcher will pop up and help you understand your options and allow you to resolve the licensing issue. Regardless of who the package author is, Montage provides an efficient consistent package and license management environment for the Virtuoso ecosystem. To see this in action, you could create a new host, add a new target, and create your first variable binding. Now, if you create a second variable binding, you would be presented a Resolution Action Tree showing options to buy a license for Virtuoso with varying durations, either Professional or Educational depending on your account type. You can use this Resolution Action Tree to quickly buy any license needed and keep building out your environment.