Mastering Teststand Deployment Images J. Eagar, Control4 1-7-2016.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

2010 Dynamics GP Client Conference
Lecture 10 Sharing Resources. Basics of File Sharing The core component of any server is its ability to share files. In fact, the Server service in all.
KEVIN DANIELS ECLIPSE. OVERVIEW Integrated Development Environment (IDE) Usually used to develop applications in various programming languages (C, C++.
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
Python Programming Chapter 1: The way of the program Saad Bani Mohammad Department of Computer Science Al al-Bayt University 1 st 2011/2012.
Review Writing XML  Style  Common errors 1XML Technologies David Raponi.
© 2005 EMC Corporation. All rights reserved. Module 9 Workflows.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
Certified for Windows Vista. Introducing the Windows Vista Logo Programs.
National Instruments Confidential Deployment Techniques for LabVIEW ™ Applications Kennon Cotton LabVIEW R&D Group Manager.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
GAME:IT Junior Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game.
Android 6: Testing and Running the App Kirk Scott 1.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course provides an overview of the installation and.
Electronic Field Study Administrative Training
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
1999 Cabletron Systems. Wireless Networking RoamAbout RoamAbout Installation Installation/Configuration of: Network adapter card on a: Windows 95 system.
ICP Kit 2011 HHC Data Entry Module The World Bank ICP Kit Training African Development Bank.
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
POWERPOINT DESIGN creating a truly well-designed PowerPoint is easy
General Programming Introduction to Computing Science and Programming I.
Playing Music in Alice By David Yan Under the direction of Professor Susan Rodger July 2015.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
Guideline: How to build AMSS source code? History: 01/02/ Make Draft 05/02/2010 – Release /02/2010 – Updated.
Scalable Game Development William Roberts Senior Game Engineer
Drexel University Software Engineering Research Group Git for SE101 1.
© Blackboard, Inc. All rights reserved. Deploying a complex building block Andre Koehorst Learning Lab Universiteit Maastricht, the Netherlands July 18.
Windows Tutorial Common Objects ACOS: 1, 4. Using the Taskbar 1. Using the taskbar, you can switch between open programs and between open documents within.
® 2-2 Projects 2.1Projects Overview Bootable Projects and VxWorks Configuration Integrated Simulator Downloadable Projects Build Specifications.
Forms and Server Side Includes. What are Forms? Forms are used to get user input We’ve all used them before. For example, ever had to sign up for courses.
Playing Music in Alice By David Yan Under the direction of Professor Susan Rodger July 2015.
 Tips and Tricks for Using StarTeam More Effectively StarTeam 3002 Preconference Tutorial.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 8 Debugging, Creating Executable Files, and Distributing a Windows Application.
Setting up Cygwin Computer Organization I 1 May 2010 ©2010 McQuain Cygwin: getting the setup tool Free, almost complete UNIX environment emulation.
Optimizing Your Computer To Run Faster Using Msconfig Technical Demonstration by: Chris Kilkenny.
What is a port The Ports Collection is essentially a set of Makefiles, patches, and description files placed in /usr/ports. The port includes instructions.
CS320n –Visual Programming More LabVIEW Foundations.
THIS PRESENTATION: WINDOWS UPDATES VIA AUTOMATIC DEPLOYMENT RULES BEST PRACTICES SYSTEM CENTER CONFIGURATION MANAGER 2012 R2 Jodie Gaver Jodie Gaver Working.
Deploying Software with Group Policy Chapter Twelve.
Matthew Glenn AP2 Techno for Tanzania This presentation will cover the different utilities on a computer.
Copyright© ANRITSU Craig Hendricks Sr. Wireless Business Development Manager August 4 th, 2014 SmartStudio Manager (SSM) Operation (For SSM Version 1.2.0)
Debugging In Flex Nick Kwiatkowski. Debugging Overview Debugging your applications helps you as a developer create smooth running applications Not just.
Introduction to Eclipse Programming with an Integrated Development Environment.
Open project in Microsoft Visual Studio → build program in “Release” mode.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Lecture 7 Conditional Scripting and Importing/Exporting.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
Using Workflow With Dataforms Tim Borntreger, Director of Client Services.
Time to apply stuff… Faculty of Mathematics and Physics Charles University in Prague 5 th October 2015 Workshop 1 – Java Wrestling.
1 Data Manipulation (with SQL) HRP223 – 2009 October 12, 2009 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This.
GLAST Science Support Center June 29, 2005Data Challenge II Software Workshop User Support Goals For DC 2 James Peachey GSFC/L3.
Working with ASP.NET Controls What is ASP.NET Using server controls in your pages Allowing users to create their own accounts Creating a login page Letting.
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
CACI Proprietary Information | Date 1 PD² SR13 Client Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8, 2011.
Troubleshooting Dashhawk Issues. Here's what you have to do to have the DashHawk run properly Go to the ACTUAL PROGRAM file (not the short cut)
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
Downloading and Installing GRASP-AF Workshop Ian Robson Information Analyst, North of England Cardiovascular Network.
HOW TO FIX MSVCR100. DLL IS MISSING ERROR? missing-error.
Release Numbers MATLAB is updated regularly
Instructor: Prasun Dewan (FB 150,
WEBINAR: Integrating SpiraTest with JIRA
Emmanuel Ormancey - Michel Christaller
Electronics II Physics 3620 / 6620
SSDT and Database Project Basics
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Fast-Track UiPath Developer Module 2: Getting to Know UiPath Studio
Framework Anil
Presentation transcript:

Mastering Teststand Deployment Images J. Eagar, Control

Overview  What TestStand deployment images are and why you would want to use them  Licensing considerations for deployment images  How to use TestStand's Deployment Utility to create deployment images and installers  Common problems and pitfalls with the deployment utility  How to architect your test sequence to minimize problems with the deployment utility

What are Testststand Deployment Images?  Teststand Deployment Images are conceptually analogous to a built executable in LabVIEW.  Both Teststand Deployment Images and LabVIEW executables serve the same purpose—they both package all of the core code dependencies into a read-only form that can be installed onto test systems that just have runtime engines installed.  There are some significant gotchas when you work with deployment images so think of them conceptually like LabVIEW executables but do not treat them as executables and do not think of the deployment utility as the same as LabVIEW’s application builder.

Why would you want to use Teststand Deployment Images?  Scalability  Deployment Images solve some core problems with scaling up test sequences in production.  Cost  Consistency  Traceability  Protect intellectual property  Flaws in the deployment utility force better code practices  Enforces process flow

Why would you want to use Teststand Deployment Images? (Scalability)  Cost  A typical single seat of Teststand and LabVIEW is ~$10,000 vs $500 for a base Teststand Deployment license  Quickly adds up for a15+ test platform installation  $7,500 vs $150,000 in licensing costs  Consistency  No source code on production testers means no temptation to ‘Tweak’ in code under pressure  Traceability  Read-Only Deployment images are versioned. This allows you to have a high level of confidence that what the product was tested with was what is approved

Why would you want to use Teststand Deployment Images? (Scalability)  Protect Intellectual Property  Mostly for code going to off-shore partners or sub- contractors. Allows you to NOT ship the source code with the test sequence.

Why would you want to use Teststand Deployment Images? (Better coding through flawed tools)  Flaws in the deployment utility force better code practices  Deployment utility treats your code as if it  Follows best coding practices  Doesn’t contain any partially completed development remnants  Won’t have any complex linking issues post re-linking*  This includes third-party libraries and drivers…  If your code is not all of the above you will randomly hit brick walls until it does.  Very painful when under deadlines  You have been warned

Why would you want to use Teststand Deployment Images? (Enforces Process Flow)  Enforces Process Flow  Deployment Images give you a “release candidate” for a test sequence.  Discreet versioned package that can be signed off on.  Reduces pressure for “can you just make one little change please”

Licensing considerations for deployment images  Base Deployment ~$500  Debug Deployment ~$2,200  Can be included in Ni Enterprise Agreements

Licensing considerations for deployment images

How to use TestStand's Deployment Utility to create deployment images and installers

Starting The Deployment Utility

The Mode Tab  The Mode Tab is where you can change versioning for the deployment image ( it will auto increment )  For new deployments most of the options are grayed out  If you build a deployment and then save it you will get additional options if you want to use patches  Patches reduces the size of new deployment images by only including changed files in the deployment image  Good idea in concept. In practice I never touch anything on this tab.

System Sources Tab

The System Sources Tab  Used to select where the build utility gets the source files from and where to put the deployment image  Most common selections are  Check the “From Teststand Workspace File option”  Browse to your Teststand workspace (File->New in Teststand if you don’t have one)  Change the Location of the Deployment Images to a build directory  Warning:: Whatever directory you put for the location of the deployment image should be empty  I don’t recommend using the use directory option

Concerning Teststand Workspace Files  Extremely crude compared to LabVIEW project manager  No Auto-updating folders  Deployment utility won’t pickup unsaved changes

Distributed Files Tab

Distributed Files Tab Post Analysis

Distributed Files Tab  Always double check where your source files are coming from are where you think they are coming from  Note the “Include without Processing Item or Dependencies checkbox”  If all you use the workspace and project file for is the deployment you can safely uncheck them.  Some older versions of the deployment utility (2009) would randomly corrupt the deployment script if you unchecked some files. This was fixed in newer versions. If you see this error then start over and don’t uncheck anything

Installer Options Tab

 If you are creating an installer then this tab allows you to configure it  Pretty straightforward, only real tricky part is knowing which additional NI installers you need to include  VISA?  NI-DAQ?  Etc

Build Status Tab

 Most frustrating Tab NI has ever created  Outputs cryptic nonsensical error messages  Most of the time more useless than not

Building the Deployment and Installer Press Build If everything is working correctly than it will spit out some status text and eventually a build complete message. A new deployment image will be located in the deployment directory specified and a new installer will be in the installer directory specified

Common problems and pitfalls with the deployment utility  If anything goes wrong with the build then the error message probably has nothing to do with what is actually going wrong  Even if the deployment utility builds successfully you have no guarantee the deployment image will work. Test everything  Running vis in a deployment environment has less overhead than in a development environment, this can cause subtle timing differences that can change the test  Deployment images that just use raw vis are dangerous to open in a development environment

Tools and Techniques to fix deployments that just aren’t working  Load all your vis into a LabVIEW project and check for dependency issues  Create a LabVIEW auto opener vi

LabVIEW Auto opener

LabVIEW Auto Opener Explanation  The LabVIEW Auto Open works by opening up all of the vis in a directory and trying to load and then save them.  This will recover any vi with bad dependency links by auto finding them or letting you choose where to find them if needed  It will also find any broken vis and leave them open for further review

Best Practices to minimize problems with the deployment utility  Use LabVIEW Packed Project Libraries  Necessary Vis from vi.lib will get built into the Packed Project Library  LPP’s can be run under the LabVIEW runtime without modification  Remember to use the “do not check dependencies option”

Best Practices to minimize problems with the deployment utility  Use good relative paths  Single Main Sequence in Root Folder  SupportFiles Directory for packed project libraries, DLLs, limit files, and whatever else needs to be deployed  Source Directory for sequence specific vis  Source directory should have a LabVIEW project that builds a packed project library in the SupportFiles Directory.  Debug vis in source, change the sequence to use the packed project library when the code is stable

Best Practices to minimize problems with the deployment utility  Avoid Library Conflicts! When you build your PPLs if you reference any DLLS apply a prefix to them so they don’t fight

Best Practices to minimize problems with the deployment utility  Once all vis are built into packed project libraries and all paths are relative you technically don’t need to build a deployment image.  Very difficult to get to this point!  Still useful to do for versioning, installers, process flow, etc

Best Practices to minimize problems with the deployment utility  The less you have to rely on the Deployment Utility the more success you will have with it.

Questions?