DLL Deployment Guide?

I'm developing some LV code that calls some .Net DLLs, and I've run into some general hiccups regarding deployments and moving files and whatnot.  I've worked through the hiccups, but I would like to prevent them in the future.  Is there any guide for using and deploying DLLs within LabVIEW?  
Ideally the type of questions to be answered would be:
How does one determine if LV uses absolute or relative paths to point to DLL files?
What operations change the DLLs being pointed to?  
Does building a library into a packed library change the DLL path?  what else does?  
etc.
Thanks in advance,
Seth

The whole story is made extra complicated by the fact that DLL does not mean one single thing. You have the classic Windows DLL that exports simply functions to be called, then there is the ActiveX DLL that exports only up to 4 functions that you never should call yourself directly but let Windows COM Automation handle for you when instantiating the ActiveX objects, and last but not least .Net DLLs that do generally not export any public functions at all.
Each of these DLLs is loaded and handled by very different subsystems in Windows which have all their own complicated search paths and all.
1) classic DLL: Here you use the Call Library Node and define the DLL name/path in the Library name configuration (or as path parameter to the node). If you enter just the DLL name only, LabVIEW will pass the request simply to Windows and let it search its standard locations for it. If it is an absolute path then LabVIEW will first try to load the DLL from exactly that location and if that fails let Windows search it based on the DLL name only. Even if you only enter the name alone in the Call Library Node, LabVIEW will display the full path where the DLL was finally found, but it will only store the name alone and treat the DLL accordingly.
When building applications LabVIEW will include the DLL into the application folder  (by default a data subdirectory in your build application directory) if it is defined with a full path. If only the name was configured in the Call Library Node configuration (or you pass the DLL path to the CLN) LabVIEW will NOT include the DLL into the application folder and that will assume that any target system the application will be installed to has that DLL already installed in one of the standard Windows locations.
NOTE: When calling Windows API functions (and generally any DLL located in the sytem directoy) it is VERY important to never enter the entire path to the DLL but only enter the DLL name alone. Otherwise when building an application LabVIEW will copy the DLL into the application build and that will at least for Windows API components almost always run havoc with any system you try to run that application on.)
2) ActiveX DLLs: there is very little you can configure when using ActiveX DLLs. Supposedly if you reference an ActiveX automation server that is installed in the system LabVIEW will simply remember the ActiveX class and attempt in an application to instantiate it based on that name. If the ActiveX component isn't installed on a target system then execution of the Automation Open will fail. If you explicitedly browse to an ActiveX DLL then LabVIEW will use that path and also include that DLL in the application build (by default a data subdirectory in your build application directory).
3) .Net is similar to ActiveX except that Windows knows a so called Global Assembly Cache where globally available components should get installed. Again if you just reference a .Net object by its name from the object browse dialog then LabVIEW will assume that the according server component is a standard installation and won't attempt to copy it into the application build. On the other hand if you explicitedly browse to the .Net DLL then LabVIEW will copy it into the application build.
But in all these three scenarios even if you make LabVIEW implicitedly copy the DLL into the build application, this is no guarantee that it will just work, since the DLL could have secondary dependencies (other DLLs or system services) that need to be installed too in order for the DLL to be loadable and/or executable. Secondary dependencies are totally beyond the responsibility of any calling application and need to be solved with a proper installer for that component.
If your component is not self contained (meaning it has secondary dependencies) and doesn't have a proper installer, this is a major bug of the component and you should harass the developer rather than expecting LabVIEW to magically fix things the original developer of your component was to lazy or unable to find out.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions

Similar Messages

  • JRC Deployment Guide for Crystal Reports 2008

    I just downloaded a trial version of Crystal Reports 2008 & was testing out the integration of this component into our Java web based application.
    I found the "Crystal Reports XI Release 2 - Java Reporting Component Deployment Guide" PDF file, but I was wondering if there was a more recent version of this guide for Crystal Reports 2008.  Maybe I'm a bit confused regarding the versions but this guide currently references JARs in a folder under ...\3.5\java\lib.  However, when I looked in the same section of Crystal 2008, I noticed it was \4.0\java\lib & the JARs are different.
    Is there a new JRC Depolyment Guide for Crystal Reports 2008?...If not, is there any documentation I can use to map between the 3.5 libraries and the 4.0 libraries?
    Thanks

    Hi,
    There is no separate JRC has been launched for the CR 2008.
    But SAP has launched the Crystal Reports 4 Eclipse 2.0 in which CR 2008 has been integraqted with backword compatibility.
    To know more please check following link:
    [Whats new in CR4E 2.0|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/301717ef-3ad3-2b10-5aad-8d9b73a6e365]
    Thanks,
    Tej

  • RDS 2012 Deployment guide

    Hi,
    I'm looking for a RDS 2012 Deployment Guide or best practices document but not finding it.  Basically I'm looking for the equivalent of the document below but for Server 2012 R2 instead of 2008 R2
    <won't let me add link to body yet>
    We are planning a new RDS implementation and want to make sure we get the environment and resources right from the beginning.  Initially I'm mainly curious about the recommendations on how many servers are needed and which roles can be combined
    on single servers and which need to be broken out onto their own boxes.  For example is it best to have the RD Gateway and the RD Web Access roles on their own individual servers or should/can they be combined on to one box in the DMZ? 
    If separate; can one of them also double as the connection broker?  That sort of thing. 
    Any help is appreciated.  Thanks

    Hi Col,
    Have a look at the following articles:
    http://ryanmangansitblog.com/2013/09/27/rds-2012-deployment-and-configuration-guides/ 
    I would recommend that you look at splitting the roles on a large environment or use a layer 7 load balancer so you can scale up the number of Gateway/RDweb servers if your connections grow.
    I would advise against configuring the connection broker on a server which has a connection to the public interface (web and remote access via gateway). I would advise against exceeding 400 connections per RD Gateway server.
    a example configuration:
    Server 1 : connection broker and Licensing role
    Server 2 : Session host
    Server 3 : RDWeb and RD Gateway.
    This may help you with regards to capacity planning:
    http://ryanmangansitblog.com/2014/06/24/capacity-planning-for-a-rds-2012-pooled-2000-seat-vdi-collection/
    Ryan Mangan | Ryanmangansitblog.wordpress.com | Help keep the forums tidy, if this has helped please mark it as an answer

  • Does anyone want an Oracle OC4J deployment guide for Creator 2?

    Hi
    As part of working with creator 2 (and now update 1) I have had to develop a fairly detailed deployment guide for Oracle's OC4J container, based in part on the great work provided by Marco Walther in his weblog.
    The guide will be converted to a pdf, and includes plenty of screen grabs and details of data source creation etc for first timers, but before I go to the trouble of formatting it for general human consumption I just wondered if anyone was actually interested in something like this.
    Replies and comments welcomed
    B

    This might be a good place to put this guide to make it available to everyone: http://wiki.java.net/bin/view/Javatools/SunJavaStudioCreator
    What you have to do is put it on your java.net site and link to it from the above Java Studio Creator Community page.
    thanks for sharing,
    Chris

  • Oracle Web Cache Administration and Deployment Guide

    Does anyone know where the Oracle Web Cache Administration and Deployment Guide is?
    From Oracle9iAS Documentation Library CD-ROM,
    it says this document is in OTN. However, I just can't find this document in OTN.
    Any idea?

    Rick -
    try this link on for size:
    http://technet.oracle.com/docs/products/ias/doc_library/1022doc_otn/caching.102/a90372/toc.htm
    To get to the (iAS documentation, try this path through technet
    Top Level
    -> click documentation link on RHS
    -> click Oracle9i Application Server link
    -> click Generic Documentation Library link (HTML) or (PDF)
    That should get you to the documentation library, from which you can view all the component doc, install guides, performance guides, etc.
    null

  • Oracle Containers for J2EE Deployment Guide???

    Hi. I am trying to find a document referenced in the 10.1.3 EA1 help text, entitled Oracle Containers for J2EE Deployment Guide. I've searched the Oracle online documentation and the JDeveloper help text but haven't found this. Any pointers?
    Johnny Lee

    I didn't see anything in the 10.1.2 docset here:
    http://download-east.oracle.com/docs/cd/B14099_16/nav/docindex.htm

  • Deployment Guide....anything changed?

    There hasn't been a deployment guide published in a while. I'm trying to decide on a layout for a new environment (all virtual so I have a lot of options...)
    I've been told by my hardware guy that VMware clusters work best when all virtuals in them have the same number of cpu's. Anyhow, that basically translates to our portal servers having 1 "CPU" (virtual cpu?) assigned per virtual. Is this going to be an issue? Currently our production portals have 2 (virtual) CPUs each. Is this going to be a big performance hit?
    this is windows / iis...
    thanks!

    Hi,
    Thanks for your post.
    Windows Server 2012 is compatible with Windows 7.
    But BranchCache in Windows Server 2012 and Windows 8 provides substantial performance, manageability, scalability, and availability improvements. And there are some group policy only applied to client computers that are running Windows 8 not Windows 7.
    So i would suggest you may choose client computers that running Windows 8.
    More detail information, please refer to:
    http://technet.microsoft.com/en-us/library/jj127252.aspx
    Regards.
    Vivian Wang

  • Deployment guide of Windows Intune

    Hi 
    Can some provide the deployment guide of Windows intune...
    Shailendra Dev

    Hi,
    Since this is a windows server forum, I think you can ask in windows intune forum.
    http://social.technet.microsoft.com/Forums/en-US/home?category=windowsintune
    Thanks for understanding.

  • Deployment Guide

    Is there a deployment guide for Skype version 6 similar to what has been provided with previous Skype versions such as 4.2?  We are wanting to know if we have the ability to configure settings within our SCCM install package of Skype like we've done in the past.  Thanks

    There is no new version.
    http://download.skype.com/share/business/guides/skype-it-administrators-guide.pdf
    http://download.skype.com/share/security/Skype-v1.7.adm
    But it is up to date. You can use it with 6.0 version.
    Regards,
    Tamim
    Location - Dhaka | Bangladesh - Standard Time Zone: GMT/UTC + 06:00 hour
    If one of my replies has adequately addressed your issue, please click on the “Accept as Solution” button. If you found a post useful then please "Give Kudos" at the bottom of my post, so that this information can benefit others.

  • Deployment Guide - Branchcache 2012 with Windows 7 clients

    Is there a deployment guide for branchcache using Server 2012 and Windows 7 clients? I can find 2 guides, 1 for Branchcache 2008 with Windows 7 and 1 for 2012 with Windows 8. Wondering if I should just follow the 2012 guide for configuring branchcache servers
    and 2008 guide for configuring Windows 7 clients including PKI?
    Thanks

    Hi,
    Thanks for your post.
    Windows Server 2012 is compatible with Windows 7.
    But BranchCache in Windows Server 2012 and Windows 8 provides substantial performance, manageability, scalability, and availability improvements. And there are some group policy only applied to client computers that are running Windows 8 not Windows 7.
    So i would suggest you may choose client computers that running Windows 8.
    More detail information, please refer to:
    http://technet.microsoft.com/en-us/library/jj127252.aspx
    Regards.
    Vivian Wang

  • AC 5 deployment guide

    Can anyone point me to the Administrator deployment guide for Access Connection version 5? If not, has anyone been successful deploying a profile?
    This version states it is for Windows Vista, will it work with XP?
    Thanks,
    Chris Esser

    this version is for xp http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4ZLNJB
    Thinkpad R61 7733-1GU
    Thinkpad X61T 7762-54U
    Thinkpad X60T 6363-4GU
    Did a member help you today? Thank them with a Kudo!
    If a post answers your question, please mark it as an "Accepted Solution"!
    Regards,
    GMAC

  • Enterprise Deployment Guide and a Signed Enrollment Response

    Im trying to follow the enrollment process in Enterprise Deployment Guide.
    The device opens my url.
    I send a xml containing the device information request.
    The response i get is signed "using the device’s built-in identity (Apple-issued certificate), and sends it back to the profile distribution service using HTTP Post.
    My question is why is it signed, and how do i verify the signature. And how do i read the relevant data from the response.
    When i read it now, it it first some binary data, then the xml response and then some more binary data.
    How do i process this response.
    Thanks

    It's a signed message in the PKCS#7 format. PKCS#7 is a standard (detailed in RFC 2315 http://www.faqs.org/rfcs/rfc2315.html ) for signed and encrypted messages. CMS (Cryptographic Message Syntax) is the name of the current standard based on PKCS#7.
    There are many ways to extract the data and verify the signature of such a message. The easiest is probably to use OpenSSL (command-line or library). Several libraries in various languages can handle that too.

  • Enterprise Deployment Guide for Oracle Identity Management 11g

    Hi,
    I am looking for Enterprise Deployment Guide for Oracle Identity Management 11g for latest verion 11.1.1.5
    Please help
    Thanks

    Thanks for the reply.
    Actually I am looking for Enterprise Deployment Guide for Oracle Identity Management for 11.1.15(similar like E12035-06).I am not able to find same in the link provided.
    Thanks

  • Enterprise Deployment Guide/BigIP Load Balancer Question

    In the Oracle Application Server Enterprise Deployment Guide, B13998-03, in appendix A, section A.2, it refers to using F5 software version 4.5, with a BigIP Application Switch. 4.5 seems a bit old. Has anyone used version 9.0.4 successfully?

    You have to remember that the 9.0.4 release isn't that new either. However, you can basically use every load balancer out there if they support 1) Sticky/Persistent sessions and 2) Nat client.
    You may also want to check this link:
    http://www.oracle.com/technology/products/ias/hi_av/Tested_LBR_FW_SSLAccel.html
    Regards,
    Martin

  • Enterprise Deployment Guide

    11.1.1.5 docs (http://download.oracle.com/docs/cd/E21764_01/im.htm) do not have a Enterprise Deployment Guide (EDG)
    11.1.1.4 docs (http://download.oracle.com/docs/cd/E17904_01/im.htm) have the EDG.
    Why was the EDG removed from 11.1.1.5 docs? We know there were some errors in the 11.1.1.4 EDG but overall it was a useful reference document.
    An updated version with OES in the deployment reference topologies section (http://download.oracle.com/docs/cd/E17904_01/core.1111/e12035/whatis_im.htm#CHDJDIEH) would be very helpful. Thanks.

    It's a signed message in the PKCS#7 format. PKCS#7 is a standard (detailed in RFC 2315 http://www.faqs.org/rfcs/rfc2315.html ) for signed and encrypted messages. CMS (Cryptographic Message Syntax) is the name of the current standard based on PKCS#7.
    There are many ways to extract the data and verify the signature of such a message. The easiest is probably to use OpenSSL (command-line or library). Several libraries in various languages can handle that too.

Maybe you are looking for