制御ファイルは、名前、バージョン、タイプ、および依存項目など、パッケージのプロパティと関係を記述するメタデータを含む、拡張子のないテキストファイルです。制御ファイルは、ファイルパッケージとWinInstパッケージの両方に必要です。パッケージマネージャは、制御ファイルのメタデータに従ってパッケージを生成します。

属性名 必須 タイプ デフォルト 説明
Architecture はい 文字列 N/A パッケージでサポートされているOSアーキテクチャを示します。
期待値:
  • windows_x64 (64ビットWindowsでのみインストール可能)
  • windows_all (32ビットWindowsのサポート終了により廃止)
Architecture: windows_all
メモ アーキテクチャは、パッケージにつき1つのみ指定できます。
Conflicts いいえ 文字列関係配列 NULL 1つのバイナリパッケージと別のバイナリパッケージの競合を宣言します。

パッケージマネージャは、競合するパッケージを同時にシステムにインストールしません。

XB-Pluginがeulaに設定されているパッケージでは、この値をni-package-managerに設定するとEULAパッケージがディスクにインストールされなくなります。

例については、「文字列関係配列」セクションを参照してください。
Depends いいえ 文字列関係配列 NULL 絶対依存関係を宣言します。
  • windows_x64 packages should only depend on windows_x64 and windows_all packages.
  • windows_allパッケージは、windows_allパッケージにのみ依存できます。
  • system-windows-x64という特別なパッケージは、64ビットの依存項目のプレースホルダとして使用できます。
例については、「文字列関係配列」セクションを参照してください。
Description はい 複数行 N/A バイナリパッケージの説明を提供します。

1行の概要と複数行の長い説明の2つの部分により構成されています。

NIでは、読みやすさを高めるため、概要と長い説明の間に2文字の空白を使用することを推奨しています。

オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。

例については、「複数行属性」セクションを参照してください。
Enhances いいえ 文字列関係配列 NULL パッケージが別のパッケージの機能を強化することを宣言します。

この属性は、XB-UserVisibleyesに設定されているパッケージでのみ使用します。

例については、「文字列関係配列」セクションを参照してください。
Homepage いいえ 文字列 NULL パッケージベンダがパッケージに関する詳細情報を提供するために使用するURLです。 Homepage: http://www.ni.com
Installed-Size いいえ 倍長整数 0 パッケージをインストールするために必要な合計ディスク容量を推定します。

期待値: 推定インストールサイズの整数値 (バイト単位) を1024で割って切り上げた値。

Installed-Size: 25485141
Maintainer はい 文字列 N/A パッケージメインテナーの名前とEメールアドレスです。

期待値: メインテナーの名前と、それに続く角カッコで囲まれたEメールアドレス。

Maintainer: National Instruments <support@ni.com>
Package はい 文字列 N/A パッケージの一意のIDを指定します。
パッケージ名は、ユーザにとってわかりやすく、コマンドラインで入力でき、以下の要件を満たす、一意の文字列である必要があります。
  • 小文字 (a~z)、数字 (0~9)、プラス記号 (+) およびマイナス記号 (-)、ピリオド (.) のみを含む
  • 英数字文字で始まる
  • 大文字を使用していない
  • 最小文字長は2
  • 最大文字長は58
期待値:
  • 正規表現 ^[a-z0-9][a-z0-9.+-]{2,}$ と一致する
  • NIでは、会社名の後にダッシュを付けてパッケージの名前を開始することを推奨 (例: ni-testpackage)

正しい構文:

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

正しくない構文:

  • Package: LabVIEW_2015
  • Package: NationalInstrumentsGPIB
  • Package: labview
Provides いいえ 文字列関係配列 NULL パッケージが別のパッケージの絶対依存関係を満たすことを宣言します。 例については、「文字列関係配列」セクションを参照してください。
Recommends いいえ 文字列関係配列 NULL 絶対的ではない強い依存関係を宣言します。

ほとんどの状況で、このパッケージとともにインストールされるパッケージを表示します。

XB-UserVisibleyesに設定されているパッケージのみを推奨します。

例については、「文字列関係配列」セクションを参照してください。
Replaces いいえ 文字列関係配列 NULL パッケージが他のパッケージを置き換えることを宣言します。

ConflictsReplacesと共に使用する必要があります。

例については、「文字列関係配列」セクションを参照してください。
Section いいえ 文字列 NULL パッケージを分類するカテゴリを指定します。
期待値:
  • Programming Environments
  • Application Software
  • Add-Ons
  • Drivers
  • Runtime
  • Utilities
  • Documentation
  • Infrastructure

XB-Pluginが eula に設定されるパッケージでは、この値を Infrastructure に設定する必要があります。EULAパッケージの作成に関する詳細は、「EULAパッケージを作成する」を参照してください。

Section: Application Software
Suggests いいえ 文字列関係配列 NULL 1つのパッケージが1つ以上の他のパッケージでより有用であると宣言します。

表示されたパッケージが、このパッケージに関連しているけれども、必須ではないことをパッケージマネージャとユーザに通知します。

XB-UserVisibleyesに設定されているパッケージのみを提案します。

例については、「文字列関係配列」セクションを参照してください。
Supplements いいえ 文字列関係配列 NULL パッケージが別のパッケージの機能を補完することを宣言します。

この属性は、XB-UserVisibleyesに設定されているパッケージでのみ使用します。

例については、「文字列関係配列」セクションを参照してください。
Version はい 文字列 N/A パッケージのバージョン番号を指定します。

debian形式を使用します。詳細については、https://www.debian.orgを参照してください。

Version: 17.1.0.1
XB-DisplayName いいえ 文字列 NULL ユーザにわかりやすいパッケージ名です。

オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。

XB-DisplayName: NI LabVIEW 2017
XB-DisplayVersion いいえ 文字列 NULL ユーザにわかりやすい表示バージョンです。 XB-DisplayVersion: 15.0.0
XB-Eula いいえ 文字列関係配列 NULL パッケージに必要なEULAパッケージを宣言します。 XB-Eula: eula-mycompany, eula-ni-standard
XB-EulaTitle いいえ 文字列 NULL EULAパッケージの表示タイトルを指定します。この属性は、XBプラグインが eula に設定されているパッケージでのみ使用してください。 XB-EulaTitle: My Software Name
XB-MessageCondition-#

以下に例を示します。

XB-MessageCondition-1XB-MessageCondition-2など

いいえ 文字列 N/A 対応するメッセージをパッケージマネージャに表示するときの条件を指定します。

使用できる条件はMSI条件のみで、<msi>...</msi>タグで囲む必要があります。CDATAブロックで囲まれていない限り、タグ内のテキストは「<」と「>」の文字を「&lt」と「&gt」のようにエスケープする必要があります。

XB-MessageCondition-1: <msi>VISA32COMPANYNAME ~&lt;&gt; "National Instruments"</msi>
XB-MessageCondition-2: <msi><![CDATA[VISA32COMPANYNAME ~<> "National Instruments"]]></msi>
XB-MessageText-# 例:

XB-MessageText-1XB-MessageText-2など

いいえ 複数行 N/A パッケージをインストールする前にパッケージマネージャが表示する重要なメッセージが含まれています。

ヘッダと本文の2つの部分から構成されます。

このメッセージを表示する条件は、以下にある対応するMessageCondition属性を使用して指定します。条件を指定しない場合、このパッケージをインストールしたときに必ずこのメッセージが表示されます。

NIでは、各行の先頭に2文字の空白を使用して、書式設定済みテキストを本文の各行に作成することを推奨しています。

オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。

XB-MessageText-1: This is my message header

This is my message body.

There are multiple lines.

XB-OsRequires いいえ 文字列 N/A パッケージに必要なOSバージョンを宣言します。

XB-OsRequires が指定されていない場合は、パッケージマネージャが現在サポートされているすべてのOSが許可されます。

Architecture 属性を使用してOSビット数の制限を定義します。

システムのOSがパッケージの XB-OsRequires を満たすことができない場合、そのパッケージはパッケージマネージャのGUIに表示されません。

パッケージに、より限定的な XB-OsRequires を持つ依存項目が含まれている場合、パッケージは、より限定的なOS要件を継承します。

例については、「OS要件」 セクションを参照してください。
XB-Plugin はい 文字列 NULL パッケージのインストールに使用されたエージェントです。
期待値:
  • eula
  • file
  • wininst
  • relative-file
XB-Plugin: file
XB-ReleaseNotes いいえ 複数行 NULL パッケージのリリースノートです。

オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。

例については、「複数行属性」セクションを参照してください。
XB-StoreProduct いいえ ブール no パッケージマネージャで、パッケージが製品かどうかを指定します。

製品のみがチェックされているときに、インストール済みタブとパッケージタブにパッケージを表示させるには、そのパッケージに対して値をyesに設定する必要があります。

期待値:
  • no
  • yes
XB-StoreProduct: no
XB-UserVisible いいえ ブール no パッケージマネージャがパッケージを表示するかどうかを指定します。
期待値:
  • no
  • yes

XB-Pluginが noに設定されるパッケージでは、この値を eula に設定する必要があります。EULAパッケージの作成に関する詳細は、「EULAパッケージを作成する」を参照してください。

XB-UserVisible: no
XB-VisibleForRuntimeDeployment いいえ ブール no NI Package Builderで依存項目が追加されたときにデフォルトでパッケージを表示するかどうかを指定します。
期待値:
  • no
  • yes
XB-VisibleForRuntime: yes

文字列関係配列

パッケージマネージャは、関係を宣言するコントロールファイル属性の値として、文字列関係配列またはカンマで区切られたパッケージ名のリストを必要とします。

これらの属性値は、以下の構文規則に従って構成します。

  • 複数のパッケージ名は、カンマを使用して区切ります。
  • 依存項目の代替パッケージ名は、縦棒を使用して区切ります。これは、リストされている代替パッケージのいずれによっても依存性が満たされることを意味します。
  • パッケージのバージョン要件は、パッケージ名の後に括弧で囲んで表記します。Providesを除くすべての文字列関係配列フィールドでは、各パッケージの特定のバージョンへの適用性を制限できます。
  • 括弧の中で、パッケージとバージョンの関係を示す以下の演算子の1つをバージョン番号の前に使用します。バージョン指定では空白を使用できます。
演算子 関係
<< 厳密に前
<= 以前
= 同じ
>= 以降
>> 厳密に後
!= 除外する

以下の例では、Depends属性はpackage01のバージョン2.2.1以降に対する依存性を宣言し、package03がpackage02に対する依存性を満たす代替パッケージであると述べています。

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

複数行属性

複数行属性の値は、1行の概要とそれに続く詳しい説明の行から構成されます。

複数行属性の最初の行は、属性名と1行の概要用に予約されています。属性のこの部分に、短い説明または見出しを入力します。XB-ReleaseNotes属性は1行の概要を使用しません。

詳しい説明には、属性に対する追加の詳細を入力します。複数行属性の詳しい説明は、以下の規則に沿って書式設定します。

  • 段落を作成するには、行の先頭に1つのスペースを使用します。このテキストを表示する際、表示プログラムは、先頭のスペースを削除してテキストの折り返しを使用します。段落には、空白以外の文字を少なくとも1文字含める必要があります。
  • テキスト内で空白と改行を保持するには、行の先頭に2つ以上のスペースを使用します。表示領域が水平方向にスクロールせず、行が長すぎて収まらない場合、表示プログラムは必要に応じて改行を作成します。
  • 空白行を作成するには、1つのスペースとそれに続いて1つのピリオドを使用します。

以下のテキストは、複数行属性の書式設定規則を使用してDescription要素にテキストを入力する方法の例です。

      Description: 複数行属性の内容の例。
 この行の先頭にある1つのスペースは段落を作成します。 
 .
  これらの行の先頭にある2つのスペースは、空白と改行を
  保持するフォーマット済みテキストを作成します。

OS要件

XB-OsRequiresバージョンには、Windowsオペレーティングシステムのバージョンを表す最大3個の整数フィールドが含まれています。 最初の2つのフィールドは、MicrosoftがOperating System Version (オペレーティングシステムのバージョン) で指定しているWindowsオペレーティングシステムのバージョンに対応しています。3つ目のフィールドは、MicrosoftがWindows 10 リリース情報で指定しているWindows 10オペレーティングシステムビルドのみに適用されます。

属性フィールドは、以下の構文規則に基づいて構成します。

  • フィールドはピリオドで区切ります。
  • 複数の要件はカンマで区切ります。
  • 代替要件は垂直バーを使用して指定します。垂直バーはカンマよりも優先されます。
  • この属性では、以下のオペレータがサポートされています。
    オペレータ 関係
    <<より小さい
    <=以下
    =等しい
    >=以上
    >>より大きい
    !=除外する
以下の表は、XB-OsRequiresの使用法の例を示しています。
結果の要件
XB-OsRequires: >=6.3
Windows 8.1以降が必要
XB-OsRequires: >=10.0, !=10.0.18363
Windows 10以降 (Windows 10 バージョン1909を除く) が必要
XB-OsRequires: >=6.3, <10 | >=10.0.18363
Windows 8.1以降、およびWindows 10よりも古い、またはWindows 10 バージョン1909よりも新しいOSが必要

属性のローカライズ

言語のサフィックスの付いた属性を含めると、パッケージマネージャのユーザインタフェースに説明、表示名、リリースノート、およびメッセージテキストがその言語で表示されます。

ローカライズされた属性を含めると、パッケージマネージャGUIに、説明、XB-DisplayName、XB-ReleaseNotes、およびXB-MessageText属性のテキストがその言語で表示されます。ローカライズされている属性には、属性名にハイフンと言語固有のサフィックスが付いています。パッケージマネージャGUIの言語と同じ言語の属性がない場合、ローカライズされていない属性テキストが使用されます。

たとえば、LabVIEWコントロールファイルには、以下のXB-DisplayName属性を含めることができます。
DisplayName: LabVIEW (64-bit) English
DisplayName-de: LabVIEW (64 Bit) – Englisch
DisplayName-es: LabVIEW (64 bits) – Español
DisplayName-fr: LabVIEW (64 bits) – Anglais
DisplayName-it: LabVIEW (64 bit) – Italiano
DisplayName-ja: LabVIEW (64ビット) 英語版
DisplayName-ko: LabVIEW (64비트) 영어 버전
DisplayName-zh-CN: LabVIEW(64位)英语版