Configuring Add-ons for LVAddons

If you develop LabVIEW add-ons, configure your add-ons to use LVAddons. LVAddons enables users to upgrade the LabVIEW application and your add-ons to LabVIEW independently of one another.

Overall, to use LVAddons, you need to do the following:

  1. Add a properly structured add-on folder to LVAddons;
  2. Create a JSON descriptor file for the add-on; and
  3. Follow other requirements and recommendations.

LabVIEW uses the JSON descriptor file to:

  • Identify an add-on
  • Define the minimum version of LabVIEW that the add-on supports

To configure an add-on to function with LVAddons, complete the following steps.

Steps 1 through 3: configure the folders for the add-on.
  1. Create a uniquely named add-on folder within LVAddons.
    NI recommends the following:
    • Use a short folder name to avoid potential issues with long paths.
    • Use a company prefix to avoid name collisions.
    • For add-ons that are specific to 32-bit or 64-bit, append 32 or 64, respectively.
  2. Within the add-on folder you created, add a numerically titled version folder.
    For example, name these folders 1, 2, and so on.
    LabVIEW uses the highest version of an add-on that supports that version of LabVIEW.
  3. Store the add-on files in this version folder.
    You can include the following folders in a version folder:
    • examples
    • help
    • instr.lib
    • manuals
    • menus
    • project
    • ProjectTemplates
    • resource (resource\dialog\QuickDrop\plugins is supported in LabVIEW 2025 Q1 and later)
    • Targets\NI\RT
    • Targets\win (supported in LabVIEW 2023 Q3 and later)
    • Targets\win32 (supported in LabVIEW 2023 Q3 and later)
    • Targets\win64 (supported in LabVIEW 2023 Q3 and later)
    • Targets\linux (supported in LabVIEW 2023 Q3 and later)
    • templates
    • vi.lib
    • vi.lib\_probes

    These folders correspond to the folders within the LabVIEW folder.

Steps 4 through 5: create the JSON descriptor file to define compatibility for the add-on.
  1. Within the version folder you created, add a new file called lvaddoninfo.json and define three required attributes:
    • AddonName: Must match the name of the add-on folder.
    • ApiVersion: NI recommends using vn, where n is the number of your version folder.
    • MinimumSupportedLVVersion: For example, 24.0.
      Note NI recommends setting this value to 22.3 or later, even if the VIs are compatible with older versions of LabVIEW. LabVIEW did not support LVAddons before LabVIEW 2022 Q3.
    For example, this is the lvaddoninfo.json file for the LabVIEW VI Analyzer Toolkit:
    {
        "AddonName": "viawin",
        "ApiVersion": "v1",
        "MinimumSupportedLVVersion": "24.0"
    }
    LabVIEW always uses the newest compatible version of any given add-on.
  2. Optional: Define optional attributes in lvaddoninfo.json.
    • SupportedBitness: If present, must be set to 32 or 64. To indicate that the add-on supports both 32-bit and 64-bit, leave this attribute out.
      Tip For LabVIEW 2023 Q3 and later, you can use the Targets folder instead of the SupportedBitness attribute.
Steps 6 through 10: follow other requirements and recommendations.
  1. To see the list of resolved paths for a symbolic path, use the function vi.lib\Utility\Symbolic Paths\Build and Resolve Symbolic Path.vi.

    If you are developing add-ons, you might have multiple copies of the add-on on your system. Understanding how LabVIEW resolves symbolic paths helps you understand which instance of an add-on is running.

    Versions of LabVIEW that support LVAddons use the following priority for resolving symbolic paths:

    1. LabVIEW folder
    2. LibraryPaths: first path in the token wins
    3. Active LVAddons: using Build and Resolve Symbolic Path, set symbolic path id to <libdir> and run—first instance of a given add-on in the output list from all resolved paths wins

    When selecting active LVAddons, LabVIEW generally uses the highest version folder that supports your current LabVIEW version and bitness. If that same add-on version exists in multiple LVAddons locations, the last add-on wins.

  2. Follow the requirements for LabVIEW files—VIs, libraries, and classes:
    • For LabVIEW files within LVAddons, separate compiled code from source files.
    • Ensure that the save version of the LabVIEW files is no earlier than the minimum supported version of the add-on.
      Tip LabVIEW 2024 Q3 and later allow you to easily save VIs, libraries, and classes in older save versions.
  3. For packed library builds (.lvlibp), enable Allow future versions of LabVIEW to load this packed library:
    1. Open the Packed Library Properties dialog box:
      • Right-click the packed library specification name under Build Specifications and select Properties » Advanced.
      • Double-click the name of the packed library specification and, in the dialog box that appears, select the Advanced page.
    2. Select Allow future versions of LabVIEW to load this packed library.
  4. For packed libraries, NI recommends putting the 32-bit and the 64-bit builds in their respective Targets folders.
    Note These Targets folders are supported in LabVIEW 2023 Q3 and later.
  5. Follow these editor recommendations for developing LVAddons:
    • Use configuration tokens to define alternative or additional locations for LVAddons. For example, you can use this behavior to develop files in a location under source control
    • Use different configurations for different projects by specifying the configuration file on the command line: labview.exe -pref <path to configuration file>
    • Keep your configuration file with your project in source control.