2016-05-01 8 views
2

私はUpdateFXフレームワークを使用してアプリケーションを更新しています。だから私は、私のアプリを起動すると、更新を確認します。新しいバージョンを確認するスニペットは次のとおりです。UpdateFXを使用してJavaFXアプリケーションを更新します

UpdateFX updater = new UpdateFX(this.getClass()); 
updater.checkUpdates(); 

新しいバージョンがインストールされている場合は、ファイルをダウンロードします。しかし、プログラムの実行中に書き直すには?

答えて

2

UpdateFXが処理します。私はいつかUpdateFXのソースコードを調べることをお勧めします。そうすればInstallerServiceが表示され、ProcessBuilderを使用してOSのネイティブコマンドを呼び出すことで、アプリケーションを実際に更新することができます。 MAC OSについて

、本アプリケーションが実行されるまで保留にプロセスを置くたbash scriptにPIDを渡し:

while /bin/ps -p $APP_PID > /dev/null; do 
    /bin/sleep 1; 
done 
Platform.exit()

それを使用して、その後キル現在実行中のアプリケーション。 bashプロセスは独立しているので、実行し続けるfalseにアプリケーションが終了したら

、ループデフォルトで上記の条件とスクリプトは、アプリケーションディレクトリにディスクイメージ、removing the old filecopying the new fileをエミュレートすることによって実行を継続します。新しいインストールされたアプリケーションopens

関連する問題