Jump to content

Neil Pate

Members
  • Posts

    1,187
  • Joined

  • Last visited

  • Days Won

    110

Everything posted by Neil Pate

  1. You can get the Inno setup to execute another application as part of the setup, in the example pasted below I execute the RTE setup exe. Note I have manually extracted the RTE so that it consists of its bits and pieces. You also have to tell Inno to include the files in the setup (that is the [Files] section) [Files] Source: "C:YOURPROJECTNAMEResourcesInstallerLVRTE_Extracted*"; DestDir: "{tmp}LVRTE_Extracted"; Flags: recursesubdirs createallsubdirs [Run] Filename: "{tmp}LVRTE_Extractedsetup.exe"; Parameters: "/q /AcceptLicenses yes /r /disableNotificationCheck"; WorkingDir: "{tmp}LVRTE_extracted"; Flags: waituntilterminated; StatusMsg: "Installing LabVIEW Run-Time Engine"
  2. I think perhaps the design, style and documentation should be worth more. I have a pretty high level of coding standard (i.e. block diagram neatness, comments etc) that I always try and aim for. This is ingrained in me after more than 15000 hours of doing LabVIEW. As such, it is very difficult to override this instinct and code "messily" just to try and get all the functionality in.
  3. Does anybody know of a good way to find out the latest runtime engine that can be downloaded from ni.com? What I mean is a permanent link to a page with the latest version listed only? i.e. just show the latest runtime for Windows/Mac/Linux I know that ni.com/src does have a list of all the software, but it can be tricky to find what you actually want.
  4. Like Lewis I also took the exam today, however I chose not to use the sample templates. Same result though, I and also ran out of time
  5. Glad that helped you. I also prefer the fact that it creates a single setup.exe file, rather than the way the NI installer creation creations (I think) .msi Inno setup makes it quite easy to run other things as well as part of the setup, so you can install (for example) .net or the LabVIEW runtime etc.
  6. I use Inno Script Studio to generate the actual installer. There is nothing I can actually think of that caught me out, other than it just took some time to figure everything out (like admin rights, banner graphics, unlocking directories etc).
  7. I recently had a lot of problems with using the App Builder to create an installer. In the end I gave up and used Inno Setup and was pleasantly surprised.
  8. Mike, not sure if this will help you, but if you add NI_Appbuilder_logging=TRUE to your LabVIEW.ini file then you will get a comprehensive build log for your .exes and installers. If your installer is failing to build just scroll down to the last line and see if there is a more verbose error message there. The log file is in the same directory as the .lvproj
  9. Hi Lewis, I am also taking my CLED next Tuesday (you taking yours in Newbury, right?) and will probably not be using the sample projects, although I may borrow bits and pieces. You are probably right in that the exam will be quite a close match to the sample project, but I think you would have to spend too much time modifying it to meet the new requirements.
  10. It would be nice if all of the VIs in the NI_WebServices.lvlib were not password protected.
  11. Greg, I do not have 2010 installed either, but here is a picture maybe you can recreate it from this?
  12. Looks neat. Am going to tinker with this .net control too if I get a chance. Just a heads up, I know this was just a proof of concept, but you probably don't want to be creating all those objects inside the loop.
  13. I had so many problems with Dropbox (and SugarSync) trying to sync source/builds across machines I gave up completely and now just rely on my VCS.
  14. Tim, Sorry I have just looked at the screenshot I posted, there is a bug in that the case structure downstream of my variant cache lookup has a False constant wired to it. This was for testing purposes when I was comparing the speed and correctness of the new algorithm. This constant should actually be replaced with the output from the variant attribute lookup. Neil
  15. Hi Tim, I have already cloned the repository, I just wanted to be polite before pushing back my changes. There is actually logic checking the dependency cache, its just before the case structure. If the attribute lookup is not found then it is added, this is how items get in the cache. At the moment I am totally snowed in with work, so I do not think I will get time for several weeks (probably longer) to tinker with this anymore. Unfortunately for the project I was going to use it in has several thousand VIs and performance with this is just a bit too slow, so I ended up writing my own for my particular use case. I am most interested in being able to interact with clone VIs, so I used the FGV method and add the VI names to a cache when they are launched. This works really very well for my application, so is probably about as far as I need to take it for now.
  16. Joe, I was able to fix my issue by re-creating the single VI that was not working properly. Thankfully I have only seen this issue on one occasion, but now several others have also reported very similar problems. This is not a very satisfying situation where you no longer have faith that the code is actually going to do what you tell it to do...
  17. Sorry Chris, never got the the bottom of it. I am glad I had read this thread before it happened to me as otherwise I would have thought I was going crazy! I have a suspicion (based only on a tiny bit of evidence) that the problems arise when renaming class VIs. I am pedantic about having the VI name match what the VI is actually doing, so will often rename a VI as my code/API iterates. Now normally this does not cause any problems, however I have seen instability when I rename a VI to something that a different VI used to be called. It's like there is some form of stale code path somewhere that gets invoked. I did not try cleaning out my VI Object cache, that may have helped... Also, in the past (LV2011) I had some success with a crashing class by erasing the class mutation history. Again I did not try this this time as it was just quicker to recreate the offending VI from scratch and move on.
  18. I usually unbundle and then rebundle. It depends... sometimes I do but it depends on how deep in the call hierarchy the code exists in. If I have a Manager type class then I normally like to not expose the inner working (i.e. private classes) so that the "Block" class never actually gets exposed to the outside world, i.e. there is no get/set "Block" accessor in Executive Functionality. This can be a pain though as it often feels like you are writing the same method for various levels of the hierarchy.
  19. Yeah I also think something is fishy. I know Registry IO is cheap, but I would prefer it not to be going on all the time. Perhaps will try and re-install/repair the License Manager
  20. Didn't know about that option in the LM! Just checked it, and mine is blank (as I would expect as this PC has never been part of a volume license scheme). Hmmm....
  21. Just curious, does anybody know why LabVIEW.exe is querying some Flexlm License Manager registry keys (which do not even exist on my PC) very regularly? See attached picture.
  22. Hi all, If I get time I would like to refactor "Get All VIs in Memory.." that and its parent VI to remove a lot of the duplicate operations and array manipulations. For now though an easy performance boost is to cache the VI Dependencies. I have used variant attributes as a quick and dirty cache, as shown. I get approx 50% speedup for large projects (> 2500 VIs). With a bit of thought I am sure it can also be applied to the other temporary arrays that are used in this VI. Comments? The VI attached is saved in 2013. Get All VIs in Memory Including statically-referenced Reentrant Clones.vi
  23. Today I learned you can pass an I32 into the To Upper Case prim. Did this totally by accident. Has anybody ever used this feature before?
  24. I always put File-->Exit on every application that has a menu-bar, however my personal preference (as others have also said) these days is to handle the Panel close event so I put in both. To me the only no-no is a big fat Exit button on the GUI.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.