Error -2147221164 at Class Not Registered in VI in LabVIEW

Updated Sep 25, 2019

Reported In

Software

  • LabVIEW
  • LabVIEW Report Generation Toolkit

Issue Details

I created an application that uses the Report Generation VIs that ship with LabVIEW. I then installed the executable and LabVIEW Run-Time Engine on the Windows machine within the Administrator (local) account. However, when a user other than the Administrator logs in, the Report Generation VIs return the following error message:

Error -2147221164 occurred at Class not registered in <VI Name>.vi
If I install the LabVIEW Run-Time Engine in the specific user account I am logged in on, the printing works well. It seems as though I must install the Run-Time Engine on each user account to use the Report Generation VIs. How can I make it work for any user without installing the Run-Time Engine on each account?

Solution

The very first thing to check, when receiving this error, is if Microsoft Office products, like Excel and Word, are installed on your computer. If you are receiving this error with the products installed, follow the steps below on how to register the nireports.dll.

You must register the nireports.dll with the operating system.  On a Windows machine, you should:
  1. Login as a non-Administrator.
  2. Locate the nireports.dll file located at <National Instruments>\shared\NI-Reports 
  3. Go to Start>>Run and type regsvr32 "<National Instruments>\Shared\NI-Reports\nireports.dll".
  4. Click the OK button.
Notes: The file path before <National Instruments> should be C:\Program Files\ or C:\Program Files(x86)\ depending on your system type.

A small dialog box should pop-up, indicating that the DLL properly registered with Windows. The operating system will give permission to all standard users to access the file.