Filtering and Excluding Files

TestStand 2017 Help

Edition Date: November 2017

Part Number: 370052W-01

»View Product Info

Download Help (Windows Only)
NI TestStand 2014 Help
NI TestStand 2014 SP1 Help
TestStand 2016 Help
TestStand 2016 SP1 Help
TestStand 2017 Help

You can filter and exclude dependencies that you do not want to include in a deployment in the following ways:

  • Filter files that you want to enable or disable when you create the deployment with the deployment utility. TestStand adds filtered files to the list of distributed files but does not include the files in the deployment by default. You must manually include the files.
  • Exclude files that you are sure you never want to include in a deployment. TestStand does not add excluded files to the list of distributed files, even if the files are dependencies of included files.

For example, do not include a Microsoft Windows system DLL a TestStand step calls because deploying a Windows system DLL from a development computer that runs Windows 10/8.1/7 to a test station computer that runs Windows XP might result in operating system incompatibility issues. Do not include TestStand files the TestStand Runtime installs, such as DLLs from the <TestStand>\Bin directory. Install the TestStand Runtime rather than individual TestStand files to ensure you install all necessary dependencies. Do not include Microsoft Visual Studio and LabWindows/CVI files. Install these files with the corresponding run-time engine.

Filtered Files

Use file filtering based on directories and file extensions to remove dependencies you are not likely to need in the deployment. For example, the deployment utility filters executables from the Windows directory because those files most likely are part of the operating system on the test station computer.

The Distributed Files list on the Distributed Files tab of the deployment utility displays filtered files but does not enable the files to include in the deployment. You must manually enable filtered files to include them in the deployment. By default, the deployment utility filters the following types of files as dependencies:

Note Note  Use caution when you include filtered files in a deployment to prevent incompatibility issues on the test station computer.

Excluded Files

Use exclusions to specify directories where dependent EXEs and DLLs should not be included in the deployment. For example, National Instruments excludes DLLs that might cause incompatibility issues if you include them in a deployment. Exclusions apply to code modules specified by a step and the dependencies of those code modules. The Distributed Files list on the Distributed Files tab of the deployment utility does not display excluded files to prevent you from accidentally including the files in a deployment. To include an excluded file in a deployment, you must manually add a reference to the excluded file in the TestStand workspace.

Notes Notes
  • Use caution when you include excluded files in a deployment to prevent incompatibility issues on the test station computer.
  • Exclusions do not apply to dependencies of LabVIEW files, including VI code modules, subVIs, or DLL dependencies of LabVIEW code modules.

Editing the Filter.ini File

You can edit the Filter.ini file located in the <TestStand Application Data>\Cfg directory to prevent including unwanted files in a deployment and to customize the files the deployment utility filters and excludes from deployments. National Instruments recommends that you use the default values in the Filter.ini file and that you do not remove items from the file but instead add custom exclusions or filters.

Each of the following sections in the Filter.ini file contains filters, which are regular expressions that use the Match Pattern Function VI syntax.

SectionSyntaxDescription
[Version]Version="Number"Version number of the Filter.ini file. The deployment utility only uses Filter.ini files with a later version number than the default file version number. If the version number is earlier than the deployment utility expects, the deployment utility overwrites the file with the default Filter.ini file. Increment the version number of the Filter.ini file when you want to move a Filter.ini file from a previous version of TestStand.
[Exclude_Company_Product]COMPANY_#="Name of company"
PRODUCT_#="Name of product"
Excludes executables or DLLs with company and product name properties that match the regular expressions, which can contain wild card characters to match multiple products. For example, "Microsoft.?.?.?.?.?.?.?Windows" matches "Microsoft Windows" and "Microsoft Windows NT".
[Excluded_Filenames]FILE_#="Name of the file to filter, including file extension"Excludes DLLs with the names you specify. Use this exclusion for DLLs that do not have company or product information or when you want to use some but not all DLLs from a product.
[Excluded_Dirs]DIR_#="Name of directory"Excludes all EXE and DLL dependencies in the directory you specify.
[Windows]FILTER_#="Regular expression"Filters any file that matches the regular expression in the Windows directory.
[System32] FILTER_#="Regular expression"Filters any file that matches the regular expression in the Windows\System32 directory.
[TestStand] FILTER_#="Regular expression"Filters any file that matches the regular expression in the <TestStand> directory.
[TestStandPublic] FILTER_#="Regular expression"Filters any file that matches the regular expression in the <TestStand Public> directory.

Filtering Examples

Use the [Exclude_Company_Products], [Excluded_Filenames], and [Excluded_Dirs] sections to exclude DLLs by company name, product name, filename, or directory location. The Filter.ini file uses the company name or product name of a DLL because some applications, such as Microsoft Office, can install to any directory. The Filter.ini file uses filenames of DLLs because some DLLs do not define company or product names.

The following table includes examples to help you define a filter.

Use Case Section Syntax Example Scenario Example Filter More Information
Exclude components from a product of a certain company [Exclude_Company_Product] COMPANY_#="Name of company"
PRODUCT_#="Name of product"
Exclude all TestStand and LabWindows/CVI files [Exclude_Company_Products]
COMPANY_0="National Instruments"
PRODUCT_0="TestStand"
COMPANY_1="National Instruments"
PRODUCT_1="LabWindows.CVI"
During deployment, the deployment utility checks the version information strings for company and product names for all included files and excludes the matching files.
Exclude all files that have a certain filename [Excluded_Filenames] FILE_#="Name of the file to filter, including file extension" Exclude all files named readme.txt or image.jpg [Excluded_Filenames]
FILE_0="readme.txt"
FILE_1="image.jpg"
The [Excluded_Filenames] section does not support regular expressions.
Exclude all files from a certain directory [Excluded_Dirs] DIR_#="Name of directory" Exclude all files from the Program Files directory and files from the Windows public directory [Excluded_Dirs]
DIR_0="Program Files"
DIR_1="Program Files (x86)"
DIR_2="Users\Public"
You do not have to specify a full directory path. The filter excludes any directory with a name that matches the specified regular expression.
You can also use the predefined [Windows], [System32], [TestStand], and [TestStandPublic] sections to exclude files from those directories and their subdirectories. You can also create a custom section with a name that is the absolute path of a directory to exclude files from the directory. Enter a regular expression for the filter to specify the files you want to exclude. FILTER_#="Regular expression" Exclude all executable files from the Windows and Windows\System32 directories and their subdirectories [Windows]
FILTER_0=".*exe"

[System32]
FILTER_0=".*exe"
Exclude all files from the <TestStand>\Bin directory [TestStand]
FILTER_0="BIN\.*"
Exclude all .txt and .jpg files from the C:\Users directory and its subdirectories [C:\Users]
FILTER_0=".*txt"
FILTER_1=".*jpg"

WAS THIS ARTICLE HELPFUL?

Not Helpful