LabVIEW Crash in Executable with Report Generation Toolkit at Save Report to File VI

Updated Aug 23, 2019

Reported In

Software

  • LabVIEW Report Generation Toolkit
  • LabVIEW

Issue Details

I built an executable that uses the function Save Report to File from the Report Generation Toolkit. When I moved this to a different computer, it crashed after opening Excel. How can I correct this behavior?

Solution

First, check the compatibility between the used version of Report Generation Toolkit and the installed Office suite. You can find details on the compatibility here: ​Report Generation Toolkit Compatibility with Microsoft Office and LabVIEW. Please note that currently only 32-bit versions of Microsoft Office are supported.

A crash can also appear when executing the application under a runtime that does not meet the bitness of the development system with which the executable was created. Please make sure that you run the executable with a runtime-environment in the same bitness as the executable was built (32-bit executable in 32-bit LabVIEW-Run-Time, 64-bit executable in 64-bit LabVIEW-Run-Time).

In case the software versions are generally compatible and the bitness is the same, read the following: The Save Report to File VI from the Report Generation Toolkit has been found to cause crashes when it is built into an executable and deployed to a different computer. The cause is differing versions of Microsoft Office between the development and the deployment machine. This incompatibility is related with an update performed to Microsoft Office 2016. To check your version of Microsoft Office:
  1. Open any Office application and go to File » Account.
  2. Check the version and build of Office on the right side of the screen, under the category Office Updates.
  • Executables built on computers with Version 1609 or newer will only run on computers with Version 1609 or newer.
  • Executables built on computers with older versions of Excel will still be able to run on computers with Version 1609 or newer.
If you have Excel from 365 Version 1609 or newer, your Save Report to File VI will be broken and will have to be repaired by relinking the Workbook Invoke Node calling SaveAs. You can do this by following the steps outlined in Report Generation Toolkit VIs Broken After Updating Office 365.

As a general rule, it is recommended to use the exact same software on development and target computers when deploying executables.

Additional Information

Sometime around late 2016, Microsoft updated their ActiveX API, and these changes were automatically pushed to users of Microsoft Office 365 in Version 1609. An extra parameter called WorkIdentity was added to the ActiveX function call SaveAs, which is an Excel Workbook method. If you have the WorkIdentity parameter on your version of Excel, an executable you build with Save Report to File will not be backwards compatible with older versions of Excel, which do not have the parameter.
For Office non-365 versions those API changes aren't provided to the clients.
 
Excel Update Status Observed Excel VersionWorkIdentity Parameter?
Not UpdatedEarlier Than 1609No
Updated1609 or LaterYes

WAS THIS ARTICLE HELPFUL?

Not Helpful