Why does LVOOP Assistant fail to load in LabVIEW Project?

Brian Holt14 min read
Other ManufacturerOther TopicTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

LVOOP Assistant usually fails for one of five reasons. LabVIEW was not restarted after install. The installed build does not target the running LabVIEW version. The Icon Editor API dependency is missing. The first-load mass compile never finished. Or the class is in a state the scripting cannot read. Work through the checks below in order. Each one names the reading to take and where to go next.

These quick fixes are tried first and rarely help:

  • Reinstalling the same package repeatedly. The package manager puts the same build back. If that build does not target your LabVIEW version, nothing changes.
  • Copying Icon Editor API VIs into the tool or project folder. The API calls VIs outside symbolic paths such as vi.lib. Moved or namespaced copies lose their linkages and break.
  • Mass compiling the whole LabVIEW directory. This takes a long time and does not create a file that was never installed.
  • Killing LabVIEW during the long first load. That load is the mass compile. Interrupting it leaves VIs uncompiled, and the next launch starts over.

Check 1: Restart LabVIEW and right-click a class item

The tool hooks into the LabVIEW Project Provider API. Provider plugins register when LabVIEW launches, so a package installed into a running LabVIEW does not show up until you restart. The provider also adds its menu only to item types it claims: a class, or a class method VI. It does not add the menu to folders, plain VIs, or libraries.

  1. Close every LabVIEW instance and relaunch.
  2. Open a project that contains an .lvclass.
  3. Right-click the class, then right-click one of its member VIs. Look for LVOOP Assistant >> Plugin.
  4. Open the Tools menu and look for Tools >> LVOOP Assistant.
Reading Meaning Next
Right-click menu present on the class and its member VIs Install and registration are good Go to Check 6 if an action errors out
Tools >> LVOOP Assistant present, right-click menu absent You right-clicked a non-class item, or you have a pre-provider build. Earlier builds ran as a Quick Drop plugin on the active VI. Go to Check 2 and confirm the build
Neither menu present Package not installed for this LabVIEW version, or the load failed Go to Check 2
Error dialog naming a missing file at launch or first use Incomplete build or missing dependency Go to Check 3

Check 2: Match the package build to the running LabVIEW version

Read the installed version and its LabVIEW compatibility in the package manager. If the package manager will not offer the package for your LabVIEW version, that build does not target it. This happened with the 2009-only builds when users tried to install them in 2010. The tool was first released as LVOOP Theme Creator and later renamed LVOOP Assistant, and the version numbering restarted with the rename. Use the table to place your build.

Build LabVIEW target Relevant change or known issue
Theme Creator 1.1-1 (2010-05-02) 2009. Icon layers exist only from 2009. Preserves icon layers. Adds the Select Layer Tag UI. Handles a Quick Drop on a non-LVOOP VI cleanly. Known issues: the class must be saved to disk, and the class icon must have been opened once in the Icon Editor.
Theme Creator 2.0 2009 Fix for classes that exist only in memory and are not saved. Adds text layers, icon preview, and transparency.
Theme Creator 2.6-1 (2010-06-28) 2009 Fix for an error on classes that are sub-libraries (wrong namespace)
Theme Creator 3.2-1 (2010-07-20) 2009 Fix for a Quick Dropped VI reference being corrupted across application instances when the plugin is cached. Known issue: the Getting Started Window is suppressed.
Theme Creator 3.3-1 (2010-07-26) 2009 Getting Started Window fixed. Adds Reset to Original Theme Color and Reset All Settings.
Assistant 0.14.1 2009 Fix for files missing from the build
Assistant 0.15-1 (2010-09-26) 2009 Clone dialog shows the method name. Virtual folder order now matches the script. The constructor template now replaces the class input control.
Assistant 0.16-1 (2010-10-05) 2009 and 2010 Adds LabVIEW 2010 support and a mass compile on first load. Requires Icon Editor API v2.1-1.
Assistant 0.17-1 (2011-01-23) 2009 and 2010 Rebuild only. Support files changed, no code changes.
Assistant v1.0.0.23 2011 Moves to the Project Provider API. Covers Rename LVOOP Labels, Create Child Class, and Clone Method. Icon Editor API features were dropped because the API moved to packed project libraries (PPL) in 2011.
Current Tools Network listing Saved in LabVIEW 2012 Mass compiles on first load in newer LabVIEW when the package manager's post-install mass compile is off

Stop point: on LabVIEW 2011 with v1.0.0.23, missing icon functions are not a fault. That build ships without them. Do not try to graft the older Icon Editor API into 2011. The pre-2011 API does not load there. Install the current listing if you need icon editing, because its feature list includes icon display, icon editing, and icon refresh.

If the build matches your LabVIEW version, go to Check 3.

Check 3: Read the missing-file path in the load error

A load error that names a missing library is the most direct reading you get. The reported case was:

LV could not find addons\_ICON Library\scripting\_icon_lib_scripting.lib

That library belongs to the icon scripting layer the tool calls. LabVIEW resolves the path relative to its install tree. If the file is absent, every VI that links to it loads broken, and the plugin menu either disappears or throws this dialog.

  1. Search the LabVIEW installation folder for _icon_lib_scripting.lib.
  2. File absent and your build is older than 0.14.1: the build shipped without some files. Install 0.14.1 or later. Stop there and re-run Check 1.
  3. File absent on a later build: the icon dependency was never installed. Go to Check 4.
  4. File present but the error persists: LabVIEW is loading a different copy, or the VIs are not compiled for this version. Go to Check 5.

Check 4: Install the Icon Editor API through the .vipc configuration

The download bundle carries two kinds of files. The standalone package holds the tool itself. The .vipc package configuration holds the dependency list. In a .vipc, each dependency is either physically embedded (shown with a package glyph when you open the file in the package manager) or only listed by name (no glyph). Listed-only packages must come from the package network.

The Icon Editor API is the embedded one because it is hard to get otherwise. It cannot be namespaced into the tool: it calls VIs outside symbolic paths, and moving it breaks those links. Installing the standalone package alone skips the Icon Editor API, and that is the usual cause of a broken load. A large .vipc file is the clue that it carries a real package inside.

Dependency Needed by Source
Icon Editor API v2.0 Theme Creator builds Embedded in the .vipc
Icon Editor API v2.1-1 Assistant 0.16-1 and later pre-2011 builds Embedded in the .vipc
OpenG numeric library Early Theme Creator builds Package network (listed in .vipc)
JKI State Machine toolkit Early Theme Creator builds Package network (listed in .vipc)

Early Theme Creator builds listed OpenG numeric and JKI State Machine in the .vipc but left them out of the package spec. The package installed without complaint and then ran broken. Later builds namespaced all reuse code internally, which leaves the Icon Editor API as the only external dependency.

  1. Extract the full download bundle, not just the package.
  2. Double-click the .vipc, or open it in the package manager.
  3. Confirm which items carry the package glyph.
  4. Run Tools >> Apply Package Configuration. This installs the embedded packages and pulls the listed ones from the network.
  5. Install the tool package if the configuration did not already include it.
  6. Restart LabVIEW and re-run Check 1.

Check 5: Let the first-load mass compile finish

Installed VIs stay in the LabVIEW version they were saved in until something compiles them. If VIPM Options >> Mass Compile VIs after Package Installation is FALSE, nothing compiles them at install time. In that case, from the 2010-capable builds onward, the tool compares its saved version with the IDE version and mass compiles itself on first load when the IDE is newer. The current listing, saved in 2012, does this on any later LabVIEW.

What you see is a long stall the first time you use the plugin. Classes and libraries in the distribution make it slower, because each one pulls in its whole relationship tree. Newer IDEs compile more slowly too: one reuse package took about 20 s to install in 2009 and about 1 min in 2010.

  • Temporary restore: trigger the plugin once and leave LabVIEW alone until the compile completes. Then restart LabVIEW.
  • Permanent repair: set Mass Compile VIs after Package Installation to TRUE and reinstall the package, so the compile runs once at install time.

For your own reuse packages, you can shorten this step. Find the top-level VIs, meaning VIs with no callers. Compile each one with its entire hierarchy, then save the dependents. Shared subVIs that are already compiled are skipped. This handles far fewer files than compiling the directory, and it needs no hand-built VI tree.

If the tool still loads broken after a completed compile, go back to Check 3 and re-read the error path.

Check 6: Put the class in a state the scripting can read

The menu appears but the action errors out, or produces a bad result. The scripting reads the class from disk and walks its icon layers, so certain class states break it.

Symptom Cause Action
Error acting on a newly created class The class exists only in memory Save the class to disk and retry. Builds from Theme Creator 2.0 onward handle unsaved classes.
Icon scripting fails on Theme Creator 1.1 An Icon Editor API bug: the class icon had never been opened in the Icon Editor Open the class icon in the Icon Editor once, close it, and retry. Later builds work around this.
Error on a class inside another library Class as a sub-library produced the wrong namespace Update to 2.6-1 or later
Prompt asking for a layer tag The expected icon layer tag was not found Select the tag in the Select Layer Tag UI and set it as the default for future searches
Error when invoked on a VI The VI is not an LVOOP member Invoke the tool on a class or class method VI only
Odd scripting result in LabVIEW 2010 after class edits A transient state in the loaded class. It cleared after a reload. Close and reopen the project before treating the class as corrupt

Check 7: Recover the Getting Started Window after a cached plugin

The Getting Started Window stays hidden after you close all VIs. The Quick Drop version keeps its VI in memory between calls to speed up launch. While any VI is open, LabVIEW does not show the Getting Started Window, so it never returns. Build 3.2-1 introduced this cache. That build also fixed an earlier cache fault in which the Quick Dropped VI reference was corrupted between application instances.

  • Temporary restore: invoke the plugin with Ctrl + Shift + X to uncache it. The Getting Started Window then appears.
  • Permanent repair: install 3.3-1 or later. There, the window shows when the plugin is cached in the background and no other VIs are open.

Correct inherited icon themes that bleed or crop

Class icon templates composite down the hierarchy. Here is an example: a parent class has a template of 32x12, aligned top, and a child class has a template of 16x12, aligned top right. A new VI added to the child gets the parent banner on the left half and the child banner on the right half. You set the theme once in the parent, and each child adds a glyph. Changing the parent re-themes the whole hierarchy on the next icon refresh. Member VIs carry a single NI_Library layer. Builds that preserve layers update only that layer and leave the others alone.

Symptom Mechanism Fix
Parent banner color shows through the child banner text Pure white is treated as transparent in the composite, so white text becomes a window onto the parent Use a text color that is not pure white, or make the child banner cover the full width
Banner text overflows or clips The tool writes the default size 8 only when the class layer data is empty. It leaves an existing setting such as 10 pt in place. Set the class banner font to 8 in the Icon Editor, or shorten the text
Theme colors drift after experiments Accumulated settings Use Reset to Original Theme Color, or Reset All Settings (3.3-1 and later)
Theme looks the same on every child Every child uses a full-width banner, so the parent is fully covered Shrink the child template to a partial width and align it where the child glyph belongs

Icon layers exist only from LabVIEW 2009. Layer-dependent features do not apply to earlier versions.

Clone methods and script templates without broken wires

Clone Method copies a method VI into another class and rewires it to the target class type. In the Quick Drop builds, it cloned the active VI, meaning the one Quick Dropped on. From 0.15-1 the clone dialog shows that VI's name, so check it before confirming. In the provider builds, you right-click the method in the project instead.

The clone supports only these connector pane patterns:

Pattern ID Terminal layout
4815 4x2x2x4
4833 5x3x3x5
4834 6x4x4x6
4835 8x4x4x8

The script identifies the class in and class out terminals by position. It treats any other LVOOP class control on the front panel as a data member or a parameter. A method with a second class control in the wrong position, or with a different connector pattern, clones with the wrong terminal retyped. Before cloning, move the source method to one of the four patterns, or copy it by hand and retype the terminals yourself.

The constructor-from-template path had a fault before 0.15-1: it did not replace the class input control, so the new constructor still referenced the template class. Scoped virtual folders are added only if they are missing, and existing folders are skipped. On builds before 0.15-1, the folder order in the dialog did not match what the script created.

Reinstall cleanly and confirm the plugin works end to end

Use this procedure once the checks above have identified the cause:

  1. Uninstall the tool package in the package manager and close LabVIEW.
  2. Set VIPM Options >> Mass Compile VIs after Package Installation to TRUE.
  3. Open the bundle's .vipc and run Tools >> Apply Package Configuration to install the Icon Editor API and any listed dependencies.
  4. Install the tool build that matches your LabVIEW version, using the table in Check 2.
  5. Launch LabVIEW and let any compile complete.
  6. Restart LabVIEW.

Then confirm each function:

  1. Right-click a saved class. LVOOP Assistant >> Plugin is listed.
  2. Run Create Child Class. Open the new class's properties and confirm that inheritance points to the parent.
  3. Clone a method that uses pattern 4815 into another class. Open the clone and confirm that the run arrow is not broken and that the class terminals are the target class type.
  4. Run Rename LVOOP Labels on a method, and confirm that the front panel labels changed without breaking wires.
  5. If your build has the icon features, refresh one method icon. Confirm that the parent and child banner composite renders with no white bleed-through.
  6. Search LVOOP in NI Example Finder and open an example plugin. It loads without missing-file dialogs.
  7. Close all VIs and confirm that the Getting Started Window returns.

FAQ

How do I fix the missing _icon_lib_scripting.lib error on LVOOP Assistant?

Install build 0.14.1 or later, which restored files missing from the earlier build. Then apply the bundle's .vipc with Tools >> Apply Package Configuration so the Icon Editor API gets installed. Restart LabVIEW afterward.

How do I get the LVOOP Assistant right-click menu to appear?

Restart LabVIEW after installing, because Project Provider plugins register only at launch. Then right-click a class or class method VI, not a folder or plain VI, and look for LVOOP Assistant >> Plugin.

How do I stop LVOOP Assistant from mass compiling every time it loads?

Set VIPM Options >> Mass Compile VIs after Package Installation to TRUE and reinstall, so the compile runs once at install time. If it already compiled on first load, let it finish without interruption and restart LabVIEW. It will not repeat.

When should I stop troubleshooting LVOOP Assistant and contact NI support?

Stop when the dependency and build checks pass but LabVIEW itself crashes, or when it cannot load .lvclass files or Project Provider items outside this tool. Those are IDE faults, so take them to NI's official support channel with the LabVIEW version and the exact error dialog text. Report faults in the tool itself through its LabVIEW Tools Network listing.

Back to blog