11

izpackでインストーラーを作成します。.jar ファイルにあります。配布するために、.exeファイルで作成したいと考えています。どうすれば簡単にできますか?

4

3 に答える 3

8

Andrewは常に最初からJavaWebStartテクノロジーを宣伝するのが好きです:)それは素晴らしいテクノロジーです。ただし、技術的な部分をいじり始める前に、まず技術的な部分を学ぶ必要もあります。

それ以外の場合は、次のような古いスタイルのEXE配布モデルが残ります...

とにかく私はIzpackに精通していません。ただし、 izPackで何ができるかについては、組み合わせた結果を達成するための同様の個別のツールがあります。私のお気に入りのEXE作成およびインストーラーツールは、EclipseIDEから実行されるLaunch4J + InnoSetup + Antタスクです。

Launch4JはJavaアプリランチャーです。 InnoSetupは、インストール作成者の Antタスクであり、開発者がビルドと統合の手順を実行するのに役立ちます。

Launch4J + InnoSetup+Antビルドタスク+EclipseIDEの使用方法http ://www.eteks.com/tips/tipCreationExe.html (フランス語-Google翻訳を使用)

デスクトップベースのWindowsEXEファイルをJavaアプリに配布することを考えている場合は、ターゲット環境についても考慮する必要があります。WindowsXP以下のバージョンをターゲットにしている場合は問題ありません。ただし、WindowsVistaおよびWindows7で正しく動作させたい場合は、大きなフラストレーションになり始めます。

%ProgramFiles%Windows Vista / Windows 7では読み取り専用フォルダーになっているため、保存が必要なアプリケーション構成や一時ファイルなどは保存しないことをお勧めします。そのような目的のためにユーザーのプロファイルフォルダを使用してください。

もちろん、「管理者として実行」でアプリを実行することでバイパスできますが、次の設定が必要です。

WindowsVistaおよびWindows7は、ユーザーアクセス制御(UAC)プロンプト機能を介して厳密なユーザーアクセスポリシーを導入しました。ソフトウェアのインストールは、Administratorsグループのユーザーアカウントを使用して実行する必要があります。デフォルトのWindowsシステムでProgram Filesは、すべてのフォルダが読み取り専用に設定されており、管理者以外のユーザーアカウントに何かを保存しようとすると、問題が発生する可能性があります。管理者以外のユーザーアカウントを使用してJavaアプリを実行するには、アプリケーションのプロパティを有効に設定する必要がありますRun as administrator。デスクトップにショートカットを作成し、Run as administrator同様に有効にするように設定する必要があります。

次の問題を解決する方法:

(1)AppUserModelIDWindows Vista / Windows 7でのJavaサポートの問題には、次の解決策が必要です: Launch4j、NSIS、および重複して固定されたWindows7タスクバーアイコン

(2)Javaアプリの問題にRun as Administratorは、次の解決策が必要 です。WindowsVistaでJavaアプリの管理者権限を要求する

それ以外に、%ProgramFiles%64ビットWindows版で実行する場合も確認する必要があります。パスは、32ビットWindowsと64ビットWindowsで同じではありません。64ビットWindowsでは、すべての32ビットアプリがになります%ProgramFiles(x86)%

したがって、にインストールされているJavaアプリのフォルダとサブフォルダへのハードコードされたファイルパス値を使用する場合は注意が必要です%ProgramFiles%。次のISSファイルスニペットでInnoSetupWindows environment variableによって生成できるを設定することをお勧めします。Javaを使用して変数を取得します。System.getenv("MYAPP_HOME")

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; Flags: uninsdeletevalue; ValueType: string; ValueName: "MYAPP_HOME"; ValueData: "{app}\"

[Tasks]
Name: modifypath; Description:"Add application directory to your environmental path"; Flags: unchecked

[Run]
Filename: "{app}\MyApp.EXE"; Parameters: """{app}""\"; WorkingDir: "{app}\"; Description: "Run MyApp"; Flags: postinstall nowait skipifsilent

[Code]

const
    ModPathName = 'modifypath';
    ModPathType = 'system';

function ModPathDir(): TArrayOfString;
begin
    setArrayLength(Result, 1)
    Result[0] := ExpandConstant('{app}');
end;
#include "modpath.iss"

実験してお楽しみください!

于 2011-04-13T09:46:09.420 に答える
0

winrun4jは非常に使いやすいですが、私の唯一の問題は、組み込み JVM を使用して配布しない限り、64 ビットと 32 ビットの両方のダウンロードを提供する必要があることです。

于 2012-08-22T19:20:21.513 に答える
0

アプリなら。には GUI があり、Web サイトから配布できますが、Java Web Startが最適なソリューションを提供します。JWS は、Java をサポートするすべてのプラットフォームで機能し、Oracle によってサポートされています。

(.Net は「Windows のみ」のソリューションでうまく機能すると聞いています。)

于 2011-04-13T09:20:41.553 に答える