制御ファイルの属性
- 更新日2025-10-21
- 18分で読める
制御ファイルは、名前、バージョン、タイプ、および依存項目など、パッケージのプロパティと関係を記述するメタデータを含む、拡張子のないテキストファイルです。制御ファイルは、ファイルパッケージとWinInstパッケージの両方に必要です。パッケージマネージャは、制御ファイルのメタデータに従ってパッケージを生成します。
| 属性名 | 必須 | タイプ | デフォルト | 説明 | 例 |
|---|---|---|---|---|---|
| Architecture | はい | 文字列 | N/A | パッケージでサポートされているOSアーキテクチャを示します。 期待値:
|
Architecture: windows_all
メモ アーキテクチャは、パッケージにつき1つのみ指定できます。
|
| Conflicts | いいえ | 文字列関係配列 | NULL | 1つのバイナリパッケージと別のバイナリパッケージの競合を宣言します。 パッケージマネージャは、競合するパッケージを同時にシステムにインストールしません。 XB-Pluginがeulaに設定されているパッケージでは、この値をni-package-managerに設定するとEULAパッケージがディスクにインストールされなくなります。 |
例については、「文字列関係配列」セクションを参照してください。 |
| Depends | いいえ | 文字列関係配列 | NULL | 絶対依存関係を宣言します。
|
例については、「文字列関係配列」セクションを参照してください。 |
| Description | はい | 複数行 | N/A | バイナリパッケージの説明を提供します。 1行の概要と複数行の長い説明の2つの部分により構成されています。 NIでは、読みやすさを高めるため、概要と長い説明の間に2文字の空白を使用することを推奨しています。 オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。 |
例については、「複数行属性」セクションを参照してください。 |
| Enhances | いいえ | 文字列関係配列 | NULL | パッケージが別のパッケージの機能を強化することを宣言します。 この属性は、XB-UserVisibleがyesに設定されているパッケージでのみ使用します。 |
例については、「文字列関係配列」セクションを参照してください。 |
| 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を指定します。 パッケージ名は、ユーザにとってわかりやすく、コマンドラインで入力でき、以下の要件を満たす、一意の文字列である必要があります。
期待値:
|
正しい構文:
正しくない構文:
|
| Provides | いいえ | 文字列関係配列 | NULL | パッケージが別のパッケージの絶対依存関係を満たすことを宣言します。 | 例については、「文字列関係配列」セクションを参照してください。 |
| Recommends | いいえ | 文字列関係配列 | NULL | 絶対的ではない強い依存関係を宣言します。 ほとんどの状況で、このパッケージとともにインストールされるパッケージを表示します。 XB-UserVisibleがyesに設定されているパッケージのみを推奨します。 |
例については、「文字列関係配列」セクションを参照してください。 |
| Replaces | いいえ | 文字列関係配列 | NULL | パッケージが他のパッケージを置き換えることを宣言します。 ConflictsはReplacesと共に使用する必要があります。 |
例については、「文字列関係配列」セクションを参照してください。 |
| Section | いいえ | 文字列 | NULL | パッケージを分類するカテゴリを指定します。 期待値:
XB-Pluginが eula に設定されるパッケージでは、この値を Infrastructure に設定する必要があります。EULAパッケージの作成に関する詳細は、「EULAパッケージを作成する」を参照してください。 |
Section: Application Software |
| Suggests | いいえ | 文字列関係配列 | NULL | 1つのパッケージが1つ以上の他のパッケージでより有用であると宣言します。 表示されたパッケージが、このパッケージに関連しているけれども、必須ではないことをパッケージマネージャとユーザに通知します。 XB-UserVisibleがyesに設定されているパッケージのみを提案します。 |
例については、「文字列関係配列」セクションを参照してください。 |
| Supplements | いいえ | 文字列関係配列 | NULL | パッケージが別のパッケージの機能を補完することを宣言します。 この属性は、XB-UserVisibleがyesに設定されているパッケージでのみ使用します。 |
例については、「文字列関係配列」セクションを参照してください。 |
| 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-1、XB-MessageCondition-2など |
いいえ | 文字列 | N/A | 対応するメッセージをパッケージマネージャに表示するときの条件を指定します。 使用できる条件はMSI条件のみで、<msi>...</msi>タグで囲む必要があります。CDATAブロックで囲まれていない限り、タグ内のテキストは「<」と「>」の文字を「<」と「>」のようにエスケープする必要があります。 |
XB-MessageCondition-1: <msi>VISA32COMPANYNAME ~<> "National Instruments"</msi> XB-MessageCondition-2: <msi><![CDATA[VISA32COMPANYNAME ~<> "National Instruments"]]></msi> |
|
XB-MessageText-# 例:
XB-MessageText-1、XB-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 | パッケージのインストールに使用されたエージェントです。 期待値:
|
XB-Plugin: file |
| XB-ReleaseNotes | いいえ | 複数行 | NULL | パッケージのリリースノートです。 オプションとして、ローカライズしたテキストを指定することができます。「属性のローカライズ」を参照してください。 |
例については、「複数行属性」セクションを参照してください。 |
| XB-StoreProduct | いいえ | ブール | no | パッケージマネージャで、パッケージが製品かどうかを指定します。 製品のみがチェックされているときに、インストール済みタブとパッケージタブにパッケージを表示させるには、そのパッケージに対して値をyesに設定する必要があります。 期待値:
|
XB-StoreProduct: no |
| XB-UserVisible | いいえ | ブール | no | パッケージマネージャがパッケージを表示するかどうかを指定します。 期待値:
XB-Pluginが noに設定されるパッケージでは、この値を eula に設定する必要があります。EULAパッケージの作成に関する詳細は、「EULAパッケージを作成する」を参照してください。 |
XB-UserVisible: no |
| XB-VisibleForRuntimeDeployment | いいえ | ブール | no | NI Package Builderで依存項目が追加されたときにデフォルトでパッケージを表示するかどうかを指定します。 期待値:
|
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: >=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の言語と同じ言語の属性がない場合、ローカライズされていない属性テキストが使用されます。
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位)英语版
関連コンテンツ
- EULAパッケージを作成する
エンドユーザ使用許諾契約 (EULA) パッケージを作成するには、サブディレクトリ、ソースファイル、および構成ファイルを格納するルートディレクトリを作成します。
- 相対ファイルパッケージを作成する
相対ファイルパッケージを作成するには、サブディレクトリ、ソースファイル、および構成ファイルを格納するルートディレクトリを作成します。
- ファイルパッケージを作成する
ファイルパッケージを作成するには、サブディレクトリ、ソースファイル、および構成ファイルを格納するルートディレクトリを作成します。
- WinInstパッケージを作成する
Windowsインストーラ (WinInst) パッケージを作成するには、サブディレクトリ、ソースファイル、および構成ファイルを格納するルートディレクトリを作成します。