컨트롤 파일은 이름, 버전, 타입, 의존성 등 패키지의 프로퍼티 및 관계가 설명된 메타데이터가 포함된 텍스트 파일(파일 확장자 없음)입니다. 파일 패키지와 WinInst 패키지 모두 컨트롤 파일을 필요로 합니다. 패키지 관리자는 컨트롤 파일의 메타데이터에 따라 패키지를 생성합니다.

속성 이름 필수 타입 기본 설명
Architecture 문자열 해당 없음 패키지가 지원하는 OS 아키텍처를 나타냅니다.
예상 값:
  • windows_x64 (64비트 Windows에서만 설치 가능)
  • windows_all (32비트 Windows의 제거로 인해 더 이상 사용되지 않음)
Architecture: windows_all
노트 패키지당 한 개의 아키텍처만 지정할 수 있습니다.
Conflicts 아니오 문자열 관계 배열 NULL 두 개의 2진 패키지 사이에 충돌이 있음을 선언합니다.

패키지 관리자는 충돌하는 패키지를 동시에 시스템에 설치하지 않습니다.

XB-Plugin이 eula로 설정된 패키지의 경우, 이 값을 ni-package-manager로 설정하면 EULA 패키지가 디스크에 설치되는 것을 방지할 수 있습니다.

예를 보려면 문자열 관계 배열 섹션을 참조하십시오.
Depends 아니오 문자열 관계 배열 NULL 절대 의존성을 선언합니다.
  • windows_x64 패키지는 windows_x64windows_all 패키지에 대해서만 의존적이어야 합니다.
  • windows_all 패키지는 windows_all 패키지에 대해서만 의존적이어야 합니다.
  • 특수 패키지인 system-windows-x64는 64비트 의존성에 대한 자리 표시자로 사용할 수 있습니다.
예를 보려면 문자열 관계 배열 섹션을 참조하십시오.
Description 여러 라인 해당 없음 2진 패키지에 대한 설명을 포함합니다.

한 라인으로 된 개요와 여러 라인의 설명 두 부분으로 이루어집니다.

NI는 개요와 긴 설명 사이에 두 개의 화이트 스페이스 문자를 사용하여 가독성을 높이도록 권장합니다.

현지화된 텍스트를 선택적으로 지정할 수 있습니다. 현지화 속성을 참조하십시오.

예를 보려면 여러 라인 속성 섹션을 참조하십시오.
Enhances 아니오 문자열 관계 배열 NULL 패키지가 다른 패키지의 기능을 향상시킴을 선언합니다.

XB-UserVisibleyes로 설정된 패키지에서만 이 속성을 사용합니다.

예를 보려면 문자열 관계 배열 섹션을 참조하십시오.
Homepage 아니오 문자열 NULL 패키지 공급업체가 패키지에 대한 더 자세한 정보를 제공하기 위해 사용하는 URL. Homepage: http://www.ni.com
Installed-Size 아니오 롱 정수 0 패키지 설치에 필요한 총 디스크 공간을 추정하여 그 값을 제공합니다.

예상 값: 예상되는 설치 크기(바이트)의 정수 값을 1024로 나눈 후 반올림한 값.

Installed-Size: 25485141
Maintainer 문자열 해당 없음 패키지 유지 관리자의 이름과 E-메일 주소.

예상 값 : 유지 관리자의 이름 다음에 꺾쇠 괄호로 묶은 E-메일 주소가 따라옴.

Maintainer: National Instruments <support@ni.com>
Package 문자열 해당 없음 패키지의 고유 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 패키지가 한 개 이상의 다른 패키지와 함께 설치될 때 더 유용할 수 있음을 선언합니다.

패키지 관리자 및 사용자에게 리스트에 있는 패키지가 이 패키지와 관련은 있지만 필수는 아님을 알립니다.

XB-UserVisibleyes로 설정된 패키지만 제안합니다.

예를 보려면 문자열 관계 배열 섹션을 참조하십시오.
Supplements 아니오 문자열 관계 배열 NULL 패키지가 다른 패키지의 기능을 보완함을 선언합니다.

XB-UserVisibleyes로 설정된 패키지에서만 이 속성을 사용합니다.

예를 보려면 문자열 관계 배열 섹션을 참조하십시오.
Version 문자열 해당 없음 패키지의 버전 번호를 지정합니다.

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-Plugin이 eula로 설정된 패키지에서만 이 속성을 사용하십시오. XB-EulaTitle: My Software Name
XB-MessageCondition-#

예:

XB-MessageCondition-1, XB-MessageCondition-2 등.

아니오 문자열 해당 없음 패키지 관리자에서 해당 메시지가 언제 보이는지에 대한 조건을 지정합니다.

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-1, XB-MessageText-2 등.

아니오 여러 라인 해당 없음 패키지를 설치하기 전에 패키지 관리자가 디스플레이하는 중요한 메시지를 포함합니다.

헤더 및 본문의 두 부분으로 구성됩니다.

아래의 해당 MessageCondition 속성을 사용하여 이 메시지의 디스플레이 조건을 지정할 수 있습니다. 조건을 지정하지 않으면, 이 메시지는 패키지를 설치할 때 항상 보입니다.

NI는 본문의 각 라인 시작 부분에 두 개의 스페이스를 사용하여 미리 포맷한 텍스트를 생성할 것을 권장합니다.

현지화된 텍스트를 선택적으로 지정할 수 있습니다. 현지화 속성을 참조하십시오.

XB-MessageText-1: This is my message header

This is my message body.

There are multiple lines.

XB-OsRequires 아니오 문자열 해당 없음 패키지에 필요한 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을 eula로 설정한 패키지의 경우 이 값을 no로 설정해야 합니다. EULA 패키지 생성에 대한 더 자세한 정보는 EULA 패키지 어셈블하기를 참조하십시오.

XB-UserVisible: no
XB-VisibleForRuntimeDeployment 아니오 불리언 no 의존성 추가 시 NI Package Builder에서 기본적으로 패키지를 디스플레이할지 여부를 지정합니다.
예상 값:
  • no
  • yes
XB-VisibleForRuntime: yes

문자열 관계 배열

패키지 관리자는 관계를 선언하는 컨트롤 파일 속성 값으로 문자열 관계 배열, 즉 쉼표로 구분된 패키지 이름 리스트를 필요로 합니다.

다음 구문 규칙에 따라 속성 값을 포맷합니다.

  • 패키지 이름은 쉼표로 구분합니다.
  • 수직 막대를 사용하여 의존성 충족을 위해 사용할 수 있는 대체 패키지 이름을 구분합니다. 이는 열거된 대체 패키지 모두가 의존성을 충족함을 나타냅니다.
  • 패키지 이름 뒤에 괄호를 넣고 여기에 패키지의 버전 요구사항을 포함시킵니다. Provides를 제외한 모든 문자열 관계 배열 필드에서 각 패키지가 특정 버전에만 적용되도록 제한할 수 있습니다.
  • 괄호 안에서 다음 연산자 중 하나를 사용하고 그 뒤에 버전 번호를 붙여 패키지와 버전 간의 관계를 나타냅니다. 버전 스펙에서는 화이트 스페이스를 사용할 수 있습니다.
연산자 관계
<< 이전
<= 이전 또는 같음
= 정확히 같음
>= 이후 또는 같음
>> 이후
!= 제외시키기

다음 예에서 Depends 속성은 package01 버전 2.2.1 또는 이후 버전에 대한 의존성을 선언하고, package03이 package02에 대한 의존성을 충족시키는 대체 패키지임을 나타냅니다.

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

여러 라인 속성

여러 라인 속성의 값은 한 개 라인으로 된 개요와 이후 자세한 설명이 제공되는 추가 라인으로 구성됩니다.

여러 라인 속성의 첫 번째 라인에는 속성 이름이 오고 그 뒤에 한 개 라인으로 개요가 따라옵니다. 이 속성 부분에서 간략한 설명이나 제목을 제공합니다. XB-ReleaseNotes 속성은 한 개 라인으로 된 개요를 사용하지 않습니다.

자세한 설명에는 속성에 대한 추가 세부사항이 포함됩니다. 다음 규칙에 따라 여러 라인 속성의 자세한 설명을 포맷합니다.

  • 라인의 시작 부분에서 한 개의 스페이스를 사용하여 문단을 만듭니다. 이 텍스트를 디스플레이하는 프로그램은 선행하는 스페이스를 제거하고 줄 바꿈을 사용합니다. 문단은 스페이스가 아닌 문자를 최소한 한 개 포함해야 합니다.
  • 라인의 시작 부분에서 두 개 이상의 스페이스를 사용하여 텍스트 내 화이트 스페이스와 줄 바꿈을 유지합니다. 디스플레이 영역이 수평으로 스크롤되지 않고 라인이 너무 길어서 공간에 맞지 않으면, 디스플레이 프로그램이 필요한 경우 줄 바꿈을 생성합니다.
  • 한 개 스페이스 뒤에 마침표를 넣어 빈 라인을 만듭니다.

다음 텍스트는 여러 라인 속성의 포맷 규칙을 사용하여 Description 요소에 어떻게 텍스트를 입력할 수 있는지 보여주는 예입니다.

      Description: 여러 라인 속성 내용의 예.
 이 라인에서는 시작 부분에 넣은 한 개의 스페이스로 인해 문단이 생성됩니다. 
 .
  이 라인에서는 시작 부분에 넣은 두 개의 스페이스로 인해 화이트스페이스와
줄 바꿈이 유지되도록 미리 포맷된 텍스트가 생성됩니다.

OS 요구사항

XB-OsRequires 버전에는 Windows OS 버전의 최대 3개 정수 필드가 포함됩니다. 처음 두 개 필드는 Operating System Version에서 Microsoft가 지정한 바와 같이 Windows OS 버전에 해당합니다. 세 번째 필드는 Windows 10 release information에서 Microsoft가 지정한 바와 같이 Windows 10 OS 빌드에만 적용됩니다.

다음 구문 규칙에 따라 속성 필드를 포맷합니다.

  • 마침표를 사용하여 필드를 구분합니다.
  • 쉼표를 사용하여 여러 요구사항을 구분합니다.
  • 수직 막대를 사용하여 대체 요구사항을 지정합니다. 수직 막대는 쉼표보다 우선순위가 높습니다.
  • 다음 연산자가 이 속성에 의해 지원됨:
    연산자 관계
    <<보다 작음
    <=보다 작거나 같음
    =같음
    >=보다 크거나 같음
    >>보다 큼
    !=제외시키기
다음 테이블은 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 또는 이후 버전 필요. OS가 Windows 10보다 이전 버전이거나, Windows 10 버전 1909 또는 이후 버전.

현지화 속성

언어별 접미어가 추가된 속성 버전이 포함되면, 설명, 디스플레이 이름, 릴리즈 노트 및 메시지 텍스트가 패키지 관리자 사용자 인터페이스에서 현지화되어 나타납니다.

패키지 관리자 GUI는 Description, 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位)英语版