Table Of Contents

Control File Attributes

Last Modified: August 13, 2018

The control file contains metadata describing properties and relationships of the package, such as its name, version, type, and dependencies. Both File packages and WinInst packages require a control file. Package Manager generates the package according to the metadata in the control file. The control file is a text file without an extension.

Attribute Name Required Type Default Description Details Example
Package Yes String N/A

Specifies a unique identification for a package.

A package name must be a unique, user friendly string that a customer would type on the command line:

  • It must consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.).
  • It must be at least two characters long.
  • It must start with an alphanumeric character.
  • It must not contain uppercase letters.
  • Max length: 58 characters

Expected values:

  • The name must match the regular expression ^[a-z0-9][a-z0-9.+-]{2,}$
  • NI recommends that you start the name of your package with your company name followed by a dash (ex: ni-testpackage)

Good syntax:

  • Package: ni-labview-2015
  • Package: ni-daqmx
  • Package: ni-daqmx-labview-2015-support

Bad syntax:

  • Package: LabVIEW_2015
  • Package: NationalInstrumentsGPIB
  • Package: labview
Version Yes String N/A

Specifies the version number of the package.

Use the debian format. For more information, visit https://www.debian.org.

Version: 17.1.0.1
Section No String NULL

Specifies the application area in which the package is classified.

Expected values:

  • Programming Environments
  • Application Software
  • Add-Ons
  • Drivers
  • Runtime
  • Utilities
  • Documentation
  • Infrastructure
Section: Application Software
Architecture Yes String N/A

Indicates the OS architecture supported by the package.

Expected value: windows_x64

Architecture: windows_x64
Depends No String relationship array NULL Declares an absolute dependency. N/A See the String Relationship Array section for an example.
Recommends No String relationship array NULL

Declares a strong dependency that is not absolute.

Lists packages that would be installed with this one in most situations.

Declare the dependency only to packages with XB-UserVisible set to yes.

See the String Relationship Array section for an example.
Suggests No String relationship array NULL

Declares that one package may be more useful with one or more other packages.

Notifies Package Manager and the user that the listed packages are related to this one, but not required.

Declare only to packages with XB-UserVisible set to yes.

See the String Relationship Array section for an example.
Conflicts No String relationship array NULL

Declares a conflict between one binary package and another.

Package Manager will not install conflicting packages on a system at the same time.

See the String Relationship Array section for an example.
Provides No String relationship array NULL Declares that the package satisfies an absolute dependency of another package. N/A See the String Relationship Array section for an example.
Replaces No String relationship array NULL

Declares that the package replaces other packages.

Conflicts should be used in conjunction with Replaces.

See the String Relationship Array section for an example.
Supplements No String relationship array NULL

Declares that a package supplements the functionality of another package.

Declare only to packages with XB-UserVisible set to yes.

See the String Relationship Array section for an example.
Enhances No String relationship array NULL

Declares that a package enhances the functionality of another package.

Declare only to packages with XB-UserVisible set to yes.

See the String Relationship Array section for an example.
Installed-Size No Long integer 0

Provides an estimate of the total amount of disk space required to install the package.

Expected value: an integer value of the estimated install size in bytes, divided by 1024 and rounded up.

Installed-Size: 25485141
Maintainer Yes String N/A

The package maintainer's name and email address.

Expected values: the name of the maintainer followed by the email address inside angle brackets.

Maintainer: National Instruments <support@ni.com>
Description Yes Multi-line N/A

Provides a description of the binary package.

Consists of two parts: the single-line synopsis and the multi-line long description.

NI recommends using two white space characters between the synopsis and the long description.

See the Multi-line Attributes section for an example.
Homepage No String NULL The URL that the package vendor uses to provide more detailed information about the package. N/A Homepage: http://www.ni.com
XB-Plugin Yes String NULL

The Agent used to install the package.

Expected values:

  • file
  • wininst
XB-Plugin: file
XB-ReleaseNotes No Multi-line NULL Release notes for the package. N/A See the Multi-line Attributes section for an example.
XB-StoreProduct No Boolean no

Specifies whether the package is a product in the NI store.

You must set the value to y for the package to appear as a Product in the Package Manager GUI.

Expected values:

XB-StoreProduct: no
XB-UserVisible No Boolean no

Specifies whether Package Manager displays the package.

Expected values:

XB-UserVisible: no
XB-DisplayName No String NULL User friendly package name. N/A XB-DisplayName: NI LabVIEW 2017
XB-DisplayVersion No String NULL User friendly display version. N/A XB-DisplayVersion: 15.0.0

XB-Message

or

XB-Message-1, XB-Message-2, etc.

No Multi-line N/A

Contains an important message that Package Manager displays before installing the package.

Consists of two parts, a header and a body.

This message is always displayed in Package Manager when the package is installed, and it cannot be conditional.

NI recommends you create preformatted text for each line of the body using two spaces at the beginning of each line.

See the Multi-line Attributes section for an example.

String Relationship Array

Package Manager expects a string relationship array, or a list of package names separated by commas, as the value of control file attributes that declare relationships.

Format these attribute values according to the following syntax rules:

  • Separate package names using commas.
  • Separate alternative package names for any dependency using vertical bars. This indicates that any one of the alternative packages listed satisfies the dependency.
  • Include version requirements for a package in parenthesis following the name of the package. You can restrict the applicability of each package to particular versions in all of the string relationship array fields except for Provides.
  • Inside the parenthesis, use one of the following operators followed by a version number to indicate the relationship between the package and version. You can use white space in the version specification.
    Operator Relationship
    << strictly earlier
    <= earlier or equal
    = exactly equal
    >= later or equal
    >> strictly later
    spd-note-note
    Note  

    Do not use < or >. Package Manager interprets these as <= and >=, respectively.

In the following example, the Depends attribute declares a dependency on package01 version 2.2.1 or later, and states that package03 is an alternative package that satisfies the dependency on package02.

Depends: package01 (>= 2.2.1), package02 | package03

Multi-line Attributes

The value of a multi-line attribute consists of a single-line synopsis followed by additional lines that provide an extended description.

The first line of a multi-line attribute is reserved for the attribute name followed by a single-line synopsis. Provide a short description or heading for this portion of the attribute. XB-ReleaseNotes attributes do not use a single-line synopsis.

The extended description contains additional details you provide for the attribute. Format the extended description of a multi-line attribute according to the following rules:

  • Create a paragraph using a single space at the beginning of a line. When displaying this text, the displaying program removes the leading space and uses word wrapping. A paragraph must contain at least one non-whitespace character.
  • Preserve whitespace and line breaks within text using two or more spaces at the beginning of a line. If the display area does not scroll horizontally and a line is too long to fit, the displaying program creates line breaks where necessary.
  • Create a blank line using a single space followed by a period.

The following text provides an example of how you can use the formatting rules for multi-line attributes to enter text for the Description element:

Description: Example of multi-line attribute contents.
 The single space at the beginning of this line creates a paragraph. 
 .
  The double space at the beginning of these lines creates preformatted
  text that preserves whitespace and line breaks.

Recently Viewed Topics