Including a dependent dll in an executable

I'm creating an executable on my windows development system (LV2011) and want to run it on one of my windows target systems, which is the execution engine proper (2011) installed.

In general I don't usually have problems running executables on the target, but in this case the executable on the target system generates an error because of a dll missing (NiFpgaLv.dll).

I see no way to make the build script includes this dll (which is listed as a dependency on my development computer and works well running on it.

This executable on the windows target is designed to interface with a desktop system RT containing a PCIe-7852, where the NiFpgaLv.dll dependency.

Once I have overcome this problem, I'm sure I'll run into problems loading up to the bitfile FPGA of the target computer.

I think my question is: is there a procedure to deploy an executable on a windows target computer that will control a desktop machine RT containing FPGA (PCIe-7852) card.

Someone at OR need to train their service people to not post links that point to ae.natinst.com, because it is a server OR internal is not available outside, and happens frequently.  You can usually get the article itself by copying the number of the document to the end of the URL and then adding what he http://digital.ni.com/public.nsf/allkb/.  In this case, the item you want is http://digital.ni.com/public.nsf/allkb/17EA4DD6AAECD50A862570A7004B6146

Tags: NI Software

Similar Questions

  • DLL in the executable file error

    I receive the messages below in my executable. But the strange thing is, he's not on my computer or my co-workers, but happens on the client computer. The colleague who has installed it does not work on the project at all, so there is no chance that the dll was driven on his computer. I also put the DLL always included, and it is in the data on clients PC directory. Any thoughts?

    Including the runtime of the ICB with Installer fixed my problem.

  • include URIs in dll

    I'm running a LabView executable that calls a DLL created in LabWindows/CVI.  I get an error message when attempting to call PanelFunc (one GUI callback functions) that the dll is missing the .uri.  How can I include a .uri when I create the .dll file?

    Thank you!

    Hello

    transformation / Target Settings check of the brand "Embed project UIR.

  • Standalone application, including dll, ocx and Word template folder

    Hello

    I'm trying to create a stand-alone Application with labview 2011. My problem is how can I include ocx and dll files in my executable to run by other computers (the other computer doesn't have the ocx to use in the application and the dll). My program use Word located in a folder template. How can I integrate this file model in my executable file.
    It's the first time I have create an executable file, so please help me-_ -

    NKI

    Hello

    Finally, I would add my ocx and dll in my project (add the file). When I configure the executable file in the Source file, I have always understood the ocx and dll.

    For the proprieties of the installer, in settings of Source code file, I select my ocx and dll and in file and folder attributes I check "register COM.

    I don't know if that the right way to do it but it works.

    NKI

  • Downloading files without including dependent files

    In Dreamweaver CM³, I downloaded a php page and accidentally selected Yes when he asked if I wanted to include all dependent files. How to change this selection or cancel it so that only the files that you select get downloaded?

    Thank you.

    Atul,

    Thanks for your reply. Here's more detail on the issue and how I finally found the answer.

    When you edit a page, then upload it to the server, the first time a pop-up window if poster asks if you want to include all dependent files in the download. I hit accidentally Yes. What makes each modification and upgrade to a page take longer to download, because you download all the dependent files associated with the update of the page. I wanted to find where I could cancel this selection.

    While waiting for a response, I found the answer online. It's in the Preferences section... Site > dependent files: Prompt on get/check (this must be checked to NOT include dependent files each time downloading updates or changes).

    Thanks again for your response,

    Darrell

  • Creating exe standalone vi with dll external fails

    Hello
    I work with Labview 2012 and a dll of Intan technology that provides a way to access their equipment.
    Everything works correctly in the Labview environment, but when I create an exe (DLLs included) and try to start the program I get no response from the hardware store.

    Clues?
    Need more information?
    Please help.

    All errors that help locate the problem? You clean errors after that dll or you would see if they appeared?

    If the main dll was not found, you would get dialogue "give me the dll.

    It seems more like dependent dll was not found. LabVIEW makes dll he calls in the file data, and dependents are disconnected.

    Where the Intan dll? If it's in the Intan installation folder, then specify path to DLL on block diagram.

    In some case manufacturer provides a number of DLLs that must be next to each other. You can specify this folder (including the main DLLs you call) in the section always included.

    Try to delete dll main executable file data, when it pops up the dialog box, browse to the location of origin. If it works, then this is location of dll problem. If it is not the case, there can be no problem with firewall configuration does not block execution guaranteed

  • Creation of stand-alone executable file with similar library files without errors of link

    I have an Executive Test that is run on two different test systems. Each stand has another card ARINC429. The old card use 429dll32.lib, while the most recent map use pci429.lib. Test Exec code only loads a single library file (using LoadExternalModule) depending on what the test bench has the card, but since there are many similar functions in both, ICB does not test Exec be built as a stand-alone executable.

    In CVI 5.0.1 I opens the "Create stand-alone executable file" and select "add files to the executable. I check the 429dll32.lib and the pci429.lib to include in the creation of executable, and then click 'OK '. When I click 'OK' to create the executable I have several link errors, one for each function both .lib files have in common.

    Is it possible for each of these .lib files to be included in the compilation without having to create two separate executables?

    eatmontr:

    If you use LoadExternalModule(), you need not include the .lib files in the Executive test project.  Refer to the CVI for LoadExternalModule help.

    Here's the info on the help:

    LoadExternalModule loads an external object module file. You need not list the file in your project or loaded as a module of an instrument.

    The file may be an object (.obj) file, a library file (.lib) or a library (.lib) import DLL.

    Here are a few articles to OR who can help.

    To access the plug-ins with CVI (with sample program) http://zone.ni.com/devzone/cda/epd/p/id/133

    How do I call dll if I have two functions with the same named in two different dll? http://digital.NI.com/public.nsf/allkb/5299ED8D43F3B5FE852563BF0056EBA6

  • How do I change what third-party DLL my project is the link to LabWindows 8?

    So my company has an extension written in c, built with LabWindows 8 is an extension to the Tcl scripting language. After I built the application resulting DLL is conditioned by another DLL: tcl84.dll. In addition, these lines is generated in the .cws file:

    [DLLS used by executable 0001]
    DLL 0001 = "/ C/Tcl/bin/tcl84.dll".

    This DLL is not required by the project, because we have several other extensions for Tcl also wrote in LabWindows, who do not have this dependence. To my surprise, however, other extensions, we have for Tcl also have the line above in their .cws file. Yet are does not appear as a dependency when I look at the with a program such as the Dependency Walker tool and extensions runs correctly when I remove the tcl84.dll of the system.

    I tried to remove the line in the file project and LabWindows just regenrates on my next build. Also, I did a project entirely new report only files .c and .h, and implementation of the new project from scratch, but LabWindows still automatically generates these lines when I get my first successful build.

    I've included the entire project directory in my post.

    Solved. Here is a link to my Stack Overflow question with more details on the solution:

    http://StackOverflow.com/q/16486066/1919345

  • Error 1097 - only on executable appeal

    Hello

    I have a vi that uses dll calls to interact with our instrument that works perfectly until I have build it as an application, where it give error 1097.

    I went through the debugging and it fails on the first call to the dll, so I'm sure it's a problem with the way that I call the dll. But I tried including the dll required in every single place I can imagine the search, which includes; Article project dependencies, high level vi, path of Subvi exe path, file data, SysWOW64 & System32, inside the lvlib files that are used... basically anywhere where I could paste the DLLs.

    I have another DLL made by the same company which I call in a different section of the code, and they run perfectly while being just included as usual to load in the application Builder (and stored in the data folder, as it seems normal)

    I use the same machine for development and deployment.

    I built all of the Subvi who calls the functions of the library with tools-> import-> Library (.dll) shared

    It's the Subvi (void) [Init] which gives the error. I missed a toplevel VI image because it is a very standard call of this sub - VI

    I don't know what I can do.

    Any help would be greatly appreciated

    I'm under Labview 2014 SP1 (32-bit) on a 64 OS Windows 7 bits (as a workaround for a problem of unrelated pilot)

    Thank you!

    There are other DLLs in the library driver instruments. Most likely, they are indirectly used by the DLL, you go from call library node. They must be present in the same directory as your executable file. When you run the VI in the development environment LabVIEW adds project directory and perhaps the directory lvlib to the search path that Windows should search for the secondary DLLs into an executable file, but that does not apply.

  • Python, call DLLs in LabVIEW: Fatal internal error when accessing output String Cluster

    Hello

    We have compiled a DLL in LabVIEW (TestError.dll) and tried to call it from Python.

    TestError.dll includes 2 functions:

    1 testErreur: cluster 1 entry string, 1 channel indicator

    2 TestError2: 1 channel input, 1 bunch of output string

    What we try to do in Python is actually something like this:

    1 provide values to controls in the functions of the DLL.

    2. call the DLL.

    3 get the values of the indicators.

    What we have seen are:

    1 read/write operations on normal data types (string, digital) indicators/controls are OK

    2. write operation on the Cluster string entry is OK

    3. read operation on the Cluster output string is not OK. The following error is still prompted for:

    «Unrecoverable internal error: 'MemoryManager.cpp', line 437.» LabVIEW version 8.6... »

    Also joined the TestError.prj and python code.

    Grateful if someone can help to explain why we get this error and how to overcome?

    Thank you

    howmean

    What we have seen are:

    1 read/write operations on normal data types (string, digital) indicators/controls are OK

    2. write operation on the Cluster string entry is OK

    3. read operation on the Cluster output string is not OK. The following error is still prompted for:

    «Unrecoverable internal error: 'MemoryManager.cpp', line 437.» LabVIEW version 8.6... »

    Also joined the TestError.prj and python code.

    It is very logical that it does not, and the bad news is, it cannot really be implemented reliable of a process not LabVIEW.

    LabVIEW channels (and tables) are very specific species. They are then called handles, which are pointers to a pointer to a block of memory. If you have a control or indicator on its own, the Prototype configuration allows you to configure this setting as a C. LabVIEW data pointer, when creating the DLL, create heels C for each exported function and place the code to do the translation between the past C pointer to and necessary LabVIEW data handle. For strings and arrays within the cluster, there is no configuration option and the DLL is expected to pass a structure with data handles native LabVIEW in there.

    You may say that creating handles data in your calling process enough to trick LabVIEW. For the input variables that actually CAN sometimes work (but is a delicate and dangerous generally to handle this). There is no way to make it work for output variables. LabVIEW will try to resize handle to fill data in that he wants to make. This resizing is done using internal memory manager of LabVIEW. This will work only if it had been allocated by EXACTLY the same instance of the memory manager. Otherwise, it refers to a different memory segment and catastophally fail. The only way to make this work perhaps, with luck, taking your heart and prayer to the gods, is to lvrt.dll to allocate a handle that you must pass to the DLL. Still find the good lvrt.dll, which will execute your DLL LabVIEW is a major challenge.

  • How to call a dll from another dll functions

    Hi, can someone please tell me some examples or instructions on how you go about calling functions from a dll from another dll including the IUR. The two DLLs were created with labwindows cvi.

    Thank you!

    Hi Sinnas,

    You mention that you use a UIR.  A DLL does not have a file UIR as part of it.

    DLL1

    Instead, when you build the DLL first, we'll call it DLL1, you create a header or the files that contain functions that you want to the client code to call.  When you build DLL1, you must export the file DLL1 function for his client to call code header.  Whatever the calling code is (a GUI or another DLL), you must include in the exported DLL1 project headers AND DLL1 .lib file generated when you generate it.

    DLL2

    DLL2 will contain in its project, the header file exported for DLL1, DLL1 .lib file - that gives it the feature in DLL1.  The code can then call any desired DLL1, but as DLL1, you should now have a header file that exports the functions of DLL2 desired HIS client code to call.  When you build DLL2, you create a .lib for THAT DLL file to include in the code of the final customer.

    GUI

    The final customer code will be a few GUI that you create to call DLL2 functions will have the UIR upper layer file.  It will include the exported DLL2 header file and the file .lib DLL2 in his project.  It can then call any function of DLL2.  It is the most clean way to have 2 dll working together.

    NOTE: You can create a GUI to test the lower level DLL1 functions before placing DLL2 in the system.  In fact, it's a good idea to do it - you want to make sure your lower level DLL1 code works properly before construction above it.

    Simple diagram

    Client code (calls to functions of the DLL2 header files) exported

    --------------------------------------------------------------------------

    DLL2 (DLL1 function calls exported in header files)

    --------------------------------------------------------------------------

    DLL1<--------------------  you="" can="" also="" create="" a="" gui="" that="" only="" calls="" dll1="" exported="" header="" files="" to="" test="" out="">

    A suggestion... I create my dll in debug mode and use them to test my code.  But I also build as static libraries.  When I do the final version of the system, I use static libraries.  They are built with the final executable and don't require additional files to install as do the dll.  When you install your system with DLLs, you must include all THE dll and they must be installed in the folder Windows/System32 of the target computer.

    I hope this helps...

    Judy

  • DLL and global variables

    OK, here's a strange problem.  I am very new to create the dll, so I don't know that I have just an installation problem.

    But I'm trying to pass a global variable of a host program to its attached DLL.  I got this job when I was the CVI 2014. I recently upgraded to 2015 and then started getting "undefined symbols" errors.  With some struggle I managed to compile again, but broke the variable connection in the process.

    I have compiled my DLL in debug mode so that I walk in from the test project.  Right now, my global variable exists in the test project, as well as in the DLL.

    Can I export the variable and the use of DLLIMPORT/DLLEXPORT?  Confused and curiously not to find anyone quite like this on the forums.

    EDIT: this post stack overflow described pretty well from my experience.  I am linking statically.

    Well, what do you know?  I found my problem.  This draft article and example WERE vital to the solution.  This article called, "using the Export method qualifier"was also useful.  I'll cut to the Chase...

    If you use a qualifier of export on the definition and the import on the declaration, LabWindows/CVI identifier export symbol.

    This is the right key.

    So in my example, it should look like this:

    DLL fichier.c

    int DLLEXPORT varName = 0;

    Header.h DLL

    int DLLIMPORT varName;

    Project that uses DLL.c

    #include "header.h DLL.

    varName! = 1 ;  a method to change this variable for local use

    Pretty easy, huh?  But wow, it took some time to find.

  • Adapter DLL: Name of the function change &amp; params without unloading of the DLL

    Hello

    I use teststand adapters API to dynamically build a DLL call step. Each dll function is called through this subsequence "DLL Manager."

    Tried 2 methods (here is a summary of the code):

    1 ActiveX as follows:

    CommonCModule.ModulePath = myDllpath

    CommonCModule.FunctionName = myFunc (Note: this call unload the DLL previously loaded)

    Module-> LoadPrototype

    (to set the params)

    2 steps statement:

    RunState.Sequence.Main ["Call DLL function']. TS. SData.Call.LibPath = myDllpath

    RunState.Sequence.Main ["Call DLL function']. TS. SData.Call.Func = myFunc (Note: this is a step, but the info seems not be updated-online the new feature is called not properly)

    Module-> LoadPrototype

    (to set the params)

    The two methods is exactly the same behavior, but good for the 1st function I call a work or if I dump the dll after the execute step.

    However, is there a way to use these steps (or other) at stage configuration, but without unloading the DLL between each call. In my test sequence, I must OpenConnection with the object to be measured before starting my orders, as well as the dll should not be discharged to keep the connection open...

    for example

    (1) OpenConnection()-online this function takes the handle of communication with the device

    (2) myCommand1()

    (3) myCommand2()

    (4) CloseConnection()

    Thank you for the help

    C.

    If I understand your question, there are several ways to solve the problem. The easiest is to place a call to the dll before your loop that you never change programmatically. This step will then keep the loaded dll (if any stage that uses a dll is loaded, then the dll remains loaded. A dll is unloaded when all the steps that use it are unloaded.). Another option is to have just internally your call to the dll LoadLibrary on itself so that it is never unloaded. You then leave the process to unload the dll well. Another option is to add the code directly to the sequence that explicitly, charge and discharge your dll with the Win32 API LoadLibrary and FreeLibrary.

    That said, what you describe, if I understand correctly, looks like a very unusual use of TestStand. Looks like you use TestStand as a dll calling rather than as a sequencer and write your own sequencer above it instead. Have you thought to generate an entire sequence to run in teststand, rather than a step at a time? Basically, convert your test script in a TestStand sequence.

    Hope this helps,

    -Doug

  • (UN) Managed Wrapper calling LabView-Dll

    Hello

    I'm focused with a strange behavior that I couldn't explain.

    I had to extend the NI272x in my environment unmanaged c++ to a StepType http://sine.ni.com/cs/app/doc/p/id/cs-11443/lang/de/pdf/yes/pdf that descripes a functional testsystem.

    Provieds let us OR no C Api for this devices. But the LabView drivers were available. So I did LabView Wrapper
    to consume. It worked well.

    Current development of extension is done in c#. During execution, it loads the unmanaged Dll StepType old. If the Dll of LabView is
    used. I'm not able to load the DLL with c# via LoadLibrary SDK to memory.

    To understand what is happening I have provied a small project that descripes the task.

    Concerning

    Jürgen

    I think that the problem is that the dll you load dependent DLLS. The normal behavior of the LoadLibrary does NOT automatically search the dependent DLLs in the same directory as the dll you are loading. You must instead use LoadLibraryEx with the LOAD_WITH_ALTERED_SEARCH_PATH option (it's what teststand uses when loading DLLs with adapter c ++). See info on help from Microsoft on MSDN for details on LoadLibraryEx and LOAD_WITH_ALTERED_SEARCH_PATH.

    Hope this helps,

    -Doug

  • Reminder of control not found in the DLL

    I write a DLL for use in TestStand using panels in a .uir file. Callbacks for controls are in the source file for the DLL. In another DLL function, I call LoadPanel to put the Panel in memory and I get an error saying: he cannot find the callback function to the controls on the Panel.

    I am at a loss as to why this is happening. The prototype of the function is in the header generated from the .uir file. This file is included in my DLL source file and callbacks for all controls are also in the DLL source file. Everything compiles fine, it fails at run time.

    Am I missing something here? I used the UI stuff in DLLs before and don't remember ever having this problem.

    I use CVI 7.1.1 and TestStand 3.1 (mandated by Government subscriber).


Maybe you are looking for

  • My account is broken.

    When I open the tab settings/icloud, my camera's crash/release (ipad, iphone) restoration, establishment of a new is don't work and I connected the icloud.com, the pages app and others are crushing.

  • High fidelity audio

    Why when I plug in my headphones and open itunes or any program to listen to music, I can hear, but if I unplug I can't olways to re-start the program and I hate that if there are ways of solution helps Bay me Jesus

  • Laptop series dv9410us - Vista repair after replacing motherboard - instead of relocation?

    Laptop series dv9410us. Black screen. No startup. HP agreed to repair free of charge. I have a question. I tried to save my personal data, on the eve of the blackout, but received a message that the backup failed. So no backup of some important files

  • Explorer.exe does not after...

    Explorer.exe does not respond after I click 2 mouse on a mouse icon 2 on windows media player and press one of the tasks, it gives an error: Signature of the problem:Problem event name: BEXApplication name: explorer.exeApplication version: 6.1.7600.1

  • Photosmart 6520 - custom paper sizes

    I need to print on my Photosmart 6520 on hardware of greeting card which is 105mm width x 297 mm long (IE half A4, but divided cereal).   This size is not available in the drop-down list on the list of paper sizes in the printer settings screen and t