1

I want to use QT Jambi for GUI (Java project). The GUI needs to have animations (similar to Iphone apps). That is why, I do not want to use Java Swing.

My question is, after I develop the application, is there any automatic mechanism which would create a setup file which could be used to install my application in any computer (may be separate "setup" files for separate OS). In other words, I would like my users to download just one file: setup.exe. This should install the app in their computer.

I know there is one such app for .jar files (I forgot the name). But QT is a C++ library and I do not like bothering the users, asking them to download QT just to use my app.

4

2 に答える 2

1

デスクトップでのみ win32 をターゲットにして、フリー/オープンなツールを探していると思います。これまでのところ、この質問に対する回答はありませんでしたが、あなたが本当に望んでいる答えでなくても、この点に関していくつかの情報を提供したいと思いました.

私は過去 2 年間、QtJambi エコスフィアを調べてきましたが、その結果が EXE になるプロセスを提供するツールを知りません。あらゆる種類の注意事項があります。

タスク:

  1. JRE5+ がターゲット システムにインストールされていることを確認します。
  2. QtJambi ファイルを確認し、ネイティブ JAR の抽出などを実行します。
  3. QtJambi の前提条件がターゲット システム (MSVCxxxx ランタイムなど) にインストールされていることを確認します。
  4. 最後に、アプリケーションをインストールし、スタートアップ構成を修正して、上記の情報を利用します。
  5. 簡単にアクセスできるようにデスクトップをセットアップします (プログラム グループ、デスクトップ アイコン、メニュー項目、ショートカット)

NSIS http://nsis.sourceforge.net/は、プロセスの一部を取得するためのツールになり、作業の他の部分を実行する NSIS 用のモジュールを作成するためのフレームワークを提供する可能性があることがわかります。しかし、単純なデータの解凍とデスクトップ インストール プロセスのセットアップ以外に一歩踏み出すと、NSIS がやや不足していることがわかりました。

もう 1 つの解決策は、1 つの ZIP ファイルで機能するすべてのものを提供することです。これには、Java JRE のコピー、埋め込まれた QtJambi のコピー、JAR の残りの部分が含まれ、トップレベルの *.BAT ファイルをセットアップに書き込みます。アプリケーションに対して提供された java.exe を実行するための %PATH% およびその他の引数。明らかに、JRE が更新される可能性は低いため、ある時点で安全ではないと見なされます。

このような Windows インストーラーは NSIS だけではありません。

QtJambi のセットアップに役立つカスタム パーツを備えた完全自動のワンクリック インストール ラッパーがあるかもしれませんが、現時点では疑わしいと思います。

于 2012-06-28T22:15:55.060 に答える
0

良い質問であり、答えの良い試みです。

Qt Jambi ライブラリを埋め込みますが、JRE は埋め込みません。必要なリソースを構成するいくつかの基本的な sh/bat 起動スクリプトがあり、インストーラーに IzPack を使用しています (ただし、NSIS は良い代替手段かもしれません)。

問題: JRE を見つける方法

  • 解決策: IzPack インストーラーを実行するには JRE が必要であるため、1 つの可用性が保証されます。インストール中にスクリプト内の変数を更新できます。
  • 解決策 (Windows):レジストリを使用する
  • 最後の手段: パスを使用する

理想は、3 つすべてをバッチ ファイルに統合することです。誰かがこれをしましたか?

問題: Qt & Qt Jambi ライブラリ

  • 解決策: アプリケーションと一緒に配布し、シェル/バッチ ファイルからリンクします。

これに関する問題は、バイナリ互換性のない Qt ライブラリがシステムに既にインストールされている場合に、ライブラリが確実に使用されるようにする方法です。Linux では、ライブラリの抽出とエクスポートLD_LIBRARY_PATHは機能しているようです。Windows ではこれを解決できず、Mac では試していません。

問題: 最も適切な Qt ライブラリ

32 ビットの Qt ライブラリは、おそらく 64 ビットの JRE では動作しません。これは私がまだ対処する必要のない問題です。おそらく最良の解決策は、32 ビットと 64 ビットの両方の Qt ライブラリを含め、実行時 (またはインストール時) にスクリプトから選択することです。

もう 1 つの問題はテーマに関連しています。Qt はネイティブ テーマの使用をサポートしていますが、それがコンパイルされているプラ​​ットフォームからのみです。したがって、Qt を古い Windows バージョンでコンパイルし、最新バージョンの Windows でライブラリを使用することは機能しているように見えますが、Windows 98 風の醜いウィジェットが生成されます。-style Plastique最も簡単な解決策は、 (または)で起動して、cleanlooks見栄えの良いウィジェットを取得することです。

于 2013-10-08T13:16:53.487 に答える