Is it possible to build exe with vis that have striped block diagrams?

We can tell that an entity has stolen our code and are using them in their .exe file.  
We used to distribute our program as a light exe layer that dynamically loads some source code distribution vis (block diagram striped) off disk and runs them.
What we don't know is whether they actually got our in house source code, or if they are somehow taking the distributed vi's and compiling them into their exe.  
So the question is: Is it possible to take vis compiled for a 'source distribution' with the block diagrams removed (but front panels not removed) and compile them into an executable?

It's actually quite possible to use a source distribution VI for a new app. You need to select the "Do not disconnect type definitions or remove unreferenced
members" option in the "Additional Exclusions" page.
I've attached an example on how this can be done. Untitled Project 1 would be your project, which has a build target of your app, along with the source distribution for a VI with the block diagram stripped. Untitled Project 2 would be your competitor's project, which is a VI that uses your subVI directly and builds a separate application. As you can see, I can successfully build an application using your code.
Attachments:
source dist ex.zip ‏76 KB

Similar Messages

  • [svn:fx-4.0.0] 13714: updating the AIR kits with versions that have the fx4 swc recompiled using SDK 13653

    Revision: 13714
    Revision: 13714
    Author:   [email protected]
    Date:     2010-01-22 08:12:15 -0800 (Fri, 22 Jan 2010)
    Log Message:
    updating the AIR kits with versions that have the fx4 swc recompiled using SDK 13653
    Modified Paths:
        flex/sdk/branches/4.0.0/in/air/mac/AIR Integration Kit.tbz2
        flex/sdk/branches/4.0.0/in/air/win/AIR Integration Kit.zip

    Thanks dude, you saved my ***!
    This is my platformOptions.xml file now:
    <platform xmlns="http://ns.adobe.com/air/extension/3.5">
        <sdkVersion>6.0</sdkVersion>
        <linkerOptions>
            <!-- to link with the libicucore.dylib -->
            <option>-licucore</option>
            <option>-framework GameKit</option>
            <option>-framework CoreData</option>
            <option>-framework StoreKit</option>
            <option>-framework iAd</option>
            <option>-framework MessageUI</option>
         </linkerOptions>
    </platform>
    And it works!
    I looked into including the 2 .a files
        <packagedDependencies>
            <packagedDependency>libWebp.a</packagedDependency>
            <packagedDependency>libFlurryAnalytics.a</packagedDependency>
        </packagedDependencies>
    I put the 2 files into my ane build folder and into my adt command line, but when I try to build the app I get an duplicate symbol error... so i took them out.
    \o/

  • How to improve Oracle Veridata Compair pair performance with tables that have big (30-40MB)CLOB/BLOB fileds ?

    How to improve Oracle Veridata Compair pair performance with tables that have big (30-40MB)CLOB/BLOB fileds ?

    Can you use insert .. returning .. so you do not have to select the empty_clob back out.
    [I have a similar problem but I do not know the primary key to select on, I am really looking for an atomic insert and fill clob mechanism, somone said you can create a clob fill it and use that in the insert, but I have not seen an example yet.]

  • Problem of building .exe with VI template as subVI

    I'm having trouble to successfully build an .exe with VI template as a subvi. Please see the image for the error when executing the built file.
    In my toplevel VI, I use two subpanels (side by side comparison), each subpanel loads the same subVI (saved as template in order to show the front panel). The code executes beautifully in development mode, but once it is built into executable (the subvi is added as dynamically loaded vi), only one subpanel loads the subvi, the other one is just blank, and an error message is displayed.
    I understand there are other options here, but I would like to see if there are solutions before considering an alternative route. Any help will be greatly appreciated.
    System
    setup: WinXP Pro SP1 with LV7.
    Thank you,
    -Joe
    Attachments:
    lvError.gif ‏7 KB

    Hi Joe,
    We've seen this error when using express VI's inside of template VI's which are loaded using VI server. Are you doing that? If yes, then take all the express VIs that are inside the template VI and turn them into static subVIs.
    I don't know if it will help in your case, but let's try it.
    Regards,
    Luca
    Regards,
    Luca

  • Unable to unlock VI with VI properties or view block diagram.

    I have a VI that I need to modify, but I am unable to open the block diagram or unlock the VI in the VI properties dialog box (options are grayed out).  I generally have my VIs locked with no password, but I have always been able to unlock them at a later time with the properties diolog box and change anything.
    Is there a way I could have locked myself out?

    If you saved the VI without a block diagram, I believe this could happen.  If that is indeed the case, you'll need to replace the VI with your latest backup, since there's no way to retrieve the diagram once you've saved a VI without a block diagram.
    Also, make sure you're not trying to look at the diagram of a Control or Global VI...
    -D
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman

  • Auto adjustment of page orientation causes printing issues with documents that have a page width greater than its page height.

    Hi,
    Since an upgrade from Word 2003 to Word 2010, we are experiencing printing issues with certain
    documents that have a page width greater than its page height.
    In Word 2003, it was no problem to set the page width greater than the page height while setting the page orientation to "portrait".
    In Word 2010, this seems impossible: despite leaving the page orientation to "portrait", if one changes the page width/height as stated,
    Word 2010 automatically adjusts the orientation to "landscape". Resetting the orientation to "portrait" will flip the page's width/heigth settings.
    This behaviour causes printing problems: the page prints out 90° rotated.
    I do not believe this is a printer driver issue: I tried several different printer drivers, and all give the same (bad) result. Setting the printer driver's page orientation settings (before printing) makes no difference, as
    Word 2010 seems to force the page orientation settings.
    Inserting the documents 90° rotated is not an option, since it causes problems with the printing margins.
    This is very annoying, since we have to print official documents of a municipality (driver's licences).
    Is there a workaround for this issue?
    Regards,
    Laurent Grandgaignage
    Sysadmin Gemeentebestuur Stabroek, Belgium

    Hi
    Thank you for using
    Microsoft Office for IT Professionals Forums.
    From your description, we can follow these steps to test this issue
    Step 1: Repair Office 2010
    1.      
    Click
    Start, and then click Control Panel.
    2.      
    Click
    Programs and Features.
    3.      
    Click the
    Office 2010 program that you want to repair, and then click
    Change.
    4.      
    Click
    Repair, and then click Continue. You might need to restart your computer after the repair is complete.
    Step 2:
    Rename the global template (Normal.dotm)Follow the steps for the operating system that you are using:
    Windows Vista and Windows 7
    a)      
    Exit Word 2010
    b)      
    Click
    Start.
    c)       
    In the
    Start Search box, type the following text, and then press
    ENTER:
    1.      
    %userprofile%\appdata\roaming\microsoft\templates
    d)      
    Right-click
    Normal.dotm, and then click Rename.
    e)      
    Type
    Oldword.old, and then press ENTER.
    Microsoft Windows XP
    a)      
    Exit Word 2010
    b)      
    Click
    Start, and then click Run.
    c)       
    In the
    Open box, type the following text, and then press ENTER:
    %userprofile%\Application Data\Microsoft\Templates
    d)      
    Right-click
    Normal.dotm, and then click Rename.
    e)      
    Type
    Oldword.old, and then press ENTER.
    f)       
    Close Windows Explorer.
    How to troubleshoot print failures in Word 2010, Word 2007, and Word 2003
    http://support.microsoft.com/kb/826845
    Please take your time to try the suggestions and let me know the results at your earliest convenience. If anything is unclear or if there is anything
    I can do for you, please feel free to let me know.
    Hope that helps.
    Sincerely
    William Zhou CHNPlease remember to mark the replies as answers if they help and unmark them if they provide no help.

  • Edit code for change drive letters in paths for links, to also work with Fonts that have been moved.

    I have the following code that looks through my links and changes all of the drive letters to the new locations where they exist.  So if something stays in the same folder structure, but moves to a new drive E: and InDesign can not longer find it, you can run the code and have it fix them all.
    Well I want to do the same but for fonts that have also moved.
    Thank you in advance for any and all help!
    if (app.documents.length == 0) {
        err("No open document. Please open a document and try again.", true);
    if (File.fs != "Windows") {
        err("This script is for Windows only.");
    var myDoc = app.activeDocument;
    var myLinks = myDoc.links;
    var myCounter = 0;
    if (myLinks.length == 0) {
        err("This document doesn't contain any links.", true);
    var mySettings = CreateDialog();
    for (i = myLinks.length-1; i >= 0 ; i--) {
        var myLink = myLinks[i];
        if ( myLink.status == LinkStatus.LINK_MISSING || (myLink.status != LinkStatus.LINK_MISSING && mySettings[2] == false) ) {
            var myOldPath = myLink.filePath;
            var myNewPath = myOldPath.replace(mySettings[0] + ":\\", mySettings[1] + ":\\");
            var myNewFile = new File(myNewPath);
            if (myNewFile.exists) {
                myLink.relink(myNewFile);
                try {
                    myLink.update();
                catch(e) {}
                myCounter++;
    if (myCounter == 1) {
        alert("One file has been relinked.", "Finished");
    else if  (myCounter > 1) {
        alert(myCounter + " files have been relinked.", "Finished");
    else {
        alert("Nothing has been relinked.", "Finished");
    function err(e, icon){
        alert(e, "Change drive letter in path", icon);
        exit();
    function CreateDialog() {
        var myDrives = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "y", "Z"];
        var myDialog = new Window("dialog", "Change drive letter in path");
        var myPanel = myDialog.add("panel", undefined, "");
        myPanel.orientation = "column";
        myPanel.alignChildren = "left";
        var myGroup = myPanel.add("group");
        myGroup.orientation = "row";
        var myStText1 = myGroup.add("statictext", undefined, "Change ");
        var myDropDownList1 = myGroup.add("dropdownlist", undefined, myDrives);
        if (app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl1") != "") {
            myDropDownList1.selection = myDropDownList1.items[app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl1")];
        else {
            myDropDownList1.selection = myDropDownList1.items[2];
        var myStText2 = myGroup.add("statictext", undefined, " to ");
        var myDropDownList2 = myGroup.add("dropdownlist", undefined, myDrives);
        if (app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl2") != "") {
            myDropDownList2.selection = myDropDownList2.items[app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl2")];
        else {
            myDropDownList2.selection = myDropDownList2.items[3];
        var myCheckBox = myPanel.add("checkbox", undefined, "relink only missing links");
        if (app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_checkbox") != "") {
            myCheckBox.value = eval(app.extractLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_checkbox"));
        else {
            myCheckBox.value = true;
        var myButtonsGrp = myDialog.add("group");
        var myOkBtn = myButtonsGrp.add("button", undefined, "Ok", {name:"ok"});
        var myCancelBtn = myButtonsGrp.add("button", undefined, "Cancel", {name:"cancel"});
        myOkBtn.onClick = function() {
            if (myDropDownList1.selection.index == myDropDownList2.selection.index) {
                alert("Both drive letters should not be the same.", "Change drive letter in path");
            else {
                myDialog.close(1);
        var myDialogResult = myDialog.show();
        if (myDialogResult == 1) {
            app.insertLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl1", myDropDownList1.selection + "");
            app.insertLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_Ddl2", myDropDownList2.selection + "");
            app.insertLabel("Kas_UpdatePathNamesAfterDriveLetterChange_3.0_checkbox", myCheckBox.value + "");
            return [ myDropDownList1.selection.text, myDropDownList2.selection.text, myCheckBox.value ];
        else {
            exit();

    ok, so I have discovered where the issue came from...
    The code you helped me with before, were I removed all links and my link character styles that I had (found here: http://forums.adobe.com/message/5881440#5881440)
    Well it set all the items I was finding/replacing to unknown fonts that my machine doesn't have (Like Helvetic Neue Bold, instead of just Helvetica Bold, etc).
    Is there an easy way of fixing this?
    The only way I know to fix it right now is:
    Go to Package >> go to Fonts >> Select the the font that says it's missing >> Select Find First >> CLOSE ALL OF THIS, then use the eye-dropper to select the text around that font which copies the formatting and then apply it to the text who's formatting got messed up.  And then start the process all over again for the next occurence of that word whose formatting got stripped.

  • I have 2 itune account and only 1 shows up with songs that have been purchased

    I HAVE TO I TUNES ACCOUNT AND ONLY 1 SHOWS UP WITH SONGS THAT I HAVE PURCHASED.  HOW DO I GET TO THE OTHER ACCOUNT

    If u purchase something with one apple  id account everything stay there you can not move ur purchase history to another account

  • Cannot get Shockwave playver 12 to work with users that have basic security

    Good Day,
    I've pushed out Shockwave player 12 to 2 test units that are Win 7 and IE 10.. I can log in with my account (ADmin access ) and 2 other accounts (1 Student and 1 Teacher) that have basic security access  and run a web page that will play properly.. I ran the testy and it came back as everything is ok...
    I created 2 other accounts with same access as the teacher and Student (basic domain access) and logged in to the same unit.. and the web page won't play... I ran the Adobe test and it tells me The Version 12 Shockwave is installed incorectly..
    As a test, I removed the 2 working profiles from a PC..., then re logged in, it worked...
    Tried removing shockwave player and re-installing, still fails for the 2 student and teacher (and all other accounts).. I've verified IE settings (as they are controlled via group policy..) everything is the same...
    Searched the WEB and seems to be acomon issue, any ideas?

    Hello,
    It was sorted out.. (somewhat)..  the fix for a specific website was to add it to the trusted list of sites..
    Could never figure out the blocking though… of IE10 and settings..
    Ron

  • Problem building exe with dynamic vi

    Hi all, i'm using LV 8.2 evaluation version to build an executable file for my test platform. This platform calls for individual test vis dynamically.
    I can export the platform vi into exe alright but it always fail to run the test vis dynamically when called by the platform. I know the platform is working alright as it's able to successfully traverse through all my operating states, but when it comes to the state which contains a subVI which calls these test vis dynamically, nothing happens and it just proceed with the next state. The even wierder thing is that the program then enters my default state (which isn't even on the list of states for that particular operating mode!)
    Based on this result i can say that the platform is working fine as it was able to call various subvis and traverse through the defined states (except for the default state case). Thus i guess it must be something which i did wrongly during the build process which caused it not to run my dynamic test vis. I spent the whole day trying various build options but it still doesn't run my dynamic vis.
    Any ideas?
    PS: Does the build process automatically import the MAX settings?

    No, it's not a cracked version just to make myself clear.
    Dennis, i don't think it's a problem with the path as the exe does not have any problem loading other text configuration files. Yes, i've included them under the dynamic vi and support files option.
    Attachments:
    Build option for LV8.2 eval.JPG ‏31 KB

  • Building exe with installer

    I am using Ni DAQmx and Labview 2009 professinal. I tried to build an exe and distribute it to my team. Initially they had issues
    opening the file and instead opening the login screen it opened a main GUI screen with the errors as shown in output.jpg. I did some
    search on this forum and I thought I will build the installer with LV runtime engine, DAQmx 8.5, MAX import ini file and send the msi 
    extension to my team. But on the process of building this I get the following error as shown in ni_install.jpg. When I select DAQmx 
    8.9.5 the build becomes unsuccesfull. Please need some help to resolve this.
    Thanks
    Attachments:
    ni_install.jpg ‏99 KB
    output.jpg ‏159 KB

    My problem is building the installer before giving it to my team. When I right click "Build specification" and create installer I get
    application properties. 
    Product info: Provided my installer destination and other info 
    Source Files: I provided my exe into destination view - program files folder
    Additional installer: I choose DAQmx, labview runtime engine 2009, MAX
    And I filled all the info on the property setting window. With all this it comes up looking for NiDAQmx and defaults to drive CD drive.
    Should I use my DAQmx CD at this point and then build the installer. Is it ok to build the .exe and then create the installer.
    Thanks

  • Application-Builder-Exe with Web-Server crashes

    Windows XP Service Pack 2
    EXE file created with Application Builder
    Web-server active - as picture 1 time per second
    Access from browser in local network:
    3 times has occured application crash:
    Yesterday:
    10:26:34
    Application fault VI-app.exe, Version 1.0.0.0,  module fault: lvrt.dll, Version 8.6.0.4001, Address 0x007424c3.
    10:30:21
    Memory fault 1129110434.
    13:50:59
     Application fault VI-app.exe, Version 1.0.0.0,  module fault: lvrt.dll, Version 8.6.0.4001, Address 0x007424c3.
    Now:
    First access with browser at 08:03, second acess at 08:24
    08:26:07
    Application fault VI-app.exe, Version 1.0.0.0,  module fault: lvrt.dll, Version 8.6.0.4001, Address 0x007424c3.
    08:30:49
    Memory fault 1129110434

    Hey Hellboy,
    Please have a look at this thread -> http://forums.ni.com/ni/board/message?board.id=170&requireLogin=False&thread.id=194442
    You might find some hints due to the facts its discussing the same error.
    Christian 

  • Folder of application builder(*.exe) with run-time DLL

    My application consists of main.vi, subvi folder, and example folder.
    In addition, I have to add the run-time libraries for add-on tool kit (advanced signal processing, lvwa.dll) which should be located in the root folder.
    (For exe application, can I set the location of DLLs to not the root folder but "DLL folder"?)
    In my several trials, I can't maintain the hierachy of "example folder".
    Instead of my intension, the NI application builder copied the files in the folder to the support directory.
    Can I locate the "example folder" to the root folder by using NI application builder?
    In summary, I want to get the folder structure by application builder.
    main.exe, DLL folder, Example Folder.
    메시지가 08-08-2008 01:30 AM에 labmaster에 의해 편집되었음

    Hey Labmaster,
    What version of LabVIEW are you using?
    I am not too clear as to what you are trying to do. You can create folders and add anything from your project when creating an installer under the Source Files section in its properties.
    It might be easier if you'd attach a screen shot of what you are doing or trying to do.
    Aashish M
    Applications Engineer
    National Instruments
    http://www.ni.com/support/

  • Can Not execute a TS Sequence File with VIs that are already being compile in my Custom TS Operator Interface

    I have build a custom TS Operator Interface (Executable) with some custom VI(s)(GOOP VIs). I want to be able to call the same custom VI(s) from Teststand Sequences. When i try ti launch the sequence from my TS OI i got an error message, because LabVIEW Run Time find the same VI(s) from two different location : the OI and the sequence.
    I would like to know, that is the best approach to resolve this problem.
    For the moment i got two solutions :
    (1) dynamically calling the VI(s) in the OI (executable)
    (2)Changing the name of the VIs in the TS sequence.
    I would like to know if it exist an another solution ?
    thank you
    derek

    For the moment the VI�s that are shared between the sequencefile�s and the operator interface, are used as code module in the sequencefile�s (not as sub vi in the code module).
    On the target system I will got my custom operator interface (which is build from the Testexec.llb + my goop VI�s). My goop VI�s are statically link to my operator interface.
    (I will say that my executable are on the C drive : C:\Testexec.exe)
    My sequencefile�s and the differents VI�s of each step is deploy with the TestStand deployment wizard. A library with all the vi�s call by the sequencefiles are group in SupportVIs.llb. (the sequencefiles and the VI�s library are on the C drive too)
    For exemple I will say that I got a foo.vi (goop
    method) which is build in the operator interface testexec.exe. The same foo.vi is call (as code module) by a step of one of my sequencefile�s.
    When I try to launch the sequence with the operator interface, The LabVIEW Run Time inform me that he can�t load step "foo" of sequence �MainSequence� because he find 2 VI�s with the same name in 2 different location (C:\Testexec.exe\foo.vi) and (C:\SupportVIs.llb\foo.vi.
    If you got a sample example, i will be glad to see it.
    Thank you Ray for your help.
    Derek

  • Full YR calendar & row generators -probs with mnths that have 28/29/30 days

    Hello,
    With Rod West's advice i've been able to build an absence calendar report using Row Generators, see the learndiscoverer blog (http://learndiscoverer.blogspot.com/2008/10/row-generators.html) for more details on row generators.
    I have hit a problem with using dates as a data point (or the basis of a datapoint) in crosstabs.
    I'm building a crosstab that needs to look at a years worth of absence for a person. Using 2 row generators, 1 producing 12 months (last day of each month as a date, formatted to fmMonth) down the side and the other with 31 rows running along the top for the days in that month.
    The data point is a calculation that inserts the absence category on each day that a person is absent. This works brilliantly for one month. However the datapoint is a derivative of the month/year and the 31 days created by the row generator, which causes problems for certain months.
    If, for example, I need to produce the report for January and February 2008 it will produce an error saying not a valid date for month. This is because there are 31 days running along the top and the datapoint is using 31 days in both Jan & Feb. As there were only 29 days during Feb in 2008 the error occurs when the datapoint creates 30-Feb-2008 & 31-Feb-2008.
    I have tried to make the datapoint calculation return NULL for these dates but it won't allow it because the datapoint is must be some sort of date. I have tried to convert these erroneous dates to 01-Jan-1900 and then omit them from the report with a condition, i think this may be the solution, but i'm not getting anywhere with it.
    If anyone knows a better way of doing this i'd be really grateful if you could let me know.
    Also, just one other thing. Does anyone know how to format a date to a day in the format Mon, Tues, Wed etc. I can get the full day but need narrower columns.
    Thanks,
    Lloyd Thomas

    Hi Rod,
    This is brilliant! I'm sorry about the confusion I caused over the dates in the generator.
    There is a problem here though. I've got to_date('01-JAN-'||:pyear)+n-1 along the top. Down the side of the cross tab I have LAST_DAY(TO_DATE('01-JAN-'||:pyear)+( Days in Year-1 )), formatted to FmMonth.
    The data point is MAX(CASE WHEN "Dates in the Year" BETWEEN Date Start AND Absence Finish THEN Absence Category ELSE '' END).
    The multiple absences over the year are causing duplicate rows. Once converted to a table i can see that each day of the year brings in duplicate rows for every absence a person has had. The MAX statement works in terms of identifying the correct row but I cannot get rid of the other rows. I can't do an IS NOT NULL condition because it will also remove days where people where not absent.
    I think the problem with the LAST_DAY(TO_DATE('01-JAN-'||:pyear)+( Days in Year-1 )) calculation but i'm trying to make it return one month.
    Any help appreciated.
    Thanks,
    Lloyd

Maybe you are looking for