LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to build exe with vis that have striped block diagrams?

We can tell that an entity has stolen our code and are using them in their .exe file.  

 

We used to distribute our program as a light exe layer that dynamically loads some source code distribution vis (block diagram striped) off disk and runs them.

 

What we don't know is whether they actually got our in house source code, or if they are somehow taking the distributed vi's and compiling them into their exe.  

 

So the question is: Is it possible to take vis compiled for a 'source distribution' with the block diagrams removed (but front panels not removed) and compile them into an executable?

0 Kudos
Message 1 of 14
(3,591 Views)

 


Thomas robertson wrote: 

So the question is: Is it possible to take vis compiled for a 'source distribution' with the block diagrams removed (but front panels not removed) and compile them into an executable?


Yes, although you are talking about two different things. For a source distribution in the Source File Settings page for the build settings you can click on the "Customize VI Settings" button and check the "Remove Diagram" option. Check the LabVIEW documentation on details. For an application I don't understand what you would be referring to. Are you referring to including the source distribution into the exe? That doesn't make much sense.

 

Are you using an older version of LabVIEW?

0 Kudos
Message 2 of 14
(3,585 Views)

That seems to be an answer to the question "how do I strip block diagrams".  But the question I'm asking is, can someone take those and compile them into their own executable, effectively stealing them from you as we suspect that a competitor may have done?

 

I tried doing it myself and failed (which is a good thing in our case), but I'm afraid  I may have just not done it right.  

0 Kudos
Message 3 of 14
(3,581 Views)

Yes, someone could use the source distribution VIs for another executable. They would not need the block diagram - they would just need to call the VIs within the source distribution. That's probably all they did.

 

If you can prove they stole your work why not just sue them?

0 Kudos
Message 4 of 14
(3,568 Views)

Oh wow, so you're certain that they can include such VIs into any executable?  That's news, and can potentially change our approach to the problem...  I failed to be able to compile them into an exe using Application builder when I tried, is there a special trick I have to use (I assume it has to be the same version of LabVIEW that the VI was created in, since there's no BD for it to recompile)?

 

I may have to demonstrate to a lawyer how they could have accomplished this.

0 Kudos
Message 5 of 14
(3,539 Views)

It's actually quite possible to use a source distribution VI for a new app. You need to select the "Do not disconnect type definitions or remove unreferenced members" option in the "Additional Exclusions" page.

 

I've attached an example on how this can be done. Untitled Project 1 would be your project, which has a build target of your app, along with the source distribution for a VI with the block diagram stripped. Untitled Project 2 would be your competitor's project, which is a VI that uses your subVI directly and builds a separate application. As you can see, I can successfully build an application using your code.

0 Kudos
Message 6 of 14
(3,527 Views)

Thanks.  I will be looking at this in the next few days.  

 

But, I should add that it was an older version of LabVIEW we were using back in the source code distribution days.  LabVIEW 6 or 7.  So I'll be pulling out one of those versions of LabVIEW to try to compile the exe in.  (Unless a more recent version can include older vis even with the block diagram stripped which I'm pretty sure can't be done)

0 Kudos
Message 7 of 14
(3,522 Views)

 


Thomas robertson wrote: 

But, I should add that it was an older version of LabVIEW we were using back in the source code distribution days.  LabVIEW 6 or 7. 


 

Ah, that's a completely different story. although the process is similar to the example I showed you for 8.2. Those versions of LabVIEW built applications in a different manner than 8.x. In those days the VIs were basically packed into a library (LLB) and a simple wrapper was added to make an executable. Anybody could look at (and extract) the contents of the executable directly - they would not need a source distribution. All you had to do was change the extension of the executable from .exe to .llb and then you could plop a VI from inside the executable right on your block diagram. The icon would have a big question mark, but you'd probably be able to guess what the VI did. It was not very secure in the least.

Message 8 of 14
(3,511 Views)

...and if they could guess at your icon layout, VI server would let them call any VI and is some cases (most?) not even require the same version of LV.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 9 of 14
(3,497 Views)

Note that it is possible (but a little trickier), to extract VIs from a .exe compiled from LV 8+.

0 Kudos
Message 10 of 14
(3,469 Views)