NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Create a Docker container for TestStand

Hello,

 

I am in the process of trying to create a Docker container to run TestStand / VeriStand / LabVIEW / DAQmx / Python to communicate to a NI RT Linux PXI computer over the VeriStand Gateway.

 

I know how to create the containers but do not know where to download the location to use to download the NI software packages. I will be using NI Package Manager in silent mode but it used to be in https://download.ni.com/support/nipkg/products/ni-package-manager and TestStand was in https://download.ni.com/support/nipkg/products/ni-t ... but they have both moved.

 

I can use the path 

https://www.ni.com/en/support/downloads/software-products/download/packaged.teststand.494502.html for TestStand 2023 Q4. As part of the RUN nipkg.exe line, I have to add a --name for the feed. What name should be used? How will I determine the name for all of the other NI software packages to install?
 
Also, need to know where I can download the NI Package Manager?
 
Thanks.
Randy
0 Kudos
Message 1 of 5
(174 Views)

Hi Randy,

 

have you already considered to NOT use the official feeds but create / host your own (internal) one?

 

We have done this in the context of a conpany standard LabVIEW (+) installation.

 

Benefits: you install yout toolchain on a pristine machine, check if everything works and build a repo from this configuration...

 

You don't have to mess around with official URLs, missing dependencies, ... depending on the level of optimization you're after, you can even shrink down the size of the package repo...

As a reference: since we are in a transition phase, we distribute three versions of LabVIEW and two versions of TestStand + Drivers.... the Repo is ~5GB.... compared to 20+GB you get for a single LV Version incl Drivers when downloading the ISO.

Just as a thought

Oli

0 Kudos
Message 2 of 5
(141 Views)

We have created this image few years back:

 

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8
ARG SERIALNUMBER

SHELL ["cmd", "/S", "/C"]


ADD https://download.ni.com/support/nipkg/products/ni-package-manager/installers/NIPackageManager22.5.0.exe .

RUN NIPackageManager22.5.0.exe --passive --accept-eulas --prevent-reboot &&\
 del NIPackageManager22.5.0.exe & exit 0

RUN setx /M PATH "%PATH%;/Program Files/National Instruments/NI Package Manager"

RUN nipkg.exe feed-add --name=ni-teststand-2019-2019-released https://download.ni.com/support/nipkg/products/ni-t/ni-teststand-2019/19.0/released &&\
    nipkg.exe update
   
RUN nipkg.exe install --yes --accept-eulas ni-teststand-2019  & exit 0   
RUN nipkg.exe install --yes --accept-eulas ni-teststand-2019-tools  & exit 0
RUN nipkg.exe install --yes --accept-eulas ni-teststand-2019-process-models-source  & exit 0
RUN nipkg.exe install --yes --accept-eulas ni-teststand-2019-process-models-runtime  & exit 0
RUN nipkg.exe install --yes --accept-eulas ni-teststand-2019-runtime-fx40-support  & exit 0


RUN setx /M PATH "%PATH%;/Program Files/National Instruments/TestStand 2019/Bin"
RUN setx /M PATH "%PATH%;/Program Files (x86)/National Instruments/Shared/License Manager/Bin"

RUN regsvr32.exe /s "C:\Program Files\National Instruments\TestStand 2019\Bin\teapi.dll"

RUN nilmUtil.exe -s -activate "TestStand_DebugDeploy_Pkg" -version "19.0000" -serialnumber "%SERIALNUMBER%" -firstname "CI Pipeline" -lastname "CI Pileline" -organizationname "CI Pipeline" 
    
RUN more "./ProgramData/National Instruments/License Manager/Licenses/TestStand_DebugDeploy_Pkg_190000.lc"

WORKDIR ./Program Files/TeststandCLI/
COPY . .
RUN register_dlls.cmd "C:\Program Files\National Instruments\Teststand 2019\"

RUN dotnet build --configuration Release
RUN setx /M PATH "%PATH%;/Program Files/TeststandCLI/TeststandCLI/bin/Release/net48"

WORKDIR /

 

If i recall there was some trickery to register dlls manually like teststand version selector is doing

0 Kudos
Message 3 of 5
(96 Views)

Hi Oli,

 

I have thought about managing my own internal feeds especially since the latest 2025 versions of TestStand and VeriStand do not work together and have to downgrade to 2023Q3/4 versions.

 

This approach may make the most sense and should make the container build simpler.

 

Thanks for making me see the light.

 

Randy

0 Kudos
Message 4 of 5
(45 Views)

This script is where I was starting from and started asking the questions as to where to find the latest versions / feeds after looking at it. I think it will be easier to modify this script if I manage the software locally like Oli suggested.

 

Thanks

 

Randy

0 Kudos
Message 5 of 5
(44 Views)