问题标签 [qt-installer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
861 浏览

qt - Qt Installer Framework 控制器功能未被调用

我想使用控制器功能修改我的 QtIFW(3.0) 安装程序的流程,这似乎很简单,但是我似乎找不到一个很好的例子来说明函数/脚本应该驻留在哪里以及如何制作安装程序意识到这一点。

我尝试过但没有成功的事情:

  • 将控制器功能放入我的组件脚本中
  • 使用我的包根目录中的函数创建controller.qs文件
  • 在我的 package.xml 配置中包含controller.qs脚本文件

我的控制器脚本(controller.qs)目前只是样板:

在安装程序运行时,安装程​​序按预期执行,但从不调用控制器函数。

0 投票
1 回答
830 浏览

postgresql - 使用 Qt 安装程序安装后无法运行 .bat 文件

我需要bat在安装程序完成后运行一个插入 postgres Windows 服务的文件,以便我的数据库有一个活动服务器(我使用的是静态 postgres)。该bat文件运行pg_ctl注册命令。

根据 Qt 安装程序文档installationFinished,您可以使用发布方法,一旦安装程序通过控制器或包安装脚本完成,这些方法将运行。我不确定我是否正确使用它,因为运行安装程序后bat文件没有运行。如何正确使用此功能?

我在控制器脚本中尝试过:

还尝试在组件安装脚本中:

bat文件用于运行安装后,因为该bat文件上的命令需要安装后添加到PATH变量的 postgres\bin 文件夹。

非常感谢大家的帮助!:)

0 投票
1 回答
106 浏览

qt - 从 Qt 安装程序中运行 .bat 命令时无法确定 java 版本

我想检测机器上是否安装了 java,如果是,是哪个 JRE 版本。我有一个简单的 .bat 文件脚本,可以运行和查询注册表。这在单独运行时可以正常工作,但在 Qt 安装程序中运行时,相同的命令不返回键值对。我有点难过。我曾尝试在执行命令时提升安装程序,但坦率地说,在没有命令权限的情况下运行脚本会成功,而且它也没有任何区别。

例如,在运行命令的简化版本时:

运行独立脚本时,会打印出注册表值,但是当调用相同的文件时(它没有编译到安装程序中,而是通过运行时调用),上面的相同命令什么也不返回。

我正在使用 Qt 安装程序框架 3.0.5。

该脚本位于:com.domain.packagex\meta\myscript.bat

并从包组件 qs 脚本中调用:

从安装程序安装程序运行时的打印输出中,我可以看到脚本正在运行,这是最新版本,但打印输出看起来不同(查询命令不返回任何内容)。我检查了注册表查询之前和之后的错误级别是否保持不变。

我在我自己的 Windows 10 (x64) 机器上看不到这个问题,但我在 Virtualbox Windows 10 (x64) 机器上看到它。

0 投票
1 回答
1012 浏览

windows - Qt Installer Framework:如何卸载以前的版本?

创建(脱机)安装程序时,如何使用安装程序脚本查找卸载任何以前版本的软件?知道用户过去可以在任何地方安装它们吗?

0 投票
1 回答
507 浏览

qt - 无论操作系统如何,如何在 Qt Installer 框架中创建环境变量

如何向 Qt 安装程序添加新的环境变量。我知道它应该放在 .qs 脚本中,如下所示:

EnvironmentVariable我在 Linux 上尝试上述方法,但是当我安装我的程序时它抱怨不存在。

0 投票
1 回答
239 浏览

c++ - 无论操作系统语言如何,如何翻译使用预构建的 Qt 安装程序框架创建的安装程序

我正在尝试使用我已经使用 Qt 安装程序框架的预构建版本创建的安装程序的翻译版本,但是文档不足,我需要知道应该将翻译文件放在哪里(en.qm我'已翻译成目标语言)

我尝试将翻译文件放在配置文件夹中并设置<Translations>元素,config.xml但与创建没有此元素的安装程序相比没有任何变化。我取得的唯一进展是当我将en.qm其中一个包文件夹放入 meta 文件夹并在其中添加<Translations>元素时package.xml。但在这个解决方案中,只有一半的页面被翻译。

这是我添加的翻译config.xml元素package.xml
<Translations> <Translation>en.qm</Translation> </Translations>

en.qm添加到元文件夹中的包文件时,新页面和一些默认页面被翻译,但第一页(欢迎...)和开始菜单快捷方式页面以及下一步和后退按钮永远不会被翻译。


PS:我需要我自己语言的安装程序,并且操作系统语言始终是英语。


P.S_2:我正在使用 Qt 5.9.1 和预构建的 Qt 安装程序框架 3.0.6,并且我en.qm使用以下命令在installerfw.pro安装程序框架版本 3.0.6 的源代码上创建了文件。
lupdate en.ts
接着
lrelease installerfw.pro -ts en.ts


谢谢

0 投票
2 回答
603 浏览

qt - Qt Installer Framework 3.0.2 中的卸载流程或回调

有没有办法在 Qt 安装程序框架的卸载过程(maintainancetool.exe)中调用 windows cmd 命令?我尝试连接 installer.uninstallationFinished 信号但没有结果。

0 投票
1 回答
777 浏览

qt-installer - 如何在 Qt 安装程序框架脚本中获取命令行参数?

我正在编写一个 Qt 安装程序框架脚本,我希望允许用户使用参数启动安装程序,然后以各种方式应用这些参数。例如,自动接受 EULA 的开关、直接传递目标目录的方法、要安装的组件列表等。

0 投票
1 回答
848 浏览

qt - Qt Installer Framework 可以返回失败退出代码吗?

我想中止 Qt Installer Framework 进程,这可以通过多种方式完成(按照 Qt 为此提供的示例,或者抛出未捕获的异常,或者只是注入无效命令以导致硬崩溃......)。但无论如何,退出代码似乎是0(即“成功”)!有什么方法可以使它成为 1 (或其他东西)?

我可以想到一些丑陋的、笨拙的替代方案来以编程方式评估这个过程的成功,但我真的希望这不是必需的......

0 投票
2 回答
686 浏览

qt - 如何使用 Qt Installer Framework 正确创建在线安装程序

我想知道,为什么关于 QtIFM 的信息如此缺乏?所以,基本上我已经成功创建了离线安装程序,但现在在线安装程序有一些问题。这是我制作回购的脚本:

这是用于制作安装程序:

config_online.xml:

更新.xml:

该包以“ https://github.com/alexlyapin/Basic4x4/tree/master/clientRepository ”的形式上传到 GitHub 存储库,其中位于 Basic4x4 文件夹、Updates.xml 和 license.txt

当我制作安装程序并尝试测试存储库时,出现错误:Updates.xml: error occurred while parsing element

因此,位置错误或某些 xml 行。有人可以检查或建议我吗?谢谢!