Jump to content

Using a custom vi.lib to avoid Runtime engine installation.


Recommended Posts

Hello,

I'm currently in charge of upgrading a large application 7.1 -> LV 8.2. I've run into a problem which seems to have occured in LV 8.xx. The way our application is set up is that it uses its own stripped down version of vi.lib in order to avoid having to use LabVIEW's Run-time environment which comes in a "whopping" 95MB (not my opinion ). So a kind of a workaround has been used where we've used a custom, stripped vi.lib and a set of custom tools written to install the needed files when the application is being installed on a computer without LabVIEW on it. (we use InstallShield & custom tools for building the project, we use the app builder only to create the application's .exe but no other features in it).

The issue now seems to be how 8.2 handles vi.lib references as well as a new, strange packaging method (e.g NI_AAB.lvlib, i might be mispelling this) which has the base/pro options and seems to check for what version of LabVIEW you're using. Now I did manage to get our application converted to 8.2 and run succesfully. The problem I ran into is that after a couple of days, LV seems to get confused about its vi.lib references and sometimes uses the vis from the application's vi.lib and sometimes from its own vi.lib. That has succesfully broken the Mass Compiler tool. I also constantly get messages that a VI expected to be in LV's vi.lib was loaded from my vi.lib and no matter how many times i recompile/save it, it doesn't go away (unlike 7.1).

Another worry I have is that if we continue using a custom vi.lib we'll run into problems with patching LV, like when the highly anticipated 8.2.1 patch comes out. Basically I would like to know what a good method of doing this would be in LV 8.2 (if there is such a method) or if going with the Run-Time Engine installation and making the application use everything in LV's vi.lib is the best way to go. I really need a definitive answer about this. Help is greatly appreciated.

Link to comment

I understand that the "whopping" part is not your opinion, but why bother?

Worst case scenario, you have to email the executable and instruct the client to download the RTE from the web (if you have somewhere without a web connection, you might as well send them a CD).

NI presumably puts a lot of design and testing into the development of the RTE and installers for each version and attempting to work around that with each new version sounds like a lot of work for little gain (unless you wanted to be able to run something without installing, which is not your case).

I doubt you will find many people who can give you a definitive answer, as this is clearly unusual usage.

Link to comment
I understand that the "whopping" part is not your opinion, but why bother?

Worst case scenario, you have to email the executable and instruct the client to download the RTE from the web (if you have somewhere without a web connection, you might as well send them a CD).

NI presumably puts a lot of design and testing into the development of the RTE and installers for each version and attempting to work around that with each new version sounds like a lot of work for little gain (unless you wanted to be able to run something without installing, which is not your case).

I doubt you will find many people who can give you a definitive answer, as this is clearly unusual usage.

Yen you're absolutely right,

This has been my way of thinking from the beginning. However sometimes the most difficult part is convincing someone that changing the way they've done something in the past is good and positive and will keep you away from a lot of problems in the future. So thankfully the other devs have been understanding and we've decided on still creating an InstallShield project but one which will include RTE in one executable along with the application and one which will prompt the user to download it off the website as well as a CD version of the entire thing where space really doesn't matter. Thankfully a good point I was able to make is that if we make application-level updates in the future, the application will actually shrink by 40MB since we won't have to include our vi.lib and the user will already have the RTE installed.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.