LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I extract the orginal VI's from an executable created by Runtime Engine?

I have an executable program created using the Labview Runtime engine and need to edit the subVI's contained within. Unfortunately, I don't have the original VI's the program was created with.

Is there any way I can extract those VI's?

Thanks,

Mike C.
0 Kudos
Message 1 of 9
(9,484 Views)
You need to have the original VIs, they can't be extracted from the exe. Sorry...

Brian
Message 2 of 9
(9,484 Views)
What you are asking is equivalent to extract the C source code from a DLL. When a VI is build into an executable, it is stripped of many of its features, (diagram, front panel, icon, etc.) that are useless at run-time.
If you want to take a look to what happens to a built VI, rename a copy of the executable with a .LLB extension. You will be able to browse it in LabVIEW and insert and use VI within in a new diagram but you won't be able to modify it in anyway.
For type some modifications, you might be able to replace the VI with a modified version (maybe calling the original) and rebuild the application.


LabVIEW, C'est LabVIEW

Message 3 of 9
(9,484 Views)
There is not much you can do with an exe (which is intentional, to protect the source code). If you had made this exe with an external .llb file you would be able to use the vi's in the llb as part of other programs, but only the vis that have visable front panaels can be opened and none of them will have diagrams, so they can not be modified. If you rename the exe as an llb Runtime will open the llb and show you the directory but still not open the vi's.
0 Kudos
Message 4 of 9
(9,484 Views)
1-run the executable and note the name of the file. then close the executable.

2-find the executable file - THE FILE. then COPY the file to a different directory/folder such as your desktop, the same way you would go to "My Computer," find a file on the A-drive, and then copy it to the desktop.

3-open the new file. You may once in a while get a small window asking you to find a certain file/subvi. Just click on the close button each time such a window pops up. finally you will find a VI you can edit.

4-good luck
0 Kudos
Message 5 of 9
(9,484 Views)

I tried to use the .vi from the .Exe by renaming it to .llb. But the LLB manager is unable to open the .llb file. I use Labview 2010. Any idea which Labview version should i use to make this possible.

0 Kudos
Message 6 of 9
(8,759 Views)

This only worked for LabVIEW 7 and earlier. Up to 2009 you could use a compression program to view the executable's list of files, and you could extract them, but that wouldn't get you the code since the block diagram is stripped once the executable is built.

0 Kudos
Message 7 of 9
(8,751 Views)

Hi,

 

I intended to use Labview 7.2 (run on Windows XP) to modify an old Labview .exe file (written in 2004, possibly created by Labview 7.x or earlier).

 

I tried to rename the .exe file to .llb, but still could not access the .vi files. 

 

Does anyone know how to do that? Do I need any programs other than the Labview?

 

Thanks in advance.

 

- timers

 

0 Kudos
Message 8 of 9
(7,528 Views)

First, LabVIEW 7.2 never existed.

 

Second, if you can't rename an exe into *.llb and open it in LabVIEW 7.1.1 (the latest official LabVIEW version before 8.0) and see a list of VIs then it's not a LabVIEW 7.1 or earlier executable file. What it may or may not be is another question!

 

But even if you can do that, all you can determine from this are the original VI names.  Theoretically you can also copy the VIs out with the Librarian VIs, but those VIs lack all source code, front panel, and even icon resources so if you place them on a diagram, you see a simple block with a question mark, can't double click it to open the front panel and definitely can't view the diagram because they are all gone! And it even only works if the LabVIEW version that was used to create the executable is the same than the version you try to open those stripped VIs in, since the compiled (binary) code is about the only thing left in the VI and has to match the version of LabVIEW in order for LabVIEW to consider it valid. Anything else would certainly cause crashes as the compiled code would attempt to call into LabVIEW functions that have been added later on or got changed between versions.

Rolf Kalbermatter
My Blog
0 Kudos
Message 9 of 9
(7,499 Views)