1

我想将 QT Jambi 用于 GUI(Java 项目)。GUI 需要有动画(类似于 Iphone 应用程序)。这就是为什么,我不想使用 Java Swing。

我的问题是,在我开发应用程序之后,是否有任何自动机制可以创建一个设置文件,该文件可用于在任何计算机上安装我的应用程序(可能是单独操作系统的单独“设置”文件)。换句话说,我希望我的用户只下载一个文件:setup.exe。这应该在他们的计算机中安装该应用程序。

我知道有一个这样的 .jar 文件应用程序(我忘记了名字)。但是 QT 是一个 C++ 库,我不喜欢打扰用户,要求他们下载 QT 只是为了使用我的应用程序。

4

2 回答 2

1

我想你只是在桌面上标记 win32 并寻找免费/开放的工具。到目前为止,我没有对这个问题做出任何回应,我想我会提供一些关于这一点的信息,即使这不是你真正想要的答案。

在过去的几年里,我一直在研究 QtJambi 生态圈,但我不知道有这样一个工具可以为您提供一个流程来遵循导致 EXE 的过程。有各种各样的警告。

任务:

  1. 确保 JRE5+ 安装在目标系统上。
  2. 确保 QtJambi 文件并执行诸如提取本机 JAR 之类的操作。
  3. 确保 QtJambi pre-reqs 安装在目标系统上(例如 MSVCxxxx 运行时)。
  4. 最后安装您的应用程序并修复启动配置以利用上述信息。
  5. 设置桌面以方便访问(程序组、桌面图标、菜单项、快捷方式)

您会发现 NSIS http://nsis.sourceforge.net/可以成为获取该过程某些部分的工具,并且可能提供一个框架来为 NSIS 编写模块以完成其他部分的工作。但是,当您跳出简单的数据解压缩和桌面安装过程设置之外时,我发现 NSIS 有点缺乏。

您的另一种解决方案是简单地提供在一个 ZIP 文件中工作的所有内容,这将包括嵌入的 Java JRE 的副本、嵌入的 QtJambi 的副本、JAR 的其余部分,然后编写一个顶级 *.BAT 文件来设置%PATH% 和其他参数来针对您的应用程序运行您提供的 java.exe。显然,现在 JRE 不太可能得到更新,因此在某些时候会被认为是不安全的。

NSIS 并不是唯一存在的此类 Windows 安装程序。

也许有一个带有自定义部件的全自动一键安装包装器来帮助设置 QtJambi,但我现在对此表示怀疑。

于 2012-06-28T22:15:55.060 回答
0

好问题,一个很好的答案尝试。

我走了一条稍微不同的路线:嵌入 Qt Jambi 库,但不是 JRE。我有一些基本的 sh/bat 启动脚本来配置所需的资源,并且正在使用 IzPack 作为安装程序(尽管 NSIS 可能是一个不错的选择)。

问题:如何找到JRE

  • 解决方案:IzPack 安装程序需要一个 JRE 才能运行,因此保证了一个 JRE 的可用性。它可以在安装期间更新脚本中的变量
  • 解决方案(Windows):使用注册表
  • 最后的手段:使用路径

理想的做法是将所有三个集成到一个批处理文件中。有人做过吗?

问题:Qt & Qt Jambi 库

  • 解决方案:随您的应用程序和外壳/批处理文件中的链接一起分发。

问题是如何确保在系统上已经安装了二进制不兼容的 Qt 库时使用您的库。在 Linux 上,提取库并导出LD_LIBRARY_PATH似乎可行。在 Windows 上我还没有解决这个问题,在 Mac 上我还没有尝试过。

问题:最合适的 Qt 库

32 位 Qt 库可能不适用于 64 位 JRE;这是一个我还没有处理的问题。可能最好的解决方案是同时包含 32 位和 64 位 Qt 库,并在运行时(或可能在安装时)从脚本中选择它们。

另一个问题与主题有关:Qt 支持使用本机主题,但仅限于编译它的平台。因此,在旧的 Windows 版本上编译 Qt 并在现代版本的 Windows 上使用库似乎可以工作,但会导致丑陋的 Windows-98 式小部件。最简单的解决方案似乎是使用-style Plastique(或cleanlooks)启动以获得更好看的小部件。

于 2013-10-08T13:16:53.487 回答