web-dev-qa-db-ja.com

Javaデスクトップアプリケーションのインストーラを作成する

私はこの質問が何度も尋ねられたことを知っており、実行可能jarの使用、またはlaunch4jまたは同様のアプリを使用した.exeの作成についての答えは常にあります。

私は初心者のように聞こえるかもしれません。

私はJavaプロジェクトでいくつかのことを試しました。実行可能jarとそれから.exeファイルも正常に作成しました。SO :)

でも、Windows用のインストーラーを作りたい。同様に、次へを2〜3回押すと(すべての契約条件が表示されます)、ユーザーは場所(C:\ Program Files\New Folder\My Appなど)を指定し、次に.exe、libフォルダー、imgを指定します。フォルダー、他の重要なフォルダーが.exeファイルと共に宛先フォルダーに貼り付けられ、ショートカットがデスクトップに作成されます。

どうすればこれを達成できますか?

21
ItachiUchiha

InnoSetup を長い間使用しています。それは常に非常にうまくいきました。必要なすべての操作(ファイルの解凍、デスクトップへのショートカットの追加、スタートメニューなど)を実行でき、慣れ親しんだインストーラーを生成します。

16
Adam Dyga

フリーでオープンソースが必要な場合は、 IzPack をご覧ください。これは、ビルダーでコマンドラインをサポートするために使用されています。

ご覧になることもできます install4j これは、私たちが以前に試してみた商用製品です(ただし、お金を使うことに関しては、自分が望むものを手に入れていることを知りたいと思う傾向があります。 ))

8
MadProgrammer

Java Web Start を使用します。

同様に、[次へ]を2〜3回押します(すべての利用規約などが表示されます)

JNLP APIの ExtensionInstallerService がこれを提供します。これが インストーラサービスのデモ です。

..ユーザーが場所を指定すると(C:\ Program Files\New Folder\My Appなど)、..

ExtensionInstallerServiceはメソッド getInstallPath() を提供します。

インストーラが拡張機能のインストールを推奨するディレクトリを返します。インストーラがこのディレクトリにインストールする必要はありません。これは単なる推奨パスです。

それはあなたが求めていることとまったく同じではありませんが、ユーザーにそのレベルの制御を許可することは一般的に悪い考えだと思います。

次に、私の.exe、libフォルダー、imgフォルダー、その他の重要なフォルダーが.exeファイルと共に宛先フォルダーに貼り付けられます。

JWSは、JNLPで言及されているリソースを必要に応じて自動的にインストールします。さらに、サーバー上のアーカイブが変更された場合、リソースを更新します。

次に、デスクトップにショートカットが作成されます。

JWSは、サポートされているシステムでデスクトップショートカットとメニュー項目を提供できます。

例えば。

3
Andrew Thompson

JDK 13以上を使用している場合、JpackageというJDKのデフォルトのパッケージツールを使用して、Javaプログラムとそのランタイムをパッケージ化できます。これにより、本質的にインストーラーを作成できますLinux、MacおよびWindowsオペレーティングシステム。

ツールのEAは [〜#〜] jdk [〜#〜] の一部としてすでに利用可能です。

jlink を使用して、特定のランタイムを作成できます。

JpackageはWindowsバンドルを作成するためにいくつかのサードパーティのフリーソフトウェアを必要とします:

  • .exeバンドルを作成するには、Wixを使用します
  • .msiバンドルを作成するには、Innoを使用します

Jpackageの詳細はすべて JEP 343:Packaging Tool にあります。

1
ItachiUchiha

数か月前も同じ状況でした。たくさん試した後。 NSISをお勧めします。 Eclipse用の素敵なプラグイン EclipseNSIS といくつかのテンプレートがあります。簡単なクリックだけで基本的なインストーラーを入手するのに役立ちます。結果のコードが十分でない場合は、コーディングによって残りの作業を実行できますが、ほとんどのコードはEclipseNSISによって生成されます。

1
NormanC

Advanced Installer を使用することもできます。 JARを起動するためのEXEがすでにあるため、Java高度なインストーラーからのランチャーサポートを使用する必要はありません。 Simpleプロジェクト を作成できます。は無料版で利用できるので、ライセンスを購入する必要はありません。

インストールしてセットアップパッケージを作成するのに、最大10分かかります。これは、使用方法を習得するのが非常に簡単であることを示しています。

1
Bogdan Mitrache