问题标签 [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.
c++ - 在 Qt 安装程序框架中禁用本机 Next 按钮
我必须通过 installscript.qs 文件在我的自定义页面上禁用标准的下一步按钮。
我可以通过 .qs 脚本禁用我自己的按钮(我在 .ui 文件中创建的),如下所示:widget.myButton.setEnabled(false);
这个人表明本机按钮表示为枚举,我不能以同样的方式禁用它们。
控制器脚本手册页显示了与本机按钮的一些交互。喜欢gui.clickButton(buttons.NextButton)
。我浏览了整个 gui object man 并没有发现任何有用的东西。
Qt 安装程序框架有一个本机许可证检查页面,其中包含我需要的下一步按钮逻辑,但我没有找到任何手动执行此操作的示例。(许可证页面之所以有效,是因为它的默认许可证页面和我理解的框架内的逻辑)。
最后我找到了对我有用的 isComplete() 方法,但它适用于 C++ API 而不是 qs。那么如何通过 installscript.qs 文件禁用本机按钮?
qt - 使用 Qt 安装程序框架为每个包提供不同的 TargetDir
Qt Installer Framework是否可以使用多个包创建安装程序,每个包都有不同的TargetDir
(即目标)?
例如,我想要一个安装程序,将 SDK/Library/Frameworks
和演示应用程序安装到/Applications
?只有/Applications
路径需要是用户可编辑的。
qt - Qt Installer Framework 的解决方法不覆盖现有安装
这个问题是关于 Qt Installer Framework 2.0 版的。
此时,使用 Qt 安装程序框架的人都知道,如果不进行自定义,您根本无法通过安装程序覆盖现有安装。这显然是为了解决使用 Qt 框架完成时发生的一些问题。
但是,对于较小的、相对简单的项目,覆盖非常好,并且比事先手动运行维护工具要方便得多。
我正在寻找一种涉及自定义 UI + 组件脚本的解决方案,该脚本向目标目录页面添加一个按钮,允许用户
- 删除指定的目录(如果存在),或者
- 运行该目录中的维护工具。
最好能够在目标目录中运行维护工具,让它自动删除给定的包,但我意识到这要求太多了。
我已阅读此站点上有关解决同一问题的其他问题的答案,但没有一个解决方案能正常工作。我还想提一下,我已经启动并运行了一个组件脚本,但没有自定义 UI。
android - Qt 与 android 5.9.0 安装错误
我正在尝试使用 android 安装 Qt,但在添加 AVD 时遇到问题,
sdk 位置:D:\android-sdk ndk 位置:D:\android\android-ndk-r15c-windows-x86_64\android-ndk-r15c 创建者显示它为这个 ndk ant 位置找到了 10 个工具链:D:\Apache- ant-1.9.6\src\script\ant.bat
每当我尝试启动 avd manager 时,我都会收到如下弹出消息
已安装的 SDK 工具(版本 26.0.2)中不提供 AVD 管理器工具。使用命令行工具“avdmanager”进行高级 AVD 管理。
如果我尝试构建示例项目,我会收到如下错误
构建/部署项目测试时出错(套件:Android for x86(GCC 4.9,Qt 5.9.0 for Android x86))执行步骤“部署到 Android 设备”时
如果有人知道出了什么问题,请帮我解决这个问题。我正在使用 Qt 5.9.0 和 Qt creator 4.3.1 谢谢。
linux - 如何删除 Qt 安装程序中的目标目录选择?
我正在尝试使用 Qt Installer Framework 在 Linux 上制作安装程序,我想设置一个固定的目标目录并从安装程序中删除该页面。我已经设法使用脚本并使用 setDefaultPageVisible 来做到这一点。这可行,但我必须按两次下一个按钮才能通过它。
这是一个已知问题还是有更好的方法来实现这一点?
c++ - Qt安装程序框架mac桌面别名
我已经使用 Qt 安装程序框架为 mac 创建了一些应用程序安装程序。
应用程序安装正常,但我想为我的应用程序添加一些桌面快捷方式(别名)。有很多说明如何通过 Finder 创建它,但没有人如何通过 Qt 安装程序框架或 SH 脚本创建它(对于安装时创建的)。所以我的问题。
是否可以通过 Qt 安装程序框架或某些 SH 脚本在 MAC 上创建桌面快捷方式(别名)?
c++ - Qt Installer Framework:更新时出现奇怪的许可证错误
有时,当我在 Windows 上使用带有“更新组件”的 maintenancetool.exe 时,下载并安装更新后会显示一条错误消息:
安装过程中出错 (com.myapp.windows_x86_64):无法写入许可证文件:C:\Program Files(x86)/MyApp/Licenses\license.txt
可选择忽略错误、重试或退出。我不知道如何防止这个错误。我的 package.xml 文件有以下行:
并且 license.txt 按照https://doc.qt.io/qtinstallerframework/ifw-tutorial.html#adding-licenses中的说明存储在与 package.xml 相同的目录中。
编辑:我意识到我无意中使用了 qt 安装程序框架版本 1,所以这可能是Sergio 指出的错误QTIFW-315 。我已经更新到第 3 版,这似乎解决了这个问题。
windows - QWebEngineView 在 Windows 发布版本上崩溃,因为它找不到所需的资源文件
我目前正在使用 Qt 5.9 为 Windows 开发一个应用程序,该应用程序使用QWebEngineView
实例在内部显示一些本地 HTML 文件。代码相当简单,我认为它与手头的问题无关:
这在我的开发机器上很好地工作,在调试和发布配置上。我的应用程序已经投入生产,因此可以使用Qt Installer Framework进行安装。我正在使用windeployqt进行部署。同样,安装的二进制文件可以毫无问题地呈现我机器上的网页。但是,在具有相同操作系统的不同机器上,只要实例化 Web 视图,它就会崩溃。
经过一些调试,这是我的发现:
根据网络引擎上的文档:
Qt WebEngine 需要以下资源文件:
qtwebengine_resources.pak 包含 Chromium 所需的资源。qtwebengine_devtools_resources.pak 包含用于远程调试的工具。qtwebengine_resources_100p.pak 包含适用于低分辨率显示器的图像。qtwebengine_resources_200p.pak 包含适合高 DPI 显示的图像。icudtl.dat 为 Unicode 国际组件 (ICU) 提供支持。它是 ICU 的 Chromium 版本,如果将 Qt WebEngine 配置为使用系统 ICU,则不需要它。
从以下位置搜索资源:
在 Linux 和 Windows 上:QLibraryInfo::location(QLibraryInfo::DataPath) 指定目录中的资源目录
我发现这很奇怪,因为应用程序目录的输出会产生以下内容(为方便起见进行了修剪):
这清楚地表明网络引擎文件在理论上是正确定位的。我尝试调试 的值QLibraryInfo::location(QLibraryInfo::DataPath)
,它产生了C:/Qt/Qt5.9.2/5.9.2/msvc2017_64
,它甚至不是目标机器上的目录,而是我的开发 PC 上的目录。相反,我认为它应该输出./resources
.
如果我将文档中提到的文件与它应该运行的应用程序二进制文件放在同一目录中,但我希望QLibraryInfo::DataPath
自动检测该目录的位置,而不是看起来是硬编码的价值。
因此,我想问以下问题:
- 我是否正确执行此部署?我从来没有遇到过应用程序无法加载任何类型的 Qt 库的问题,而且文件似乎在它们应该在的位置。
- 究竟如何
QLibraryInfo::location(QLibraryInfo::DataPath)
解决路径?它们是硬编码的值还是在运行时确定的? 让应用程序找到资源的最明智的方法是什么?我正在考虑以下解决方案:
- 手动将文件放在
./resources
靠近应用程序二进制文件的位置。 - 添加
./resources
到搜索路径QCoreApplication::addLibraryPath()
(我不确定它是否会起作用)。 玩弄一个
qt.conf
文件。再次不确定它是否会起作用。编辑:这确实有效。奇怪的是,如果文件被编译为 Qt 资源(如 中:/qt/etc/qt.conf
),它不会,但如果你将文本文件放在应用程序二进制文件中,它会自动使用它。我的文件看起来很简单:[路径]
数据 = ./resources
- 手动将文件放在
任何帮助都感激不尽!
c++ - 使用 Qt 安装程序框架创建 .msi 安装程序
我一直在研究 Qt 安装程序框架,但是当您使用此工具创建设置时,它是常规设置,尽管我想知道是否可以创建一个 msi 设置以便能够在网络范围内安装 Qt 程序。
我查看了安装程序框架文档,但到目前为止找不到任何关于此的内容。
qt - 向 Qt Installer 添加可选操作
我正在使用 Qt Installer Framework (v3.0) 为我的产品创建一个相当简单的离线安装程序。
该产品包括 Sentinel HASP 保护锁的驱动程序安装程序。理想情况下,我想为用户提供一个跳过运行此驱动程序安装程序的选项(例如,在他们已经通过以前的产品安装安装此驱动程序的情况下),但我似乎无法在实现这一目标的最佳/最简单方法的 QtIFW 文档。
与主产品包的大小相比,驱动程序的大小相对较小,因此无需担心始终包含文件。