install4j의 기능
install4j는 멀티 플랫폼 에디션과 Windows 에디션 두 가지 에디션으로 제공됩니다.
두 에디션의 차이점을 살펴보려면 에디션 비교를 참조하십시오.
install4j에서는 다음과 같은 기능을 제공합니다:
-
32비트 Windowsinstall4j가 생성하는 네이티브 인스톨러 실행 파일은 Windows Server 2012/2016/2019/2022/2025, Windows 7, 8, 10 및 11에서 실행됩니다. 대체 수단으로, 배포 트리와 생성된 런처가 들어 있는 ZIP 아카이브를 만들 수 있습니다.
-
64비트 WindowsWindows용 기본 32비트 인스톨러 외에도 install4j는 Windows Server 2012/2016/2019/2022/2025, Windows 7, 8, 10 및 11의 64비트 버전용 64비트 인스톨러를 생성할 수 있습니다. 이 경우 생성되는 모든 런처 역시 64비트 실행 파일입니다. 64비트 실행 파일은 64비트 Windows 설치 환경에서 64비트 JRE와 함께 실행됩니다.
-
Windows ARM32비트 및 64비트 x86 아키텍처 외에도 Windows 미디어 마법사의 "Installer options" 단계에서 arm64 아키텍처를 선택할 수 있습니다. 네이티브 ARM 지원 덕분에 애플리케이션은 에뮬레이션 모드에서 실행되는 x86 바이너리일 때보다 훨씬 빠르게 작동합니다.
-
Windows MSIX 패키지네이티브 인스톨러 실행 파일 외에도 install4j는 MSIX 패키지, 즉 Microsoft Store와 Microsoft Intune 같은 관리형 배포 도구에서도 사용되는 최신 Windows 패키징 형식을 생성할 수 있습니다. MSIX 패키지는 Windows 자체에서 완전히 되돌릴 수 있는 방식으로 설치 및 제거되며 관리자 권한 없이도 설치할 수 있습니다. 서비스, 파일 연결, URL 핸들러, PATH에 있는 실행 파일과 같은 install4j 개념은 매니페스트 항목으로 직접 변환됩니다.
-
macOSinstall4j는 macOS 10.15 이상의 모든 macOS 버전을 지원합니다. GUI 인스톨러는 macOS에 애플리케이션을 제대로 된 애플리케이션 번들로 설치합니다. 각 런처에 대한 애플리케이션 번들을 지원하는 폴더 유형 설치 방식도 제공됩니다. 마지막으로 macOS용 단일 번들 아카이브는 단순한 배포에 가장 편리한 설치 방법을 제공합니다.
-
UnixUnix 및 Linux의 경우 install4j는 Bourne 셸이 있는 모든 POSIX 호환 시스템에서 아키텍처와 무관하게 실행되는 인스톨러를 생성합니다. 대체 수단으로, 배포 트리와 생성된 런처가 들어 있는 gzip으로 압축된 TAR 아카이브를 만들 수 있습니다.
-
Linux RPM 및 Deb 패키지RPM 및 Deb 파일을 사용하면 Java 애플리케이션이 Linux에서 가장 널리 사용되는 패키지 관리 시스템의 일부가 될 수 있습니다. install4j는 RPM 및 Deb 미디어 파일에 대해 사전 설치, 사후 설치 스크립트는 물론 사전 제거 및 사후 제거 스크립트도 지원합니다.
-
인스톨러 설계를 위한 사용하기 쉬운 IDEinstall4j IDE를 사용하면 인스톨러 소프트웨어 전문가가 될 필요 없이 바로 시작할 수 있습니다. 중요한 힌트는 IDE에 직접 표시되며 상황별 도움말이 배경 정보를 제공합니다.
-
강력한 내장 스크립트 에디터install4j의 스크립트는 일반적인 Java 코드입니다. install4j의 내장 에디터는 install4j API, JRE 런타임 클래스 및 사용자 고유의 사용자 지정 코드 모두에 대한 코드 완성 기능을 제공합니다. 상황별 Javadoc과 즉각적인 문제 분석도 에디터에서 이용할 수 있습니다.
-
예제 스크립트가 포함된 코드 갤러리스크립팅을 시작할 수 있도록 코드 에디터는 일반적인 문제에 대한 예제 스크립트를 보여 주는 코드 갤러리를 제공합니다. 또한 샘플 프로젝트에는 install4j에서 스크립팅이 어떻게 작동하는지 보여 주는 많은 스크립트가 포함되어 있습니다.
-
IDE에서 빌드프로젝트는 IDE에서 직접 빌드할 수 있습니다. 생성된 인스톨러는 빌드 콘솔에서 바로 시작할 수 있습니다.
-
명령줄 컴파일러install4j의 명령줄 컴파일러를 사용하면 인스톨러 생성을 임의의 빌드 프로세스에 통합할 수 있습니다.
-
Gradle, Ant 및 Maven 통합install4j는 Gradle, Ant 및 Maven용 통합 기능을 제공하여 빌드 프로세스에서 인스톨러 생성을 손쉽게 수행할 수 있습니다. 모든 빌드 시스템 플러그인은 적절한 install4j 버전을 자동으로 제공할 수 있습니다.
-
모든 플랫폼에서 빌드install4j는 지원되는 모든 플랫폼 위에서 지원되는 모든 플랫폼용 미디어 파일을 빌드할 수 있습니다.
-
디버그 인스톨러 빌드install4j는 배치 파일과 셸 스크립트에서 시작되는 디버그 인스톨러를 선택적으로 생성할 수 있습니다. 디버그 빌드를 사용하면 사용자 지정 코드를 디버깅하기 위해 IDE에서 인스톨러와 언인스톨러를 바로 시작할 수 있습니다.
-
XML 프로젝트 파일install4j의 프로젝트는 단일 XML 파일에 저장됩니다. 파일 형식은 안정적이며 버전 관리에 이상적으로 적합합니다. 프로젝트 파일을 수정하거나 생성함으로써 고급 사용자 지정이나 프로젝트의 자동 생성이 가능합니다.
-
코딩 어시스턴트용 AI 스킬install4j에는 코딩 어시스턴트가 install4j 프로젝트 파일을 읽고, 편집하고, 생성할 수 있게 해 주는 AI 에이전트 스킬이 포함되어 있어, 변경 사항을 자연어로 설명만 하면 프로젝트에 바로 적용할 수 있습니다. 이 스킬은 자체 완결형 지식 패키지로서 프로젝트 파일 스키마, 모든 빈 클래스의 카탈로그, 샘플 프로젝트, install4j API 및 전체 문서를 담고 있습니다. Claude Code, Cursor, Codex CLI, Antigravity와 같은 주요 에이전트에 대해 전역으로 또는 프로젝트별로 설치할 수 있습니다.
-
HTML로 프로젝트 내보내기프로젝트는 검토, 게시 또는 인쇄를 위해 HTML로 내보낼 수 있습니다. 프로젝트 구성의 모든 측면이 내보내집니다.
-
배포 트리 자유롭게 정의배포 트리의 각 디렉터리에는 파일 시스템의 임의 디렉터리에 있는 전체 디렉터리 내용이나 개별 파일을 추가할 수 있습니다. 정의 뷰와 결과 뷰를 사용하면 인스톨러가 배포할 파일을 완벽하게 제어할 수 있습니다.
-
여러 설치 루트 구성기본 설치 디렉터리 외에 추가 설치 루트를 만들 수 있습니다. 설치 루트는 Windows 시스템 디렉터리나 사용자 홈 디렉터리처럼 사전 정의된 "매직 폴더"에 해당할 수 있습니다. 또는 설치 루트에 런타임에 확인되는 인스톨러 변수를 포함시킬 수도 있습니다. 이 메커니즘을 활용하면 플러그인 설치와 시스템 확장을 손쉽게 구현할 수 있습니다.
-
여러 파일 세트 구성런타임에 설치할 파일을 결정해야 하거나 구성에 따라 대체 파일을 제공해야 하는 경우 배포 트리에 추가 파일 세트를 만들 수 있습니다.
-
배포 트리에서 컴파일러 변수 사용컴파일러 변수를 사용하면 미디어 파일 마법사에서 변수를 재정의하여 미디어 파일마다 배포를 조정할 수 있습니다.
-
플랫폼별 차이 처리install4j는 편리한 포함/제외 메커니즘을 제공하므로 플랫폼별 방식으로 배포를 조정할 수 있습니다.
-
Unix, Linux 및 macOS용 파일 권한 정의배포 트리의 각 요소에 대해 Unix 계열 플랫폼에 설치할 때 적용되는 사용자 지정 접근 권한을 정의할 수 있습니다.
-
세분화된 제거 정책 정의배포 트리의 각 요소에 대해 서로 다른 제거 정책을 지정할 수 있습니다. 제거 정책은 어떤 상황에서 파일을 제거해야 하는지 언인스톨러에 알려줍니다. 업데이트를 위한 특수 제거 정책도 제공됩니다.
-
세분화된 덮어쓰기 정책 정의배포 트리의 각 요소에 대해 서로 다른 덮어쓰기 정책을 설정할 수 있으며, 이 정책은 설치 중 파일을 덮어써야 할 때 install4j의 동작을 결정합니다. 업데이트를 위한 특수 덮어쓰기 정책도 제공됩니다.
-
설치 컴포넌트 트리 정의별도의 설치 컴포넌트를 구성하는 파일 및 디렉터리 그룹을 정의할 수 있습니다. 설치 컴포넌트와 컴포넌트 폴더는 트리 형태로 구성할 수 있습니다. 사용자가 인스톨러에서 표시하여 설치 컴포넌트에 관해 자세히 알아볼 수 있는 설명을 지정할 수도 있습니다. 또한 설치 컴포넌트 간의 종속성도 구성할 수 있습니다. 설치 컴포넌트는 인스톨러 데이터 파일의 기반이 되며, 필요할 때 다운로드하도록 선택할 수 있습니다(아래 참조).
-
사용자 지정 JRE/JDK 감지실행 파일은 대상 시스템에서 적합한 Java JRE와 JDK를 감지할 수 있습니다. 필요에 따라 직접 만든 JRE를 배포할 수도 있습니다(아래 참조). 검색 시퀀스, 오류 처리, 지원되는 JRE/JDK 버전은 모두 완전하게 구성할 수 있습니다.
-
유연한 클래스패스 구성Java 애플리케이션의 클래스패스는 디렉터리를 스캔하여 JAR 파일을 찾고, 특정 디렉터리와 아카이브를 포함시키며, 환경 변수를 삽입하는 방식까지 완전하게 구성할 수 있습니다. 오류 처리를 사용자 지정할 수 있으므로 유용한 오류 메시지와 함께 시작 시퀀스를 중단시켜 나중에
NoClassDefFound예외가 발생하는 것을 방지할 수 있습니다. -
GUI 및 콘솔 런처일반 애플리케이션의 경우 install4j는 GUI 런처 또는 연결된 터미널 창이 있는 콘솔 런처를 생성합니다.
-
서비스 런처install4j는 서비스(데몬) 생성 및 설치를 완전하게 지원합니다. 서비스의 경우 install4j는 Windows에서는 서비스 실행 파일을, macOS에서는 시작 항목을, Unix/Linux 플랫폼에서는 시작/중지 스크립트를 생성합니다.
-
사용자 지정 작업 디렉터리필요한 경우 작업 디렉터리를 실행 파일을 기준으로 한 특정 디렉터리로 조정할 수 있습니다. 이는 임의의 디렉터리에서 호출될 수 있는 콘솔 애플리케이션에 특히 유용합니다. 이렇게 하면
MYAPP_HOME과 같은 깨지기 쉬운 환경 변수를 정의할 필요가 없습니다 -
VM 파라미터 파일모든 실행 파일에 대해 사용자가 편집할 수 있는 VM 파라미터 파일(*.vmoptions)을 만들 수 있습니다. 이를 통해 사용자는 최대 힙 크기 같은 VM 속성을 조정할 수 있습니다. *.vmoptions 파일에서는 런처의 기본 클래스패스도 조정할 수 있습니다. VM 파라미터를 입력할 수 있는 모든 곳에서 install4j는 환경 변수의 사용을 지원합니다.
-
Windows에서 단일 인스턴스 강제Windows에서는 애플리케이션의 단일 인스턴스만 실행되도록 선택적으로 강제할 수 있습니다. 런처 API를 사용하면 명령줄 파라미터와 함께 추가 시작에 대한 알림을 받을 수 있습니다.
-
macOS에서 파일 연결을 통한 시작에 대응macOS에서는 런처 API를 사용하여 사용자가 파일 연결을 호출했을 때 애플리케이션이 이미 실행 중이면 알림을 받을 수 있습니다.
-
Windows 버전 정보 리소스install4j는 Windows 실행 파일에 버전 정보 리소스 항목을 생성할 수 있습니다. 이 버전 정보는 예를 들어 Windows 탐색기의 속성 대화 상자에 표시됩니다. "Designed for Windows" 로고를 취득하려는 경우 이는 중요한 요구 사항입니다.
-
Windows 7, 8, 10 및 11용으로 구성 가능한 실행 수준Windows 7 이상에서는 실행 파일이 기본적으로 제한된 권한으로 실행됩니다. install4j는 런처 실행 파일의 권한을 사용 가능한 최고 권한 또는 관리자 계정으로 승격할 수 있는 옵션을 제공합니다.
-
Linux/Unix 런처용 사용자 지정 스크립트Linux/Unix 시스템에서는 애플리케이션이 시작되기 바로 전에 실행되는 셸 코드 스니펫을 선택적으로 제공하여 환경을 고도로 수정할 수 있습니다.
-
스플래시 화면GUI 애플리케이션의 경우 스플래시 화면은 애플리케이션 사용자에게 애플리케이션 시작에 대한 최적의 피드백을 제공합니다. 애플리케이션 시작에 대한 텍스트 상태 정보와 버전 정보는 스플래시 화면에 자유롭게 배치할 수 있습니다. Java 코드에서는 이 상태 정보를 간단한 메서드 호출로 업데이트할 수 있습니다. install4j의 "auto-off" 모드가 활성화되어 있으면 애플리케이션이 창을 표시하는 즉시 스플래시 화면이 숨겨집니다. Windows에서 스플래시 화면은 네이티브 방식이며 즉시 표시됩니다. Java 6 스플래시 화면도 지원됩니다.
-
stderr 및 stdout 리디렉션표준 출력 스트림과 오류 스트림은 사용자 지정 파일로 리디렉션할 수 있습니다. 이를 통해 Java GUI 애플리케이션에서 그렇지 않으면 사라져 버릴 stderr의 예외 스택 트레이스 같은 소중한 정보에 접근할 수 있습니다. stderr와 stdout용 파일은 필요한 경우에만 생성되므로 빈 로그 파일이 생기지 않습니다.
-
시작 실패 감지더 이상 깜빡이는 터미널 창이나 아무것도 표시하지 않은 채 멈추는 GUI 애플리케이션은 없습니다. install4j 실행 파일은 stderr 출력 파일을 모니터링하여 시작 실패를 알리는 유용한 정보가 담긴 대화 상자를 표시할 수 있습니다.
-
사용자 지정 아이콘install4j는 이미지 파일을 사용하여 런처의 아이콘을 생성합니다. 생성되는 Windows 아이콘은 Windows 10에 최적화되어 있으며 이전 버전의 Windows에서도 최적의 표시 특성을 갖추고 있습니다. 직접 만든 Windows 아이콘 파일을 지정할 수도 있습니다. macOS에서는 ICNS 아이콘 파일이 사용됩니다. Linux/Unix 데스크톱의 경우 지정된 아이콘과 함께 .desktop 파일이 생성되며, 사용자는 이를 통해 데스크톱과 시작 메뉴에 손쉽게 추가 바로 가기를 만들 수 있습니다.
-
macOS용 애플리케이션 번들install4j를 사용하면 Mac 전문가가 될 필요 없이도 애플리케이션이 macOS에서 일급 시민으로 대우받습니다. macOS에서 install4j 실행 파일은 제대로 된 애플리케이션 번들의 일부입니다.
-
Java 8부터 최신 버전까지 지원install4j에서 생성된 인스톨러는 install4j IDE에서 구성한 최소 프로젝트 요구 사항에 따라 최소 Java 7부터 최신 Java 버전까지 실행됩니다.
-
LZMA 및 Pack200 압축 알고리즘선택적인 LZMA 압축 알고리즘을 사용하면 시장에서 이용 가능한 최고 수준의 압축률을 얻을 수 있습니다.
-
GUI 인스톨러 모드install4j는 자유롭게 구성할 수 있는 화면과 액션을 갖춘 전문적인 모양의 GUI 인스톨러를 생성합니다. 각 화면에 액션을 추가할 수 있으므로 install4j IDE에서 인스톨러를 비주얼하게 프로그래밍할 수 있습니다. 동일하게 구성할 수 있는 언인스톨러가 각 인스톨러에 대해 자동으로 생성됩니다.
-
콘솔 인스톨러 모드모든 GUI 인스톨러는 선택적으로 콘솔 설치를 지원하며, 이 경우 인스톨러 화면이 터미널에 표시됩니다. install4j의 모든 사전 정의된 화면과 액션이 콘솔 모드를 지원하며, 언인스톨러도 마찬가지입니다. 이는 헤드리스 Unix/Linux 서버에서의 설치에 특히 유용합니다. ANSI를 지원하는 터미널에서 Java 25 이상으로 실행하는 경우, 콘솔 모드는 컬러 출력, 실시간 진행률 바, 스피너, 단일 및 다중 선택 목록, 탭 완성이 지원되는 마스킹된 입력과 내장 페이저를 갖춘 현대적인 대화형 UI를 렌더링합니다.
-
무인 인스톨러 모드모든 GUI 인스톨러는 선택적으로 무인 설치 및 제거를 지원하며, 이 경우 인스톨러와 언인스톨러가 어떠한 사용자 입력 없이도 설치를 자동으로 조용히 수행합니다. install4j의 모든 사전 정의된 화면과 액션은 무인 모드를 지원합니다.
-
모든 인스톨러 모드를 위한 통합 화면 및 액션 구성GUI, 콘솔 및 무인 모드는 모두 동일한 화면 및 액션 구성을 사용합니다. 이를 통해 인스톨러를 개발하고 테스트할 때 시간을 절약할 수 있습니다.
-
인스톨러용 응답 파일인스톨러는 사용자 입력을 편집 가능한 응답 파일에 저장할 수 있습니다. 이후의 설치에서는 이 응답 파일을 사용하여 사용자 입력을 미리 정의하거나 기본 설정을 변경할 수 있습니다. 이는 무인 설치에 특히 중요하지만, GUI 및 콘솔 인스톨러 모드에서도 사용할 수 있습니다.
-
코드 서명 지원install4j는 모든 빌드 플랫폼에서 Windows 및 macOS 미디어 파일 서명을 지원합니다. macOS 공증은 모든 지원 플랫폼에서 제공됩니다. 코드 서명 키는 파일로 제공하거나 PKCS #11을 통해 HSM에서 사용할 수 있습니다.
-
다양한 언어로의 현지화
인스톨러 마법사에서 지원되는 언어는 다음과 같습니다:
- Chinese (Simplified)
- Chinese (Traditional)
- Croatian
- Czech
- Danish
- Dutch
- English
- Finnish
- French
- German
- Greek
- Hungarian
- Italian
- Japanese
- Korean
- Norwegian
- Polish
- Portuguese
- Portuguese (Brazilian)
- Russian
- Romanian
- Spanish
- Swedish
- Turkish
- Ukrainian
-
런타임 시 언어 감지인스톨러는 여러 언어를 지원하도록 구성할 수 있으며, 인스톨러 시작 시 사용자에게 언어 선택을 제공할 수 있습니다. 런타임 로케일이 구성된 언어와 일치하는 경우 언어 선택 대화 상자를 건너뛰도록 선택할 수 있습니다.
-
설치 실패 또는 사용자 취소 시 롤백install4j의 모든 사전 정의된 액션은 자신이 수행한 수정 사항을 완전히 롤백할 수 있습니다. 또한, 롤백 배리어를 정의하여 사용자가 인스톨러 마법사를 취소할 때 부분 롤백 또는 롤백 없음이 수행되도록 할 수 있습니다.
-
네트워크 인스톨러선택한 설치 컴포넌트를 필요할 때 다운로드하여 인스톨러의 다운로드 크기를 줄일 수 있습니다. 이를 통해 자주 사용되지 않는 컴포넌트를 처리하거나 모든 설치 컴포넌트를 다운로드하는 네트워크 인스톨러를 준비할 수 있습니다.
-
CD 인스톨러선택적으로, 인스톨러 데이터 파일을 인스톨러에 포함하는 대신 외부 파일로 둘 수 있습니다. CD 인스톨러에 유용하며, 인스톨러 시작이 최대한 빨라지고 선택한 설치 컴포넌트의 데이터 파일만 CD에서 접근하게 됩니다.
-
구성 가능한 아이콘, 창 크기 및 이미지인스톨러와 언인스톨러의 모양을 사용자 지정할 수 있습니다. 인스톨러의 아이콘을 다르게 지정하고, 기본 창 크기를 변경하며, 인스톨러의 기본 이미지를 자신만의 이미지로 대체할 수 있습니다.
-
인스톨러 로그 파일모든 화면 전환과 실행된 액션은 인스톨러 로그 파일에 기록되며, "Install files" 액션과 같은 일부 액션은 더 세분화된 로깅을 제공합니다.
-
JRE 정적 번들링install4j에서 미디어 파일을 정의할 때 번들링할 JRE를 선택할 수 있습니다. 이 JRE는 인스톨러가 배포하며 생성된 모든 런처에서 사용됩니다. 업데이트 인스톨러는 이미 설치된 이전 버전의 JRE 번들을 재사용할 수 있습니다.
-
빌드 중에 적합한 JRE 번들 생성install4j는 다양한 JDK 제공업체를 JRE 번들 생성의 기반으로 지원합니다. 모듈형 애플리케이션의 경우 install4j는 JRE 번들을 링크할 때 애플리케이션의 모듈 그래프를 고려합니다. 수동 모듈 요구 사항 지정 및 JMOD 추가도 지원됩니다.
-
자체 JRE 번들 준비사용 가능한 JDK 제공업체 외의 소스에서 JRE 번들이 필요한 경우 "Create a JRE bundle" 마법사를 사용하여 파일 시스템에 있는 임의의 JRE로부터 JRE 번들을 만들 수 있습니다. 1.8 JRE의 경우 JAR 파일이 Pack200 압축 알고리즘으로 패킹됩니다.
-
애플리케이션 ID모든 프로젝트에는 업데이트 설치를 감지할 수 있게 해 주는 고유한 애플리케이션 ID가 있습니다. 인스톨러 API에서 애플리케이션 ID를 사용하여 기존 설치에 대한 정보를 얻을 수도 있습니다.
-
이전 위치 제안애플리케이션이 이미 설치되어 있는 경우, 선택적으로 인스톨러가 이전에 선택했던 설치 디렉터리와 이전 프로그램 그룹을 사용자에게 제안하도록 할 수 있습니다.
-
업데이트 시 언인스톨러 실행"Uninstall previous installation" 액션을 사용하면 새 설치가 수행되기 전에 이전 설치의 언인스톨러를 무인 모드로 실행할 수 있습니다.
-
배포된 서비스 중지"Install files" 액션은 새 서비스 실행 파일을 설치하기 전에 실행 중인 서비스를 자동으로 중지합니다.
-
애플리케이션의 실행 중인 인스턴스 감지"Install files" 액션은 GUI 또는 콘솔 런처의 인스턴스가 아직 실행 중인지 감지하고 설치를 계속 진행하기 전에 인스턴스를 닫아 줄 것을 사용자에게 요청합니다.
-
'add-on' 인스톨러 생성일반 인스톨러 외에도 install4j는 "add-on" 인스톨러를 생성할 수 있으며, 이 인스톨러는 지정된 애플리케이션 ID를 가진 기존 설치 위에 자신의 배포 트리만을 설치합니다. 이를 통해 설치 환경에 대한 패치를 손쉽게 배포할 수 있습니다.
-
업데이터 템플릿자동 업데이터는 특정 요구 사항을 수용하려면 상당한 유연성이 필요합니다. install4j에서는 업데이터의 모든 측면을 사용자 정의할 수 있습니다. 표준 업데이터 템플릿이 여러 개 제공됩니다. 독립형 업데이터와 백그라운드에서 조용히 업데이트를 확인하는 업데이터와 같이 시나리오가 다른 경우 프로젝트에 여러 업데이터를 추가할 수 있습니다.
-
자동 생성되는 업데이트 디스크립터빌드할 때마다 install4j가 업데이트 디스크립터를 생성하므로 이를 웹 서버에 배치하여 사용자에게 업데이트 정보를 전달할 수 있습니다. 업데이트 디스크립터는 업데이트를 특정 설치 버전으로 제한하거나 업데이터에 코멘트를 전달하도록 사용자 정의할 수 있습니다.
-
유연한 업데이트 선택 로직업데이터가 업데이트 인스톨러를 선택하는 로직은 하드코딩되어 있지 않습니다. 업데이터 템플릿에는 더 복잡한 업데이트 시나리오를 만들 수 있도록 편집할 수 있는 스크립트가 포함되어 있습니다.
-
업데이터 API업데이터 API를 사용하면 자체 애플리케이션 코드에서 업데이트를 확인할 수 있습니다. 또한 애플리케이션에서 업데이터를 호출하고 새 버전이 설치될 때 종료 요청에 대응할 수도 있습니다.
-
업데이트 일정 레지스트리정기적인 일정에 따라 업데이트를 확인하려는 경우 업데이트 일정 레지스트리 API를 사용하면 애플리케이션 코드에서 손쉽게 구현할 수 있습니다. 또한 특수 폼 컴포넌트를 사용하면 인스톨러에서 사용자가 업데이트 일정을 구성하도록 할 수 있습니다.
-
사용자 정의 인스톨러 애플리케이션install4j에서는 인스톨러와 언인스톨러를 위한 완전히 유연한 화면 및 액션 흐름을 구성할 수 있을 뿐만 아니라, 설치의 일부를 이루는 사용자 정의 인스톨러 애플리케이션도 만들 수 있습니다. 사용자 정의 인스톨러 애플리케이션은 인스톨러와 동일하게 보이며 사용 가능한 모든 화면과 액션을 사용할 수 있습니다. 설치가 완료된 후 인스톨러의 특정 부분을 실행하려는 경우에도 애플리케이션에서 해당 코드를 직접 다시 작성할 필요가 없습니다.
-
화면 및 액션 그룹화면과 액션을 그룹으로 구성하면 화면 및 액션 흐름을 명확하게 만들 수 있습니다. 그룹에는 공통 조건 표현식과 선택적인 루프 표현식이 지정됩니다. 이는 인스톨러에 포함된 화면이나 액션 수가 많아 그렇지 않으면 관리가 어려운 대규모 프로젝트에서 특히 중요합니다.
-
링크를 통한 화면 및 액션 재사용인스톨러 또는 사용자 정의 인스톨러 애플리케이션의 어떤 부분에서든 화면과 액션뿐 아니라 화면 및 액션 그룹으로도 링크할 수 있습니다. 이를 통해 화면 및 액션 정의를 복사하지 않고도 설치 시퀀스의 일부를 사용자 정의 인스톨러 애플리케이션에서 재사용하거나 여러 개의 설치 시퀀스를 구성할 수 있습니다.
-
화면, 액션 및 폼 컴포넌트 비활성화화면, 액션 및 폼 컴포넌트를 비활성화하면 주석 처리한 것과 같은 효과를 얻을 수 있습니다. 이를 통해 부분 인스톨러를 빠르게 만들거나 디버깅 목적의 요소를 추가할 수 있으므로 인스톨러 프로젝트를 더욱 쉽게 개발할 수 있습니다.
-
주석대규모 프로젝트나 문서화가 필요한 프로젝트에서는 정의 자체에 문서가 함께 첨부되는 것이 중요합니다. install4j에서는 화면, 액션 및 폼 컴포넌트에 선택적인 주석을 추가할 수 있습니다. 키보드 액셀러레이터를 사용하면 모든 주석 사이를 빠르게 이동할 수 있습니다.
-
빠른 검색화면 & 액션 탭의 빠른 검색 기능을 사용하면 화면과 액션 또는 해당 ID를 쉽게 검색할 수 있습니다.
-
인스톨러와 언인스톨러를 위한 구성 가능한 화면 시퀀스인스톨러와 언인스톨러의 화면 시퀀스는 임의의 순서로 구성할 수 있으며, install4j의 사전 정의된 화면, 설치된 확장이 제공하는 화면 또는 구성된 사용자 정의 코드 위치에 포함된 직접 만든 화면을 사용할 수 있습니다.
-
일반적인 작업을 위한 표준 화면
표준 화면은 완전히 현지화되어 있으며 특정 작업을 수행합니다:
- 인스톨러 또는 언인스톨러의 환영 화면
- 설치 디렉터리 선택
- 라이선스 계약서를 표시하고 사용자에게 동의를 요청
- 설치 유형 선택
- 설치 구성 요소 선택
- 표준 프로그램 그룹 선택
- 생성된 런처를 사용하여 파일 연결 구성
- 서비스 구성
- 데스크톱 바로 가기 생성과 같은 추가 확인 사항 표시
- 설치 또는 제거 진행률 표시
- 텍스트 또는 HTML 형식으로 정보 표시
- 인스톨러 및 언인스톨러의 마침 화면
-
구성 가능한 화면
구성 가능한 화면은 액션과 함께 인스톨러를 비주얼하게 프로그래밍할 때 사용할 수 있는 템플릿입니다.
- 왼쪽에 이미지 배너가 있는 화면
- 왼쪽에 이미지 배너가 있는 구성 가능한 폼
- 구성 가능한 폼
- 디렉터리 선택
- 프로그램 그룹 선택
- 텍스트 표시
- PDF 파일 표시
- 진행률 표시
구성 가능한 화면의 모든 메시지를 조정할 수 있습니다.
-
폼 화면
폼 화면은 install4j에서 가장 유연한 화면으로, 인스톨러나 언인스톨러의 임의의 화면을 빠르게 구성할 수 있습니다. 폼 화면에는 세로축을 따라 정렬되는 여러 폼 컴포넌트가 포함됩니다. 다양한 폼 컴포넌트 중에서 선택할 수 있습니다:
- 레이블 및 스페이서
- 체크 박스, 콤보 상자, 목록, 드롭다운 목록 및 라디오 버튼 그룹과 같은 옵션 선택기
- 슬라이더 및 스피너
- 디렉터리 및 파일 선택기
- 비밀번호 및 텍스트 필드
- 서식 있는 텍스트 필드
- 텍스트 영역
폼 컴포넌트에는 폼 전체에서 정렬되는 선택적인 선행 레이블이 있으며 매우 폭넓게 구성할 수 있습니다.
-
모든 화면에 대해 구성 가능한 액션 시퀀스
액션은 구성된 각 화면에 추가할 수 있으며 사용자가 다음 화면으로 이동할 때 실행됩니다. 이를 통해 install4j IDE에서 화면과 액션을 연결하여 인스톨러를 비주얼하게 프로그래밍할 수 있습니다. install4j는 폭넓은 범위의 사전 정의된 액션을 제공합니다. 액션은 설치된 확장이나 구성된 사용자 지정 코드 위치에서 가져올 수도 있습니다.
액션 시스템의 핵심은 배포 트리를 처리하는 "Install files" 및 "Uninstall files" 액션입니다. 이 액션들은 사용자가 선택한 설치 컴포넌트를 반영하고 필요한 경우 설치 컴포넌트를 다운로드합니다.
-
인스톨러 및 언인스톨러 스크립팅을 위한 액션install4j는 인스톨러 또는 언인스톨러의 상태를 변경할 수 있는 액션을 제공합니다. 이러한 액션에는 스크립트 실행, 인스톨러 변수 설정 및 진행률 바 상태 구성이 포함됩니다.
-
데스크톱 통합 액션
install4j는 지원되는 모든 플랫폼을 위한 데스크톱 통합 액션을 제공합니다. 여기에는 다음이 포함됩니다:
- Windows, macOS 및 Unix 데스크톱에 데스크톱 링크 추가
- Windows 시작 폴더에 실행 파일 추가
- Windows에서 빠른 실행 아이콘 생성
- Windows 및 macOS에서 파일 연결 생성
- Windows 시작 메뉴에 프로그램 그룹 생성, Unix 데스크톱용 시작 메뉴 항목 및 Unix의 일반적인 위치에 런처 링크 생성
- Windows 소프트웨어 레지스트리에 프로그램 추가/제거 항목 등록
-
파일 작업 액션
배포 트리의 구성으로 처리할 수 없는 파일 수정 및 설치 액션을 위해 다음을 포함한 다양한 파일 작업 액션이 제공됩니다:
- 파일 복사
- 파일 이동
- 파일 삭제
- 파일 수정 시간 설정
- Unix 및 macOS에서 심볼릭 링크 생성
- Unix 및 macOS에서 파일 액세스 모드 구성
- Unix 및 macOS에서 파일 소유자 구성
- ZIP 파일의 내용 설치
- Windows 액세스 권한 변경
- 크로스 플랫폼 PDF 뷰어에서 PDF 파일 표시
-
'Finish' 화면 옵션
인스톨러의 "Finish" 화면을 주요 용도로 하는 액션에는 다음이 포함됩니다:
- 런처 실행
- 컴퓨터 재부팅
- 브라우저에서 URL 표시
- 브라우저에서 파일 표시
- 독립형 크로스 플랫폼 뷰어에서 PDF 파일 표시
-
레지스트리 및 프레퍼런스 스토어 수정install4j는 Windows 레지스트리와 Java 프레퍼런스 스토어를 수정하기 위한 액션을 제공합니다. Windows 레지스트리의 키와 값, Java 프레퍼런스 스토어의 노드와 키를 삭제하거나 생성하거나 변경할 수 있습니다. Windows에서는 레지스트리 키에 대한 액세스 권한을 변경할 수 있습니다.
-
서비스 액션install4j는 서비스를 설치, 시작 및 중지하기 위한 액션을 제공합니다.
-
텍스트 파일 수정
텍스트 파일을 수정하기 위해 사용할 수 있는 여러 가지 액션에는 다음이 포함됩니다:
- 텍스트 파일에 추가 또는 생성
- 텍스트 파일의 줄 바꿈 수정
- 단순 검색/바꾸기 또는 정규 표현식으로 텍스트 파일 수정
-
XML 파일 수정install4j는 XML 파일을 수정하기 위한 액션을 제공합니다. 예를 들어 XML 파일에 XSLT 변환을 적용하거나 XML 파일에서 선택한 노드의 텍스트를 바꿀 수 있습니다. 이러한 액션은 Java EE 컨테이너에 배포하는 경우 특히 유용합니다.
-
기타 액션
그 외의 액션에는 다음이 포함됩니다:
- 이전 설치 제거
- 설치된 런처에 VM 옵션 추가
- 설치된 런처의 클래스패스 수정
- Windows에서 환경 변수 수정
- 관리자 사용자 요구
- 임의의 실행 파일 실행
-
컴파일러 변수install4j IDE의 대부분의 텍스트 필드는 컴파일러 변수를 지원합니다. 컴파일러 변수를 사용하면 미디어 파일마다 설정을 재정의하고 명령줄이나 ant 태스크에서 설정을 변경할 수 있습니다. 컴파일러 변수 값은 인스톨러와 언인스톨러에서도 쿼리할 수 있습니다.
-
인스톨러 변수인스톨러 변수를 사용하면 액션과 화면을 서로 연결할 수 있습니다. 구성 가능한 폼 화면의 폼 컴포넌트는 사용자 입력을 인스톨러 변수에 저장하며, 이 변수는 다른 화면이나 액션에서 사용할 수 있습니다. "Set a variable" 액션을 사용하면 스크립트를 실행하여 변수 값을 계산할 수 있습니다. 그 변수는 이후 화면, 액션 및 폼 컴포넌트의 속성에서 사용할 수 있습니다.
-
런처 변수install4j는 런처의 VM 파라미터와 인수를 조정하는 데 사용할 수 있는 여러 매직 런처 변수를 정의합니다.
-
현지화 키구성된 각 언어에 대해 사용자 지정 현지화 파일을 지정할 수 있습니다. 이러한 파일의 키를 사용하여 인스톨러와 언인스톨러에서 자신만의 메시지를 현지화하고 install4j의 기본 메시지를 재정의할 수 있습니다.
-
인스톨러 및 언인스톨러 컨텍스트컨텍스트 객체는 install4j IDE에 직접 입력하는 코드 스니펫에서 자주 사용됩니다. 컨텍스트 객체를 통해 인스톨러나 언인스톨러의 중요한 기능에 액세스할 수 있습니다.
-
일반 서비스install4j의 API는 설치된 애플리케이션에 대한 정보, 기본 JRE 라이브러리에서는 얻을 수 없는 시스템 정보, 설치된 JRE 및 JDK의 위치와 설치된 서비스의 상태에 액세스할 수 있는 여러 유틸리티 클래스를 제공합니다.
-
플랫폼별 서비스Windows 레지스트리 액세스나 Unix 전용 파일 시스템 작업 같은 여러 플랫폼별 서비스가 API에 노출되어 있습니다.
-
인스톨러 이벤트API에서 인스톨러 이벤트 리스너를 등록하면 인스톨러나 언인스톨러에서 발생하는 모든 액션 실행, 화면 전환, 파일 설치 및 수명 주기 이벤트에 대한 알림을 받을 수 있습니다.
-
화면, 액션 및 폼 컴포넌트를 위한 프레임워크API에서 적합한 프레임워크를 사용하여 자신만의 화면, 액션 또는 폼 컴포넌트를 신속하게 구현할 수 있습니다 (아래의 "Extensibility" 참조).
-
JavaBeans 프레임워크선택 사항으로 JavaBeans 사양에 따른 BeanInfo 클래스를 사용해 자신의 화면, 액션 및 폼 컴포넌트를 보강하여 install4j IDE에서 구성 가능하도록 만들 수 있습니다. API는 관련 속성을 노출하고 문서화하는 프레임워크를 제공합니다 (아래의 "Extensibility" 참조).
-
인스톨러용 테스트 APIinstall4j 테스트 API를 사용하면 테스트 JVM 내부에서 GUI 모드의 인스톨러 UI를 구동하는 자동화된 엔드 투 엔드 테스트를 작성할 수 있습니다. 테스트 API는 프레임워크에 종속되지 않으므로 JUnit, TestNG, Spock 또는 일반 main 메서드에서 사용할 수 있으며, Kotlin을 위한 관용적인 확장도 제공합니다. 테스트는 화면을 기다리고, 마법사를 탐색하고, 강력한 형식의 폼 컴포넌트 및 대화 상자와 상호 작용하고 결과를 검증합니다. GUI 테스트는 CI에서 헤드리스로 실행할 수도 있습니다.
-
JavaBeans 확장 모델install4j의 모든 화면, 액션 및 폼 컴포넌트는 사전 정의된 요소를 포함하여 인스톨러 API와 JavaBeans 사양을 사용해 사용자에게 구성 가능한 속성을 제공합니다. 풍부한 인스톨러 API로 install4j IDE에서 일급 시민으로 취급되는 새로운 빈을 만들 수 있습니다. JavaBeans 부분은 선택 사항이므로 구성할 필요가 없는 새로운 화면, 액션 및 폼 컴포넌트를 만드는 것은 매우 간단합니다.
-
사용자 지정 코드의 손쉬운 통합install4j IDE에서 자신만의 화면, 액션 및 폼 컴포넌트 구현을 담을 수 있는 사용자 지정 코드 위치를 구성할 수 있습니다. 새로운 화면, 액션 또는 폼 컴포넌트를 추가할 때는 언제든지 사용자 지정 코드에서 적절한 클래스를 검색하도록 선택할 수 있습니다.
-
확장JavaBeans를 확장 JAR 파일로 손쉽게 묶을 수 있습니다. install4j 설치의 "extensions" 디렉터리에 배치된 확장 JAR 파일은 자동으로 인식되며 포함된 빈이 적절한 레지스트리에 등록됩니다. 사용자가 그 빈을 사용하면 해당 확장이 인스톨러에 자동으로 배포됩니다.