From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

EXE with Report Generation Toolkit

Hi,

 

An application which uses the Report Generation Toolkit needs several directories in the same place as the EXE : NI_HTML, NI_report and NI_Standard Report.

 

Is it possible to avoid this by including them in the EXE ?

 

Many thanks in advance

0 Kudos
Message 1 of 13
(4,203 Views)

needs several directories

Have you tried to delete them when building exe?

You should be able to combine all folders, or simply put RGT files in the same folder of your exe.

 

George Zou
0 Kudos
Message 2 of 13
(4,155 Views)

These directories are needed on the computer running the EXE.

0 Kudos
Message 3 of 13
(4,148 Views)

How about building an installer so you know you have everything you need?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 4 of 13
(4,134 Views)

@JB wrote:

Is it possible to avoid this by including them in the EXE ?


Yes.  You need to include the NIReport.llb and the LVClass folder from vi.lib in your project and then you can "Always Include" them in your executable's build specification.

 

From an old project that did this:


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 5 of 13
(4,126 Views)

@crossrulz wrote:

@JB wrote:

Is it possible to avoid this by including them in the EXE ?


Yes.  You need to include the NIReport.llb and the LVClass folder from vi.lib in your project and then you can "Always Include" them in your executable's build specification.

 

From an old project that did this:


You can include tool kits?  In my LV installation, License manager lists it as an add on.  I mean, yes, you can include it the way you said, but is it legal?

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 6 of 13
(4,115 Views)

@billko wrote:

You can include tool kits?  In my LV installation, License manager lists it as an add on.  I mean, yes, you can include it the way you said, but is it legal?


Virtual Folder pointing to a library in vi.lib: what is wrong with that?  I am not copying any source code or anything like that (I clearly named the top virtual folder "vi.lib" for a reason).  If the add on is not installed, then the project will complain about not being able to find the file(s).  As far as including it in the EXE, that is already done with everything else you build that uses any toolkit/add on.  As long as the tool does not need a run-time license (like the Data Finder Toolkit Professional), you are fine just distributing the executable freely.

 

But let's take a step back to demonstrate why we have to do this for the RGT.  Somewhere in time (when is very fuzzy to me, but before 2011), the RGT was changed to use classes instead of a library.  The initialization of a report used to use a case structure based on why type of report you wanted to use.  That was replaced with dynamically loading up the desired class (Get LV Class Default Value.vi).  Since they are now loaded dynamically, the compiler cannot detect if any of those classes are used and they are therefore not automatically included (compiler needs static references).  So now you have to "Always Include" these functions.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 7 of 13
(4,102 Views)

@crossrulz wrote:

@billko wrote:

You can include tool kits?  In my LV installation, License manager lists it as an add on.  I mean, yes, you can include it the way you said, but is it legal?


Virtual Folder pointing to a library in vi.lib: what is wrong with that?  I am not copying any source code or anything like that (I clearly named the top virtual folder "vi.lib" for a reason).  If the add on is not installed, then the project will complain about not being able to find the file(s).  As far as including it in the EXE, that is already done with everything else you build that uses any toolkit/add on.  As long as the tool does not need a run-time license (like the Data Finder Toolkit Professional), you are fine just distributing the executable freely.

 

But let's take a step back to demonstrate why we have to do this for the RGT.  Somewhere in time (when is very fuzzy to me, but before 2011), the RGT was changed to use classes instead of a library.  The initialization of a report used to use a case structure based on why type of report you wanted to use.  That was replaced with dynamically loading up the desired class (Get LV Class Default Value.vi).  Since they are now loaded dynamically, the compiler cannot detect if any of those classes are used and they are therefore not automatically included (compiler needs static references).  So now you have to "Always Include" these functions.


Thanks for the information!  I have to admit that I never build an executable without an installer to go along with it, so I never pay attention to what is actually added in with the installer and what is included in the executable.  There was a time - pre- LV 2012? - when you had to pay attention to all that, but I've since grown dependent on LV sorting all that out for me.  😞

 

That, with the realization that I'd never seen the RGT in a compiled executable before probably means I had no business even replying to this topic.  But at least I gained some EXP in both knowledge and humility.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 8 of 13
(4,096 Views)


Yes.  You need to include the NIReport.llb and the LVClass folder from vi.lib in your project and then you can "Always Include" them in your executable's build specification.

 


Thank you for your answer.

 

Unfortunately this doesn't work (at least in my case) and the directories are still needed by the EXE. If I delete them (in same location as EXE), a dialog box appears when launching the EXE to search for all these VIs. Obviously, they are not included in the EXE.

 

LV PROJ.jpgBuilder.jpg

 

Have I missed something obvious ?

0 Kudos
Message 9 of 13
(4,073 Views)

@JB wrote:

Have I missed something obvious ?


Yes.  You did not include the LVClass folder in your executable.  Look closer at the image I posted earlier.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 10 of 13
(4,055 Views)