install4j の機能

install4jには、マルチプラットフォームエディションとWindowsエディションの2つのエディションがあります。

2つのエディションの違いについては、エディション比較をご覧ください。

install4j の主な機能は以下のとおりです:

幅広いプラットフォームサポート
install4jはすべてのメインストリームプラットフォーム向けのメディアファイルを作成します:
  • 32ビットWindows
    install4jが生成するネイティブインストーラー実行ファイルは、Windows Server 2012/2016/2019/2022/2025、Windows 7、8、10、11で動作します。 フォールバックとして、ディストリビューションツリーと生成されたランチャーを含むZIPアーカイブを作成できます。
  • 64ビットWindows
    Windows用のデフォルトの32ビットインストーラーに加えて、install4jは64ビット版のWindows Server 2012/2016/2019/2022/2025、Windows 7、8、10、11向けの 64ビットインストーラーを生成できます。この場合、生成されるすべてのランチャーも64ビット実行ファイルになります。 64ビット実行ファイルは、 64ビットのJREを使用して64ビットのWindowsインストール環境で動作します。
  • Windows ARM
    32ビットおよび64ビットのx86アーキテクチャに加えて、Windowsメディアウィザードの「Installer options」 ステップでarm64アーキテクチャを選択できます。ネイティブARMサポートにより、アプリケーションはエミュレーションモードでx86バイナリとして実行される場合よりも はるかに高速に動作します。
  • Windows MSIXパッケージ
    ネイティブインストーラー実行ファイルに加えて、install4jはMSIXパッケージを生成できます。これは、Microsoft StoreやMicrosoft Intuneのような 管理型デプロイメントツールでも使用されている最新のWindowsパッケージング形式です。MSIXパッケージはWindows自体によって 完全に元に戻せる形でインストールおよびアンインストールされ、管理者権限がなくても インストールできます。サービス、ファイルの関連付け、URLハンドラ、 PATH上の実行ファイルといったinstall4jの概念は、マニフェストエントリに直接変換されます。
  • macOS
    install4jは、macOS 10.15以降のすべてのmacOSバージョンをサポートしています。 GUIインストーラーは、アプリケーションをmacOS上の正規のアプリケーションバンドルとしてインストールします。 また、ランチャーごとにアプリケーションバンドルをサポートするフォルダタイプのインストールも利用できます。 最後に、macOS用のシングルバンドルアーカイブは、シンプルなディストリビューションに最も便利なインストールを 提供します。
  • Unix
    UnixとLinuxの場合、install4jはBourneシェルを持つすべてのPOSIX準拠システム上でアーキテクチャに依存せずに実行される インストーラーを作成します。フォールバックとして、ディストリビューションツリーと生成されたランチャーを含むgzip圧縮TARアーカイブを作成できます。
  • Linux RPMおよびDebパッケージ
    RPMファイルとDebファイルにより、JavaアプリケーションをLinuxで最も広く使われているパッケージ管理 システムの一部にできます。install4jは、RPMおよびDebメディアファイルに対して、インストール前、インストール後、アンインストール前、 アンインストール後の各スクリプトをサポートしています。
IDEとコンパイラ
install4jにより、インストーラーの設計とビルドはこれまで以上に簡単になります:
  • インストーラー設計のための使いやすいIDE
    install4jの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エージェントスキルが付属しており、変更内容を自然言語で記述してプロジェクトに直接適用できます。 このスキルは自己完結型のナレッジパッケージで、プロジェクトファイルのスキーマ、すべてのBeanクラスのカタログ、サンプルプロジェクト、install4j API、完全なドキュメントをまとめています。Claude Code、Cursor、Codex CLI、Antigravityといった一般的なエージェントに、 グローバルにもプロジェクト単位でもインストールできます。
  • プロジェクトのHTMLへのエクスポート
    プロジェクトは、レビュー、公開、印刷のためにHTMLにエクスポートできます。プロジェクト設定のすべての側面が エクスポートされます。
ディストリビューションツリーの構築
install4jのGUIでは、次のことができます:
  • ディストリビューションツリーを自由に定義
    ディストリビューションツリーの各ディレクトリには、ファイルシステム内の任意のディレクトリから、ディレクトリ全体の内容や 個々のファイルを追加できます。 定義ビューと結果ビューにより、インストーラーが配布するファイルを 完全に制御できます。
  • 複数のインストールルートを設定
    デフォルトのインストールディレクトリに加えて、追加のインストールルートを作成できます。インストールルートは、 Windowsシステムディレクトリやユーザーホームディレクトリといった、事前定義された「マジックフォルダ」に 対応させることができます。あるいは、インストールルートには実行時に解決されるインストーラー変数を 含めることもできます。この仕組みにより、プラグインのインストールやシステム拡張が容易になります。
  • 複数のファイルセットを設定
    インストールするファイルを実行時に決定したい場合や、異なる構成向けの代替ファイルを 提供する必要がある場合は、ディストリビューションツリーに追加のファイルセットを作成できます。
  • ディストリビューションツリーでコンパイラ変数を使用
    コンパイラ変数を使用すると、メディアファイルウィザードで変数を上書きすることにより、 メディアファイルごとにディストリビューションを調整できます。
  • プラットフォーム固有の違いへの対応
    install4jには、プラットフォーム固有の方法でディストリビューションを 調整できる便利な包含/除外メカニズムが用意されています。
  • Unix、Linux、macOS用のファイル権限を定義
    ディストリビューションツリーの各要素に対して、Unix系プラットフォームへのインストール用に カスタムアクセス権を定義できます。
  • きめ細かなアンインストールポリシーを定義
    ディストリビューションツリーの各要素に対して、どのような場合にファイルを削除するかをアンインストーラーに 指示する、個別のアンインストールポリシーを指定できます。 更新インストール用の特別なアンインストールポリシーも用意されています。
  • きめ細かな上書きポリシーを定義
    ディストリビューションツリーの各要素に対して、インストール中にファイルの上書きが必要になった場合にinstall4jが どのような処理を行うかを決定する、個別の上書きポリシーを設定できます。 更新インストール用の特別な上書きポリシーも用意されています。
  • インストールコンポーネントのツリーを定義
    個別のインストール コンポーネントを構成するファイルとディレクトリのグループを定義できます。インストールコンポーネントとコンポーネントフォルダはツリー状に配置できます。ユーザーがインストーラーでインストールコンポーネントの詳細を 確認できるように、説明を割り当てることもできます。 さらに、インストールコンポーネント間の依存関係を設定できます。 インストールコンポーネントはインストーラーデータファイルの基礎となり、必要に応じてダウンロードすることもできます(下記参照)。
ネイティブランチャーの生成
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ではオプションで、アプリケーションのインスタンスが1つだけ 実行されるように強制できます。ランチャー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のリダイレクト
    標準出力と標準エラーの各ストリームは、カスタムファイルにリダイレクトできます。これにより、 stderr上の例外スタックトレースのような貴重な情報にアクセスできます。これはJava GUIアプリケーションでは 通常失われてしまうものです。stderrとstdoutのファイルは 必要な場合にのみ作成されるため、空のログファイルが生成されることはありません。
  • 起動失敗の検出
    端末ウィンドウが点滅したり、GUIアプリケーションが何も表示しないままハングしたりすることはもうありません。 install4jの実行ファイルはstderrの出力ファイルを監視し、起動の失敗を知らせる 役立つ情報の入ったダイアログを表示します。
  • カスタムアイコン
    install4jは画像ファイルを使用して、ランチャーのアイコンを作成します。 WindowsアイコンはWindows 10向けに最適化され、古いバージョンのWindowsでも 最適な表示品質を持つように作成されます。独自のWindowsアイコンファイルを指定することもできます。 macOSでは、ICNSアイコンファイルが使用されます。 Linux/Unixデスクトップでは、指定したアイコンを含む .desktopファイルが作成され、 ユーザーはデスクトップやスタートメニューに簡単にショートカットを追加できます。
  • macOS上のアプリケーションバンドル
    install4jを使用すれば、Macのエキスパートになることなく、アプリケーションをmacOSで ファーストクラスの存在にできます。macOSでは、install4jの実行ファイルは 正規のアプリケーションバンドルの一部となります。
インストーラーとアンインストーラー
install4jは次の機能を備えたインストーラーを作成します:
  • Java 8から最新バージョンまでのサポート
    install4jが生成するインストーラーは、install4j IDEで設定したプロジェクトの最小要件に応じて、 少なくともJava 7で、最大で最新のJavaバージョンまで実行されます。
  • LZMAおよびPack200圧縮アルゴリズム
    オプションのLZMA圧縮アルゴリズムを使用すると、市場で入手可能な最高の圧縮率を達成できます。
  • GUIインストーラーモード
    install4jは、自由に設定可能な画面とアクションを備えた、プロフェッショナルな外観のGUIインストーラーを生成します。 各画面にアクションを追加できるため、install4j IDEで インストーラーを視覚的にプログラムできます。同様に設定可能なアンインストーラーが各インストーラーに対して自動的に生成されます。
  • コンソールインストーラーモード
    すべてのGUIインストーラーは、オプションでコンソールインストールをサポートしています。コンソールインストールでは、インストーラーの画面が ターミナル上に表示されます。install4jの定義済みの画面とアクションはすべてコンソールモードをサポートしており、アンインストーラーも同様です。 これは、ヘッドレスのUnix/Linuxサーバーへのインストールに特に便利です。Java 25以降で ANSI対応のターミナル上で実行した場合、コンソールモードは、カラー出力、ライブ進行状況バー、スピナー、 単一選択および複数選択リスト、タブ補完付きのマスク入力、組み込みのページャーを備えたモダンな対話型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を静的にバンドル
    install4jでメディアファイルを定義する際に、バンドルするJREを選択できます。JREは インストーラーによって配布され、生成されたすべてのランチャーで使用されます。更新インストーラーは、 すでにインストールされている以前のバージョンのJREバンドルを再利用できます。
  • ビルド時に適切なJREバンドルを生成
    install4jは、さまざまなJDKプロバイダーをJREバンドル作成の基盤としてサポートしています。モジュール化されたアプリケーションでは、 JREバンドルのリンク時に、アプリケーションのモジュールグラフが考慮されます。 手動でのモジュール要件の指定やJMODの追加もサポートされています。
  • 独自のJREバンドルを準備
    利用可能なJDKプロバイダー以外のソースのJREバンドルが必要な場合は、 「Create a JRE bundle」ウィザードを使用して、ファイルシステム内の任意のJREから JREバンドルを作成できます。1.8のJREでは、JARファイルはPack200圧縮アルゴリズムでパックされます。
更新
install4jは、インストール済み環境の更新に積極的に対応します:
  • アプリケーションID
    各プロジェクトには一意のアプリケーションIDがあり、これによりJREは更新インストールを検出できます。 インストーラーAPIでアプリケーションIDを使用して、既存のインストールに関する情報を取得することもできます。
  • 以前の場所の提案
    アプリケーションがすでにインストールされている場合、インストーラーはオプションで、以前に 選択されたインストールディレクトリと以前のプログラムグループをユーザーに提案できます。
  • 更新時にアンインストーラーを実行
    「Uninstall previous installation」アクションを使用すると、新しいインストールを実行する前に、 古いインストールのアンインストーラーを無人モードで実行できます。
  • デプロイ済みサービスの停止
    「Install files」アクションは、インストール前に実行中のサービスを自動的に停止し、 新しいサービス実行ファイルをインストールします。
  • アプリケーションの実行中インスタンスの検出
    「Install files」アクションは、GUIランチャーやコンソールランチャーのインスタンスがまだ実行中かどうかを検出し、 インストールを続行する前にそれらを閉じるようユーザーに求めます。
  • 「add-on」インストーラーの作成
    通常のインストーラーに加えて、install4jは「add-on」インストーラーを作成できます。これは、 指定されたアプリケーションIDを持つ既存のインストールの上に、ディストリビューションツリーだけをインストールするものです。 これにより、インストール済み環境へのパッチの配布が容易になります。
自動アップデート機能
install4jは、アプリケーション向けの柔軟な自動アップデート機能を提供します:
  • アップデーターテンプレート
    自動アップデーターには、固有のニーズに対応するための高い柔軟性が必要です。install4jでは、 アップデーターのあらゆる側面をカスタマイズできます。標準のアップデーターテンプレートが複数用意されています。スタンドアロンのアップデーターと、 サイレントなバックグラウンドチェックを行うアップデーターといった異なるシナリオがある場合は、 プロジェクトに複数のアップデーターを追加できます。
  • 自動生成されるアップデートディスクリプタ
    ビルドごとに、install4jはアップデートディスクリプタを生成します。これをWebサーバーに配置して、 ユーザーにアップデートを通知できます。アップデートディスクリプタはカスタマイズ可能で、特定の インストール済みバージョンにアップデートを制限したり、アップデーターにコメントを伝えたりできます。
  • 柔軟なアップデート選択ロジック
    アップデーターがアップデートインストーラーを選択するロジックはハードコードされていません。アップデーターテンプレートには、 編集することでより複雑なアップデートシナリオを作成できるスクリプトが含まれています。
  • アップデーターAPI
    アップデーターAPIを使用すると、独自のアプリケーションコードからアップデートを確認できます。さらに、アプリケーションから アップデーターを起動したり、新しいバージョンのインストール時にシャットダウン要求に対応したりできます。
  • アップデートスケジュールレジストリ
    定期的なスケジュールでアップデートを確認したい場合は、アップデートスケジュールレジストリAPIを使用すると、 アプリケーションコードで簡単に実現できます。また、インストーラー内でユーザーがアップデートスケジュールを 設定できるようにする、特殊なフォームコンポーネントも用意されています。
インストーラーアプリケーションの柔軟な定義
「Screens & Actions」タブはinstall4j IDEの中核をなし、次の機能を備えています。
  • カスタムインストーラーアプリケーション
    install4jでは、インストーラーとアンインストーラー向けに完全に柔軟なスクリーンとアクションのフローを設定できるだけでなく、 インストールの一部として動作するカスタムインストーラーアプリケーションも作成できます。カスタム インストーラーアプリケーションはインストーラーと同じ外観を持ち、利用可能なすべてのスクリーンとアクションを 使用できます。インストール後にインストーラーの特定の部分を実行したい場合も、 アプリケーション内で改めてコードを書く必要はありません。
  • スクリーンとアクションのグループ
    スクリーンとアクションをグループにまとめると、スクリーンとアクションのフローが明確になります。グループには 共通の条件式と、オプションのループ式を設定できます。これは、そうでなければインストーラー内のスクリーンやアクションの数が 管理しきれなくなるような大規模プロジェクトで特に重要です。
  • リンクによるスクリーンとアクションの再利用
    インストーラーやカスタムインストーラーアプリケーションの任意の場所から、スクリーンやアクション、スクリーンとアクションのグループへの リンクを作成できます。これにより、インストールシーケンスの一部を カスタムインストーラーアプリケーションで再利用できるほか、スクリーンとアクションの定義を コピーすることなく、複数のインストールシーケンスを構築することもできます。
  • スクリーン、アクション、フォームコンポーネントの無効化
    スクリーン、アクション、フォームコンポーネントを無効化すると、実質的にコメントアウトしたのと同じになります。これにより、 部分的なインストーラーを素早く構築したり、デバッグ目的の要素を追加したりできるため、インストーラープロジェクトの開発が 容易になります。
  • コメント
    大規模プロジェクトやドキュメント化が必要なプロジェクトでは、ドキュメントを 定義に紐付けておくことが重要です。install4jでは、スクリーン、アクション、フォームコンポーネントに 省略可能なコメントを追加できます。キーボードアクセラレータを使用すると、すべてのコメント間を素早く移動できます。
  • クイック検索
    スクリーン & アクションタブのクイック検索機能を使用すると、スクリーンとアクションやそのIDを 簡単に検索できます。
スクリーン
install4jのスクリーンシステムは以下を提供します:
  • インストーラーとアンインストーラー向けの設定可能なスクリーンシーケンス
    インストーラーとアンインストーラーのスクリーンシーケンスは、install4jの定義済みスクリーン、インストールされた拡張機能が 提供するスクリーン、または設定されたカスタムコードロケーションに含まれる独自のスクリーンの中から、 任意の順序で構成できます。
  • 一般的なタスクのための標準スクリーン

    標準スクリーンは完全にローカライズされており、それぞれ特定のタスクを担います:

    • インストーラーまたはアンインストーラーのウェルカムスクリーン
    • インストールディレクトリの選択
    • ライセンス契約の表示とユーザーへの同意の確認
    • インストールタイプの選択
    • インストールコンポーネントの選択
    • 標準プログラムグループの選択
    • 生成されたランチャーによるファイル関連付けの構成
    • サービスの構成
    • デスクトップへのショートカットの作成などの追加確認の表示
    • インストールまたはアンインストールの進行状況の表示
    • テキストまたはHTML形式での情報の表示
    • インストーラーとアンインストーラーの終了スクリーン
  • 設定可能なスクリーン

    設定可能なスクリーンはテンプレートであり、アクションと組み合わせてインストーラーを視覚的にプログラムするために使用できます。

    • 左側に画像バナーを備えたスクリーン
    • 左側に画像バナーを備えた設定可能なフォーム
    • 設定可能なフォーム
    • ディレクトリの選択
    • プログラムグループの選択
    • テキストの表示
    • PDFファイルの表示
    • 進行状況の表示

    設定可能なスクリーンでは、すべてのメッセージを調整できます。

  • フォームスクリーン

    フォームスクリーンはinstall4jで最も柔軟性の高いスクリーンであり、インストーラーやアンインストーラーの任意のスクリーンを 素早く構成できます。フォームスクリーンには、縦方向に沿って整列された複数のフォームコンポーネントが 含まれています。幅広い種類のフォームコンポーネントの中から選択できます:

    • ラベルとスペーサー
    • チェックボックス、コンボボックス、リスト、ドロップダウンリスト、ラジオボタングループなどのオプションセレクター
    • スライダーとスピナー
    • ディレクトリおよびファイルチューザー
    • パスワードフィールドとテキストフィールド
    • フォーマット済みテキストフィールド
    • テキストエリア

    フォームコンポーネントには省略可能な先行ラベルを付けることができ、ラベルはフォーム全体で整列され、高度に設定できます。

アクション
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 には複数の変数システムがあります:
  • コンパイラ変数
    install4j IDE のほとんどのテキストフィールドはコンパイラ変数をサポートしています。コンパイラ変数を使用すると、 メディアファイルごとの設定を上書きしたり、コマンドラインや Ant タスクから設定を変更したりできます。 コンパイラ変数の値は、インストーラーやアンインストーラーから照会することもできます。
  • インストーラー変数
    インストーラー変数を使用すると、アクションとスクリーンを相互に連携させることができます。設定可能なフォームスクリーンのフォームコンポーネントは、 ユーザーの入力をインストーラー変数に保存します。この変数は、他のスクリーンやアクションで使用できます。 "Set a variable" アクションでは、スクリプトを実行して変数の値を計算できます。その変数は、 スクリーン、アクション、フォームコンポーネントのプロパティで使用できます。
  • ランチャー変数
    install4j は、ランチャーの VM パラメータや引数を調整するために使用できる、 さまざまなマジックランチャー変数を定義しています。
  • ローカライゼーションキー
    設定した各言語に対して、カスタムローカライゼーションファイルを指定できます。これらのファイルのキーを使用して、 インストーラーやアンインストーラーで独自のメッセージをローカライズしたり、install4j の デフォルトメッセージを上書きしたりできます。
インストーラー API
install4j はインストーラーとアンインストーラーのための豊富な API を提供します:
  • インストーラーとアンインストーラーのコンテキスト
    コンテキストオブジェクトは、install4j IDE に直接入力するコードスニペットで頻繁に使用されます。 インストーラーやアンインストーラーの重要な機能へのアクセスを提供します。
  • 一般サービス
    install4j の API は、インストール済みアプリケーションの情報や、デフォルトの JRE ライブラリでは 取得できないシステム情報、インストール済み JRE および JDK の場所、インストール済みサービスの状態などへの アクセスを提供するユーティリティクラスをいくつか備えています。
  • プラットフォーム固有のサービス
    Windows レジストリへのアクセスや Unix 固有のファイルシステム操作など、 プラットフォーム固有のいくつかのサービスが API で公開されています。
  • インストーラーイベント
    API でインストーラーのイベントリスナーを登録すると、インストーラーやアンインストーラーにおける すべてのアクション実行、スクリーン遷移、ファイルインストール、 ライフサイクルイベントについての通知を受け取ることができます。
  • スクリーン、アクション、フォームコンポーネントのフレームワーク
    API に用意されている適切なフレームワークを使用すれば、独自のスクリーン、アクション、フォームコンポーネントを すばやく実装できます(下記の "Extensibility" を参照)。
  • JavaBeans フレームワーク
    オプションで、JavaBeans 仕様に準拠した BeanInfo クラスをスクリーン、アクション、フォームコンポーネントに 追加すれば、install4j IDE で設定可能な要素にできます。API は、関連するプロパティを公開して 文書化するフレームワークを提供しています (下記の "Extensibility" を参照)。
  • インストーラー向けテスト API
    install4j Test API を使用すると、テスト JVM 内から GUI モードのインストーラー UI を操作する 自動化されたエンドツーエンドテストを作成できます。フレームワークに依存しないため、JUnit、TestNG、Spock や 単純な main メソッドから利用でき、Kotlin 向けに自然な記述を可能にする拡張も提供しています。テストはスクリーンを 待ち受けてウィザードをナビゲートし、厳密に型指定されたフォームコンポーネントやダイアログとやり取りして、 結果を検証します。GUI テストは CI でヘッドレス実行することもできます。
拡張性
install4j は拡張可能です:
  • JavaBeans 拡張モデル
    install4j のすべてのスクリーン、アクション、フォームコンポーネント(事前定義された要素を含む)は、 インストーラー API と JavaBeans 仕様を使用して、設定可能なプロパティを ユーザーに提示します。豊富なインストーラー API を使用すれば、install4j IDE で ファーストクラスの存在となる新しい Bean を作成できます。JavaBeans の部分はオプションなので、 設定不要の新しいスクリーン、アクション、フォームコンポーネントの作成は非常に簡単です。
  • カスタムコードの簡単な統合
    install4j IDE では、独自のスクリーン、アクション、フォームコンポーネントの実装を格納できる カスタムコードロケーションを設定できます。新しいスクリーン、アクション、 フォームコンポーネントを追加する際は、適切なクラスをカスタムコードから検索することをいつでも選択できます。
  • 拡張機能
    JavaBeans は拡張 JAR ファイルに簡単にバンドルできます。install4j インストールの "extensions" ディレクトリに 配置された拡張 JAR ファイルは自動的に検出され、その Bean は適切なレジストリに登録されます。ユーザーが その Bean を使用すると、拡張はインストーラーに自動的にデプロイされます。