Missing subvi in vi.llb

Stand alone EXE creation issue :
My main application (a.vi) call the another (b.vi)VI  controls in 'Call by reference' Method. The application works fine in development computer.  When creating the exe and executing in the same development system the (b.vi) has broken arrow and show the error  - Missing subvi
'Clear errors.vi' , 'Search and Replace Pattern.vi'  - Which is present in vi.lib/utility / error. llb 
Write To Spreadsheet file (DBL).vi - Which is presnet in vi.lib/utlity/ file.llb
and few more.
I can see this files in the folders also I can see them in my project explorer - Dependencies folder  and I have no idea why this files are not linked during exe creation.
Please give me some suggesstions

This issue is not caused by a corrupt RTE and repairing won't fix it.  The issue is that the RTE has no idea what or where vi.lib is.  Anytime you are trying to call a VI from the RTE, the VI must have access to all of its dependencies directly and not from vi.lib.  When a VI is saved it knows the relative path from itself to its subVIs if they are user created.  For VIs that are inside vi.lib the top level VI saves a path relative to the vi.lib directory.   When we create a build with App Builder we load all of the dependencies of the top level VIs and always included VIs and save a new copy of them for the build to use.  All of the paths to these VIs are now saved locally and not in vi.lib.  What is sounds like is happending is that when you try to dynamically call your b.vi it has dependencies that the executable doesn't know about; moreover, the RTE doesn't know about vi.lib so it appears broken.
There are a couple of options that you can do
1. Make sure that your dynamically called VI is added to the always included section when building the application.  This tells application builder that it needs to make sure all of the VIs dependencies are included in the build and the VI knows where to find them.
2. If you don't want to include your dynamically called VIs in your executable build you will still need to create a separate build of your dynamically called VIs.  This design is commonly used for plugin architectures where you will be adding functionality to the program after it is deployed.  The separate build specification can be a source distribution.  When creating the source distribution you will need to make sure that you have the checkbox for "Exclude files from vi.lib" NOT selected (you will also need to uncheck the boxes for user.lib and instr.lib if you have dependencies from there).  This tells application builder to make sure and include all of the dependencies in the build so that the included VIs have all of their dependencies and can be run by the RTE.
Regards,
Jon S.
National Instruments
LabVIEW R&D

Similar Messages

  • Missing subVi after build in llb

    I have a top level application that dinamycally calls some Vi contained in a llb library.
    Running the app from source works fine. If I build an application the dinamycally loaded VIs open with the broken arrow. If I click the arrow I see that some subvi are missing:
    Block Diagtram Errors:
     Poly VI 'Read From Spreadsheet File.vi': subVi is missing
     SubVI 'Merge Errors.vi': subVI is missing
    I build the application including the llb as 'Always included' under source files.
    What should I do to have all the llb subVI included or correctly linked ?
    thank you
    Gianpiero
    LV 8.5 + DSC

    Ciao Gianpiero,
    you can take a look at this document:
    Creating a Source Distribution, Application Distribution, or LLB in LabVIEW 8.0
    Hope this can help.
    Regards,
    Andrea N.
    Andrea N.
    Systems Engineer ATE & RF - Mediterranean Region
    National Instruments Italy

  • "Open VI Reference" Option "Prompt user to find missing subVIs"

    I am using "Open VI Reference" to dynamically load a VI. For the "option" control of the "Open VI Reference" node, I pass "0x10" or "10" in hexadecimal, which supposedly "prompt user to find missing subVIs." Nevertheless, I don't get a prompt message dialog when I intentionally pass an invalid or missing VI path. Instead I just get an Error Code 7. What does this option "Prompt user..." suppose to do?

    Make sure you set the properties on the integer input into the “options” control to the “Open VI Reference” to be a Hexadecimal format (right-click on the “options” control input, select Format and Precision…, then select Hexadecimal). Now, if you re-run your VI and wire in a VI with a missing subVI, the Open VI Reference will appear with a dialog that will prompt you to browse to the missing subVI. This is exactly the same message LabVIEW displays when it attempts to open a VI and cannot find its subVIs.
    I’ve attached a simple example program to demonstrate. Enter the path to the “number extractor.vi” as the VI to open. You should see a dialog prompt appear asking for the “Search 1D Array – Complete.vi”.
    Hope this helps!
    Attachments:
    openVIRefExample.zip ‏20 KB

  • How to find & repair the missing Subvis in EXE ?

    I m literally breaking my head due to the above-stated problem.
    When I try to build the EXE & run it, the message in the attached png pops-up & thats the end of it.
    This problem started when I installed both the 8.2 & 8.5 evaluations in my PC before a month or so...
    I didnt care much about the problem because I thought it might ve been due to the two evaluation installations.
    But today when my evaluation expired & I built the EXE using my LV 7.1 PDS & ran it, immediately the same thing happened as before. Now, it is quite annoying me much. I repaired, reinstalled LV 7.1; still of no use. I again uninstalled every NI stuff using the msiblast.exe & reinstalled LV 7.1 alone in my PC. Then also, this problem erupted again.
    Please see to the picture & suggest me some solutions regarding this...
    Using LV 7.1, WinXP, SP2.
    - Partha
    LabVIEW - Wires that catch bugs!
    Attachments:
    Cosine Integral.vi missing.PNG ‏5 KB
    Missing subVI.PNG ‏36 KB
    Gamma Function.vi missing.PNG ‏5 KB

    It has been a repair/reinstallation job for the umpteen time today. So, in my guess, it would ve set/reset the necessary file permissions to default. I had already tried the time-tested method of copying/pasting manually the lvanlys.dll into the "data" folder. After doing it also, I got the same error.
    Normally, LV doesnt put these dlls intothe "data" folder, unlike what you told earlier [maybe in LV 7.0, but not in LV 7.1]. I m quite sure about that because the run-time engine takes care of all the necessary LV dlls required by the EXE [whether stand-alone or installed on a non-LV installed PC]. IMO, that is the job of the run-time engine, after all...
    So, tomorrow as a first thing, I d contact NI to fix up this.
    But any help from you is still much appreciated.
    - Partha
    LabVIEW - Wires that catch bugs!

  • Labview Application missing SubVI's, totally stumped

    Hello. I am working on a VI that is a simple thermocouple datalogger. I have created it in Labview 2013 (latest patch) on a Windows 7 Machine. It works correctly on the development machine with Labview installed. It uses custom drivers for an Advantech USB 4718 data acqusition module. These drivers were downloaded directly from the manufacturer. 
    When I build an application and copy it over to a different machine (running windows 8) I get a laundry list of missing SubVIs when I try to run it (see image). This is despite installing all relevant data aquisition drivers (I have verified that the module works with the manufacturers own daq software) the latest version of Labview 2013 run time engine, DAQmx, etc.... I can't think of anything else that should be installed but Im totally stumped. 
    Anything else I can try? Is it because the Dev machine is windows 7 but the application machine is windows 8? I'm new to building applications from labview, so I'm not sure what I may be missing. Thank you.
    Error Message(s)

    It seems that most of these VIs are used by the DAQNaviAssistant from Advantech.
    You should ask Advantech if there are known issues when building executables in LV which contain these ExpressVIs.
    Also, you can re-build your EXE without optimizing the EXE content by de-selecting all checkmarks on the "Additional Exclusions" tab. It is possible that one of these options remove these subVIs.
    What bothers me is that it runs on the development machine... which indicates that the EXE itself should really contain everything what it needs (except driver functions, namely DLLs of course).
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Missing subVI DAQmx Create AI Channel TEDS(sub_.vi DAQmx Create Channel( TEDS-AI-Voltage-Basic). vi.

    Hi,
        I have seen several discussion regarding this topic, however it seems that none of the solutions are working for me. Here is my situation, i am using LabView 7.1 which I use to generate my .EXE, when I generate my .EXE I use the Tab Intaller Settings to generate the Setup.msi. I then take the folder which contains the .EXE and the installer and bring it over to another machine which is running VM Ware with a freshly installed windows XP. (to make sure nothing is on the machine and then i get surprise at the custormer's site)
       Once this was done, i would start by lauching the installer and then the .EXE the result was the following, I would get the following message:
    Missing subVI DAQmx Create Task.vi in VI instance      1    3tst
    .vi.
    Missing subvI DAQmx Create channel (TEDS-AI-Voltage-Basic).vi
    in VI Instance 1   3tst.vi.
    Missing subVI DAQmx Create Channel( AI-Voltage-Basic).vi in VI
    instance    1   3tst.vi
    Missing subVI DAQmx Timing(Sample Clock).vi in VI instance
    1   3 tst.vi
    Missing subVI DAQmx Read(Analog 1D Wfm NChan nSamp).vi in
    Vi instance   1   3tst
    then as suggested in other discussions of this forum I download (537MB) and installed
    on the target machine (VM Ware) the nidaq710 which i downloaded from
    http://digital.ni.com/softlib.nsf/websearch/C1F802E457EA042586256DD00001B0C9?opendocument&node=132070_US
    This did solve some problems BUT I am still getting the following message when I launch the EXE
    Missing subVI DAQmx Create AI Channel TEDS(sub).vi in VI DAQmx Create
    Channel(TEDS-AI-Voltage-Basic).vi.
    Thank you
    Maldini

    Hi Maldini,
    Thank you for posting to the NI forums.  Is the VM Ware PC using the same operating system as the development PC?  Also, are you using DAQmx 7.1 on the development computer, or are you using a more recent version?  When distributing applications, the driver version on the deployment PCs must match the driver version of the development PC. 
    If this is already the case, then you shouldn’t be receiving any of these error messages.  There are few things that may fix this problem.
    Reinstall the DAQmx driver.
    Perform a repair install the DAQmx driver on the deployment computer.
    Upgrade the DAQmx driver on both the development and the deployment PCs.
    With Windows XP and LabVIEW 7.1, you are able to use the latest version of DAQmx, which is currently DAQmx 8.5.
    After going through these steps, please post back if you continue to have problems.
    Ed W.
    Applications Engineer
    National Instruments

  • Missing subvi from ni_aalbase.lvlib

    I have a source distribution which I'm using in my executable application through dynamic VI calling. However, I cannot run the specified VI. It gives me a bunch of errors saying subvi is missing in ni_aalbase.lvlib and ni_aapro.lvlib. I can see both libraries under the "dependencies" section of my project explorer but they are inside vi.lib which is excluded from being copied into the source distribution. Why cannot it find those missing subvis?   
    Attachments:
    subvimissing.png ‏46 KB

    I've attached an example set to show the kind of the problem I am facing.
    The module I'm calling dynamically is in the folder "Test Module".  The actual executable is in the folder "Call Module".
    -Run "Call Module/builds/Call Module.exe"
    -A dialog box asking for the dynamic vi to call will pop up. Select "Test Module/builds/Execute.vi"
    -You'll see Labview ask for path to the missing subvis. If I include the whole NI_aalBase.lvlib and NI_aalPro.livlib, this won't happen and the vi will execute properly and count up to 500.
    Attachments:
    SP_Dynamic_PROB.zip ‏349 KB

  • Missing subVI NI_AALBase.lvlib:Mean.vi

    This is a duplicate post, but the other was a response to a 4 year old posting.  I have an application that was originally written in LV 8.x that I have just modified with LV2009.  I am now getting the same error reported in this thread, that being "Missing subVI NI_AALBase.lvlib:Mean.vi".  In the Additional Exclusions section of the Build Specification I unchecked "Remove unused members of project libraries" and "Remove unused polymorphic VI instances", but I am still getting the error.  I am not doing anything fancy, I just have a project that has 3 VIs that use Mean.vi.  It worked fine in LV8.x, but not after building with LV2009.  I even tried replacing each instance with mean.vi, to no avail.  Has NI found the root cause of this error?
    Jim
    LV 2013

    I found the computer that was originally used for the development of this test and made my changes to the original code.  It works OK, but I'd really like to find actual the problem so that I can use my normal development computer for future changes without having to do workarounds like that.  If I get a chance I'll give that a try just to see if it would work.  Thanks.
    Jim
    LV 2013

  • Vision EXEcutable does not work on host machine (missing subVIs)

    Hello,
    I am working on LabVIEW 10 / vision 11. I am making a VI to take a picture with USB camera and I built this application to create an executable.
    This executable works fine on my computer (which has LabVIEW installed) but does not work on other a host machines. 
    I tried to run this application on another computer with LabVIEW installed and it worked fine.
    On host machines, it keeps telling me that I have missing subVIs (only vision subVIs !!). All my other executables without vision VIs work fine...
    Do I need a license on my host machine to run my executable?
    Do you have any other idea?
    Thank you!
    Nicolas.

    On a target machine, you need the LabVIEW runtime engine and a the Vision Acquisition Software installed to run an executable. The LabVIEW runtime engine doesn't cost anything but you still need to pay for the license of Vision Acquisition Software.
    The NI VAS can be downloaded from here:
    http://joule.ni.com/nidu/cds/view/p/id/2975/lang/en
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Missing SubVIs when generating exe

    When I open my project file, Labview searches for a bunch of VIs and then opens.  I have bee developing like this since I took over the code a couple of weeks ago.  I am able to run the program with no problems.  Now I want to generate an executable and/or installer with Labview 9 and it tells me that it is missing VIs.  I have edited quite a few built in VIs and I am not sure what VIs the programmer before me has imported.  All I know is that the program works and I have to install it on target machines.  Why won't Labview 9 let me create an exe or installer?  I never had problems with previous versions.
    Please help.
    Matt

    Simpler Error Handler is in vi.lib\Utility\error.llb
    Perhaps your .llb was corrupted in some way?  Check that file path and see if the Simpler Error Handler.vi exists in that .llb.
    Search and replace pattern.vi is under that same library as well. 
    The NI_report VI's are part of the report generation toolkit.  Is that toolkit installed?  Is it corrupted in some way?
    I would suggest repairing your LabVIEW installation.
    mattyk wrote:
    I should mention that I edited quite a few of the report generation toolkit VIs that came with Labview so I could adjust the column width on a table for a printed report.  I mention this because I see that it can't find some of those VIs and am wondering if there is a link.  The errors occur on two separate machines.  Hope this helps.
    That is a big problem.  You should never edit any of the VI's that LabVIEW provides.  If you need to modify them, then you should make new copies of them with a different name.  You probably either broke the libraries or somehow damaged the cross-linking between the subVI's.
    Message Edited by Ravens Fan on 11-05-2009 11:34 AM

  • Missing SubVIT within VIT on RT Target

    I have 2 VITs within a top level VIT. I do this because I want these "subVITs" to be functional globals, but only specific to the thread in which they are running. See topic here.
    Anyways, I have put all my VITs on my target, and I am able to launch the top level VIT dynamically, but when I open up remote debugging, the following is what I see within my top level block diagram:
    To reiterate, I have put the VITs on the RT (as you can see in the screenshot), and again this is remote debugging, not the development environment. So, right clicking and "browse..." is not an option here.
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    remotedebugmissingVIT.PNG ‏26 KB

    Hi, for(imstuck)
    What happens when you run the main VI from the Project Explorer on your host computer?  This will run the VIs in development mode.  Does the Main VI still lose the SubVIs?  What type of RT target are you using?
    Regards,
    Mike Altmann
    LabVIEW Platform PSE
    National Instruments

  • Missing subVI migrate

    I get the the error message as the attached picture showes. I tried to install the different LabView 8.6 supports from the Vision Acquisition Software and some other stuff from the LabView 8.6 Software (LabView and Vision parts). Whats the problem and how do I solve it?
    I know, I am a reel noob on LabView.
    /Johnny
    Attachments:
    Prob.JPG ‏70 KB

    Based on your error message, it looks like you have got a vi that is trying to call itself.
    from LabVIEW help:
    Recursive reference
    A subVI on the block diagram is making a call to itself somewhere in its call chain.
    To correct this error, click the Show Error button in the Error list window to find the subVI. Press the <Delete> key and restructure the block diagram to avoid this problem.
    Try View... VI Hierarchy and see if you can find the place in the tree where the subvi is being called.
    Message Edited by vt92 on 04-07-2009 09:31 AM
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

  • Executable - Missing subVIs on Build Computer

    Hi there,
    I've managed to generate an executable to run the LabVIEW VI.  However, an error message pops up saying that I'm missing 20-odd sub VIs.  I'm trying to run the .exe on the build computer (before I move elsewhere).
    These sub VIs are all present in the Dependencies list.  Have I missed something?  Suggestions? 
    Cheers.

    The Report Generation Toolkit actually dynamically loads in classes, so you have to force them to be in your executable.  You do this by adding the libraries from vi.lib to your project and then add them to the "always include" in the build spec of the executable.
    I'm not sure about the mySQL as I have not used that library.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Missing SubVI DAQmx Create Task. Error

    Hi All,
    I have written a program in Labview 2009 and I am using the PCI-6034E DAQ card for measuring data. I created an executable of this program, and I wanted to run the program on another computer, although this computer is running the PCI-6024E DAQ card. However, when I run the program, I get the error message which is attached.
    I have downloaded the Runtime Engine for labview 2009 on this computer, So I'm not sure why the program isn't working. I have also checked the measurement instrumentation on the computer with the PCI-6024E and it detects the card and can make measurements and is also using the same channel as I was using with the PCI-6034E card. Could someone please let me know how I can fix the problem?
    Thanks.

    DAQmx Base is a completely different driver than DAQmx. You cannot install DAQmx Base and use DAQmx functions. When you create the installer, select DAQmx to include as one of the 'Additional Installers'
    Actually, I get the feeling that you totally skipped over creating an installer. This is an option when you right click on 'Build Specifications' and is something you should have noticed when you created the exe.

  • Missing subVI NI_AALBase.lvlib:Real A x B.vi in...

    I have an application that runs fine in the LabVIEW10 development environment.  Then I've created an installer for it (and included the RTE and DAQ installers).  However, when I install it on another PC and try to run the executable I get a list of errors that it failed to load VIs from the NI_AALBase.lvlib (see attachment).
    How do I make sure my executable (or installer) includes that library?
    Attachments:
    lv.jpg ‏39 KB

    Hi there.
    So I'm wondering two things.
    1) When you create the Application (EXE), there is a Category called "Source File Settings." When you go there, and you select "Dependencies," what does the "Inclusion Type" say? It should say "Include if referenced".
    2) Also in the project, under "Source Files," have you specified a start-up VI?
    3) When you go to your project, and you expand the Dependencies section and then vi.lib, do you see NI_AALBase.lvlib there? It should be if your VIs use those functions. Let me know whether they are there.
    4) In the Installer, under Additional Installers, under "NI LabVIEW Run-Time Engine 2010", do you have "Math Kernel Libraries" checked? Those probably have the files you need.
    Let me know if you need clarification for any of this. Good luck!
    Ravi A.
    National Instruments | Applications Engineer

Maybe you are looking for

  • How do I set up photoshop to work with a touch screen?

    Hi, I just bought a 15.6" Asus Q500A touchscreen laptop with Windows 8. I downloaded photoshop and the 'touch app plug-ins' through the Adobe Application Manager for creative cloud. When I open a file in PS and select the brush(or any other) tool if

  • Site can't be viewed with IE, works with Firefox and Chrome

    I have a family site that works fine with Firefox and Chrome, but with when we created a new page and uploaded it, it can't be viewed with IE. http://www.thetravelintexans.com/states.htm was modified to add the very last picture in the last row, it w

  • Why does i-tunes 8 add info???

    i recently updated my i-tunes to v.8. i never had this problem prior to the update and since then i keep having the same problem. when i play a song, itunes adds information which i have deleted (such as comments, track numbers, year, etc). ordinaril

  • File Mappings Incorrect in a project

    My problem is thus: I remapped my "my documents" folders to the D: drive (don't know if this matters) when premiere pro hands off the file names to encoder - I get a file not found error... The appdata folder does not exist I get a file not found for

  • Call an event without having a subscription!!!

    Hi !!! Can i call an event without having a subscription to it??? If i can, how , please show me an example!!! How can i pass data between processes, and how can i access data of the events and puting them in atributes without using a XML function, p