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.
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.
06-02-2010 08:26 AM - edited 06-02-2010 08:31 AM
Hello,
I am developing an addon to an application I already have. The application is large (over 1,500 VI's) and the VIs are set up to compile with mostly default settings (there's a top-level VI, a few with Front Panel visible, most of them are not visible).
The customer wants the source code to the work I'm going to do, and it's going to use many existing sub-VI's. The addon itself will be a sub-VI (I have a Main.vi that basically opens 'screens', and this is a new screen). The existing sub-VI's basically do the data collection and processing, and the new code will do some additional processing and have a nice GUI to the existing code. The customer wants the source so they can make modifications as needed.
Is there any easy way to provide just the source for the top-level VI? Basically, I want to give them M.vi, where M.vi calls n.vi, o.vi... etc, but o-z.vi need to remain closed-source. Also, M.vi is called by Main.vi, which opens screens A-M.vi
One option is do copy the entire application, then open every sub-VI and save it without Source Code. But with so many files, this seems like a bad idea. I also then have to maintain two applications.
Any good ideas out there? It seems so easy in other languages (use object files) that it seems like there should be a solution here I'm not seeing.... Thanks!
Solved! Go to Solution.
06-02-2010 08:40 AM
Apply a password to everything and just remove it from the top level. By providing the password protected source the customer can still upgrade to the next version of LV since they have the code. No password, no access.
Ben
06-02-2010 08:40 AM
Dont know if this is the best solution for you, but you can create a "virtual folder" in the LabVIEW project with all the sub-VIs that you want to keep closed-source. Then create Source Distribution build specifications in the project and remove the block diagrams assign passwords to all VIs in the virtual folder. See attached pics.
06-02-2010 08:49 AM
you can create a source code package. There you can set the password for all VIs in this source code package..
Regards
HS
06-02-2010 08:58 AM
Update: I forgot to mention I'm using LabVIEW 7.1 so I don't have these distribution options. And I can password-protect individual VI's, but not en masse.
I'd like to upgrade to 8.x, but I have a major release coming up so I'm hesitant to upgrade. But it looks like there are better solutions with the build tools in 8.0 and above.
06-02-2010 09:06 AM
rnelsonee wrote:Update: I forgot to mention I'm using LabVIEW 7.1 so I don't have these distribution options....
Save with options ....
Everything you need is there.
Ben
06-02-2010 09:51 AM
06-02-2010 10:30 AM
Ah! I completely forgot about Save With Options. It's been so long since I've had to deal with this type of issue.
OK, to make sure:
I open my top-level VI, Save With Options -> Apply Password (or Remove Diagrams) and then give them that. I then also provide a normal save of the their VI, with source.
I still have about 100 VIs that are dynamically called that are not part of the VI tree, and I would still have to re-save them all with a password, but it's better than every single VI. Thanks!
06-02-2010 10:34 AM
rnelsonee wrote:Ah! I completely forgot about Save With Options. It's been so long since I've had to deal with this type of issue.
OK, to make sure:
I open my top-level VI, Save With Options -> Apply Password (or Remove Diagrams) and then give them that. I then also provide a normal save of the their VI, with source.
I still have about 100 VIs that are dynamically called that are not part of the VI tree, and I would still have to re-save them all with a password, but it's better than every single VI. Thanks!
Use the option to duplicate hiarchy and preserve...
apply to all...
at least as far as my memory serves me.
Ben