Pre Build EXE and Installer Set Version

So this topic comes up relatively often so I thought I'd make a new thread showing an example of how to make it work.  The problem is developers want a way to set the version of builds programmatically.  Luckily NI added some VIs for doing this.  Too bad you can't invoke them from the Pre-Build action of a build, because that information is read before the pre-build.  Here is an idea exchange discussing it.
But I figured I could come with some kind of work around and I have two, and neither is perfect.  Attached is a simple project.  It contains a VI that runs reading the EXE version that it is running from once it is in an EXE.  The project has three build specifications, an EXE, and two installers.  The developer can set the Major, Minor, and Fix of the EXE, but the build version is set programmatically in the Pre-Build action.  The version of the installers will also be set to the version of the EXE.
Attempt to build the EXE and a dialog will appear asking to enter the build version that should be used.  This could be determined some other way but this was the easiest for the demo.  If the EXE, and the Installers are already the correct version, where the build is the same as the one specified, and the installers are the same version as the EXE, then the build goes on like normal.  But if the build you enter is not the same as the current, it will abort the current build, change the versions, and then tell the operator to attempt to build again.  This time no prompt is seen and the build will work like normal with the version you set earlier.
The downside to this method is you have to tell the developer to build again, I figured I could do that programmatically so I tried.  There is a constant on the BD of Prebuild Action VI.vi, and if it is set to True it will try to invoke a new build on its own.  The problem with this method is the build the user invoked is aborted and the user sees the error.  But the second build might have worked fine, but there isn't any feedback.
In any case this is a sorta working way of setting EXE and Installer build versions from a pre-build VI.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
Attachments:
Test EXE Version.zip ‏80 KB

Bob_Schor wrote:
I took your idea and "simplified" it a little
Some may want the simplified version I understand.  But for me I wanted a more robust VI, one that would work if a project had multiple build specifications of applications, or multiple installers.  Some developers may have two applications one that is normal, and another with debugging turned on and I wanted the versioning to work consistently there by grabbing the newest version and using it.  And in all my cases, if there is an installer it should be the same version as the EXE.
As for the getting around the error I think if I had enought time I could dig into the NI VIs to get rid of the error and show the progress of the new build.  The whole build process is a bunch of VIs, that augment the right click menus in the project so the source is there it is just taking time to understand it.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Similar Messages

  • Build application and installer

    I build application and installer same the problem
    please see the figure
    Attachments:
    Mohammad 1.doc ‏870 KB
    moh.doc ‏253 KB

    If this is an answer to this thread, post a reply in there.
    Duplicate post.
    Regards,
    André
    Using whatever version of LV the customer requires. (LV5.1-LV2012) (www.carya.nl)

  • Usage dependency is created at Build time and installation time

    Hi,
    The infrastructure guys have selected the usage dependency as Build time and Installation time, while creating software components.
    "Y" SWC is created as depedency for "X" software component.
    In SLD(software catalog),  we are able to view the Y component as dependency in X component(at both build time and installation time).  In usage dependency we are able to view Y component but when we click Y component in usage dependecy we are also able to view X component. Is there any problem with this ?
    There is another issue. we are able to view basis object(in IR) in Y component but not in X component.  Actually as per the above configuration basis object in IR should appear in X component.
    Please refer to another forum which may give you some more idea.("BPM - Message interfaces of one component are not appearing in another comp") pasted on 17 Nov,2006.
    Please could you provide us the inputs.
    Thanks,
    Ramesh

    hi,
    as you see per my weblog try choosing Installation Time
    /people/michal.krawczyk2/blog/2005/08/26/xi-are-you-independentfrom-your-dependencies
    more about it on:
    http://help.sap.com/saphelp_nw04s/helpdata/en/d4/8d784289b4de54e10000000a155106/content.htm
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • 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

  • Makefile for building 32 and 64 bit versions of a driver/app

    Does anyone have good example Makefile that can build both a 32bit and 64bit version on device driver and userspace programs? I'm using gcc and gmake to build a streams module and some user space utilities for both 32 and 64 bit x86 and Sparc architectures. I currently have a bunch of taget specific make files, but I know there must be a better more elegant way of doing this. Ideally I would like to build both the 32 and 64 bit versions for the running architecture with the same make command. I don't need to cross compile (ie. build sparc on x86 ).

    Yes, with Creative Cloud you will have both 32 and 64 bit versions installed. 32 bit is useful in cases when you have a plugin that only supports 32 bit, not 64 bit.
    You might check below forum discussion as well.
    http://forums.adobe.com/message/4737722

  • Build application and installer to work without LabView installed.

    Hi!
    Can someone please tell me how to build an installer
    in LabView, that can be installed on a different computer
    and run my program without having to install LabView
    on that computer?
    Regards,
    Børild

    You just go through the nomral process of creating the installer:
    http://zone.ni.com/reference/en-XX/help/371361B-01/lvhowto/build_installer/
    Just make sure you select the run-time engine (default I think) and VISA if needed...
    Use the rating system, otherwise its useless; and please don't forget to tip your waiters!
    using LV 2010 SP 1, Windows 7

  • Flash Builder 4 and Flash Player Version

    Is any particular version of Flash Player required to run what's generated by Flash Builder 4? I've tried to find the answer but haven't turned up anything after an hour of searching...
    I'm trying to decide whether to buy Flex 3 or Flash Builder 4 to use at work and I don't control what version of Flash Player my organization uses.
    TIA

    Thanks. But my customers won't necessarily have the latest version of Flash Player. In fact, it's likely they'll be behind and they do not have the option of downloading the latest version - that's strictly controlled. So if I deploy something built with Flash Builder 4, will my customers be able to see it with Flash Player 10 (It looks like the latest and greatest is Flash Player 10.1)?

  • Compiled EXE and installer w/ DAQ card?

    I created a specialized data logging VI and compiled the application.  I also created an installer so I could install it on another computer.  I included runtime and DaqMX w/ the installer.  When I installed it on the other computer, in MAX I can see the daq card, but in the program all the inputs from the card show up as zeros.  Is there something I'm doing wrong?  Should I be using MAX tasks and scales instead of project tasks and scales?

    Hi Zorro,
    There should be no problem in using the tasks and scales that you originally saved in your project.  Do you have multiple DAQ boards in this system, such that the board you are intending to use now has a different device name in MAX?  For example, the card could now be displayed in MAX as Dev2 when you originally programmed it with a device name of Dev1.  Also, if you open up test panels within MAX for your device do you still get 0V readings on all of the input channels in question?
    Regards,
    Andrew W
    National Instruments

  • New MacBook Pro.  Tried to reinstall pre-purchased Dreamweaver and installation failed...three times.  followed directions

    trouble re-installing Dreamweaver in brand new MacBook Pro where I cloned it from the previous MacBook Pro.  From Adobe website tried to re-install software and it failed.  Followed all directions.
    help?

    Which ver of DW?
    Which OS?
    Nancy O.

  • Issue with setting the tag "Bld_localDestDir" in pre-build VI: Project gets saved to previous localDestDir.

    Hey All,
    I'm writing a pre-build VI that updates the build destination (and other items, but we're ignoring those for now). This pre-build vi, when run, grabs the Destination Directory from the tag "Bld_localDestDir" and modifies the directory by incrementing a version number.
    The issue I'm having is that after the pre-build vi is run, the build continues and puts the executable in the *previous* Destination directory instead of the updated one.
    Example:
    Destination Dir = c:\temp\version1   -->   Choose to build the executable   -->   Pre-build VI runs and sets Destination Dir to c:\temp\version2   -->   Build finishes and says "You can locate the build at C:\temp\version1"   -->   Check the build properties, destination dir is C:\temp\version2   -->   build again   -->   Pre-build runs and updates destination to version3   -->   Build finishes and says "you can locate the build at C:\temp\version2"   -->   check build properties, destination dir is C:\temp\version3
    And so on and so forth. As you can see, the tag setting is working (as witnessed by the Build Properties being updated). However, it looks like the destination directory for the build is determined and set *before* the pre-build VI is run. This is, in my opinion, not intended behavior.
    Here's a snippet of a watered-down version of the code, which still has the issue. I've also attached the full VI, saved for LV2010.
    The attached VI will grab the version number of the build, append it to the startup vi's title bar, update the build destinations with a new path that has the version number, and then save the project.
    As a final note, I'd prefer to not use a post-build VI to rename the directory that the build is placed in.
    Solved!
    Go to Solution.
    Attachments:
    Pre-Build Action 2010.vi ‏25 KB

    > Leah-L Said:
    > We were able to replicate your problem here as well. We are also seeing that the destination directory for the build is determined and set *before* the pre-build VI is run. Just so I am aware, have you found any other documentation concerning Pre-Build VI's?
    Cool, thanks for confirming that I'm not crazy.   And no, I haven't found any documentation concerning this phenomenon.
    > gmart Said:
    > it potentially processes the information and so simply updating values may not have the desired effect
    Good to know. I think this should be in the documentation somewhere though, perhaps in the detailed help for the Get/Set Tag invoke nodes for a Build Spec reference.
    To fix the issue, I've just made my own "Build Executable" vi that sets the tags before the build is started. It uses the same VI that I attached earlier (confirming that the VI works). Instead of starting the build from the project window and having a pre-build vi execute, I run this stand-alone VI and it builds the app.

  • Scripted Build of Host and RT application and installer

    Looking to make a script that allows me to create the host application from a project template. But I need it to change some of the values in the project such as file paths, files included in the installer and names of the build exe and rtexe.  I cant find the way that I can  programtally control that thing based on user input.  
    This is something I am doing so our developer team can be more consistant about how we compile updates and how they are distribuited to the customer.  
    Solved!
    Go to Solution.

    As for(imstuck) has said, all of what you want to do is possible, but it is spread out over two APIs - the VI server API (property and method nodes) and the application builder API, which is not on the palettes, but can be found in <vi.lib>\AppBuilder\AB_API.
    For working with projects, you can get project references through the Application class, then move on to project items, etc.  You can use the class browser (Ctl-Shift-B) to find things.
    AppBuilder has several APIs, depending upon what your final target is (source code, executable, packed library, etc.).  Use the appropriate one.
    I would strongly recommend you do not directly touch the project file.  It can contain binary information and has a lot of interdependencies.  You may be successful, but your solution will probably be brittle, since the project format can and does change with the LabVIEW version.
    If you have any more specific questions, let us know.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Build exe for DSC security tools

    Hi All,
    I am developing an application in LV7.0 which has Visa read/write functions, alongwith that i want to implement some security features using Dsc module's vi present in function palette. My requirement is wen Login button is clicked a login dialog box gets popped up, this i have done by using NI SEC Invoke login dialog. vi. I have also used other security tools like NI SEC User account info.vi, programmatic logout.vi etc.........Vi is working perfectly fine but after making exe, and running it on same pc, login dialog box doesn't gets popped on login button clicked.
    So my doubt is do i need to add some security library files while building exe and creating installer???
    Your reply will be valuable to me
    Thanks & Regards,
    Ratna 

    Hi Sahil,
    Thanks for ur reply. wanted to inform u that i m using only security tools of DSC module, apart from that no other DSC tools. Even though i add all supporting files which was listed in the document named Support Files to Include when Building a LabVIEW DSC Module Application (available on http://zone.ni.com/devzone/cda/tut/p/id/4189) link. In addition to this i also add .rtm file for viewing tool bar while running application and security.llb (available at development machine directory:LabVIEW7.0\Vi.lib\lvdsc>. But still the problem remains as it is. So my question is do i need to add any other supporting files related to DSC security tools, which can solve my problem???????
    If u have any clue, kindly recommend me.
    Regards,
    Ratna 

  • Labview fail to build exe for a perfect VI?

    I build a small example VI,which simply uses a T/F constant to control a case structure. The false case passes through the data, the true case does a filter on the data. This VI runs fine for when the constant is set to either True or False.
    However, if I set the constant to False, and try to build the VI into exe file, Labview fails to build exe and give out this error:
    An error occurred while saving the following file:
    C:\testfilter\Main.vi
    Invoke Node in AB_Source_VI.lvclass:Close_Reference.vi->AB_Build.lvclass:Copy_Files.vi->AB_Application.lvclass:Copy_Files.vi->AB_Build.lvclass:Build.vi->AB_EXE.lvclass:Build.vi->AB_Build.lvclass:Build_from_Wizard.vi->AB_UI_FRAMEWORK.vi->AB_Item_OnDoProperties.vi->AB_Item_OnDoProperties.vi.ProxyCaller
    <APPEND>
    Method Name: <b>Save:Target Instrument</b>
    If I set the constant to true, then the VI builds fine. That makes no sense, since whatever the constant value is, it should not affect the building process.Anyone knows why Labview is making this error?
    Please see the attached sample project, I build it in Labview 8.6.1.   Set the constant to false, and the build fails.  BTW, the code does not do any real "meaningful" thing, it's just an abstraction of a complex program.
    Attachments:
    testfilter.zip ‏10 KB

    I knew this would solve the problem, because I believe the problem is that there is a case that "seems" will never be executed, so the blocks inside the case does not get included (dumped by "smart" compiler) but somehow later needs to be referenced in the build process. If you put it outside the case structure, a copy of that block will be included anyway so later it can be referenced.  I have seen similiar problems in languages like Java.   Good to hear it probabily has been solved in lv 2009, so another reason to fork a few dollars to NI for upgrades...
    Dennis Knutson wrote:
    I got the same error. I then deleted the code in the true case, selected the low pass filter function that you had outside the case structure, and dragged a copy inside. The build was then successfull. I can't explain what was corrupt and the error message is pointing to functions you did not have.

  • Set version string from a shared file in App Builder

    I am upgrading my applications to use the new LabVIEW 8.0.1 Pro env. I am getting used to the new App Builder features and I like what i see. However... i am having a couple of issues...
    1. I now have to change build number in both my About_Dialog.vi AND in the build properties.
    2. I now have to change the build number for EACH binary i build, EACH time i build.
    Is there a way to, at build time, read a file to set the version string? IE. Can i have a text file that is called fileversion.txt or something and have it be read to populate the build version?
    Is there a way to have a pre/post build script that can be run to set parameters/configs using the 8.0 App Builder?
    The primary reason for this is that since i cannot use a command line option to build my executables, i would at least like to simplify it to be able to use a simple mouse clicker app. However the version info has to change with each build and that increases the complexity of the script 10 fold. Alternatively, is it possible to remove the version info from the binary? I like the feature a lot, but my customers are going to get confused if the about dialog says something different than the binary properties.

    Hello Plexsys,
    With LabVIEW 8.0, in the project explorer you can have VIs targeted to multiple devices. This is where to conditional disable structure comes into the picture. With this structure it possible at runtime to disable a section of the code depending upon the target on which this VI is running.
    Besides working with multiple targets (using the Target Type symbol), you can also define your own symbol. This way a VI can behave differently when used in conjunction with different projects. You can define the symbol for a project by right clicking on the Project (in project explorer) and selecting “properties”. This way, if a specific VI is moved over from one project to the other (with a different symbol value), then it would behave differently. If a project does not contain one of the symbol values, then the default case would be executed.
    You can always refer to LabVIEW help for more information on the conditional disable structure.
    At this moment I don’t think that the conditional disable structure could provide you with the functionality that you are looking for.
    Regards,
    Chetan K
    Application Engineer
    National Instruments

  • Labview 8.5 installer build *.exe wrong date code

    In Labview 8.5 application installer build *.exe has a date code of 7/17/2007 even though it was built today.  It will not update even after deleting it.  Is this a known bug?  SS

    Hi SS,
    The Date Modified property of setup.exe shows the date the MetaInstaller was built.  This was true in earlier versions of LabVIEW as well.  It was reported to R&D (# 3T87DAP4) but was determined to be expected behavior.  The actual date and time the installer was built can be determined by looking at the properties of \bin\dp\install.msi.  Feedback is always appreciated, so please feel free to create a product suggestion if you think this should be changed. 
    Jennifer R.
    National Instruments
    Applications Engineer

Maybe you are looking for

  • Error when trying multiple inbound interface determination for IDOC

    Hi ! I have this scenario: File -> XI -> IDOC.  For each source file, I need to send multiple idoc packages, all to the same business system, but each package should be the result of different interface mappings. All mappings have same source and tar

  • 2-page spread alignment in iPhoto 6.0.5 (Contemporary theme)

    I see from searching that others have tried to place a photo on a 2-page spread in iPhoto. Aperture does that automatically but iPhoto doesn't seem to. I need to use iPhoto for this 8.5 X 11 photo book project, and I am using the "Contemporary" theme

  • Application Error Memory could not be read(Please Help)

    Hi I need help. I am using Adobe Photoshop CS4 Extended Student Edition. My computer is Windows XP I continue to get the error  Photoshop exe  Aplication Error Instructions at oxofa92c5b  sometimes is states oxofc42c5b reference memory oxoooooo28 Mem

  • Firefox for Mac is extremely slow to load YouTube videos

    Every time I go to watch a YouTube video, it takes forever for the video to begin playing. When it does finally start, the quality is often very low, at 240p or 144p. I also have Chrome and Safari installed on my laptop and they do not have any probl

  • (NOLOCK) is giving syntax error

    Hi, I have query which runs properly in 1 server and in the other server it gives syntax error because of (NOLOCK). When i remove (NOLOCK) its working fine. my query is a big one... But it is something like INSERT INTO @abc SELECT a.id,SUM(b.count) F