你能在Qt中创建一个setup.exe文件,用于在客户端计算机上安装你的应用程序吗?

16

我已经创建了一个桌面应用程序,现在需要将其安装到客户的计算机上。

然而,客户希望有一个向导来安装。就像Visual Studio设置项目允许您添加安装程序一样。

Qt是否允许您创建安装程序,还是我需要使用第三方安装程序如InstallShield或Wise?

6个回答

15

2
我强烈推荐尝试Qt的安装程序框架。它在过去几年中得到了很大改进。您可以创建离线/在线安装程序,更新单独的组件,并创建“软件包”等。 - Quaxton Hale
我刚刚快速查看了这些文档,但是我不明白如何从中创建一个简单的Qt程序安装程序。谁能给我们提供一个简单的示例,在任何平台上创建Qt Helloworld程序的安装程序? - aviit
@aviit 这里有一个教程:http://doc.qt.io/qtinstallerframework/ifw-tutorial.html - Liviu
请注意,即使现在,您也不能使用Qt安装程序框架离线更新现有的安装。 - rationalcoder

14

我使用 Inno ,非常喜欢它。我尝试了几个其他的安装程序,但这个对我来说效果很好。(而且是免费的)


10

您肯定需要第三方安装程序。已经提到了一些不错的解决方案。如果您决定选择付费解决方案,Bitrock 安装程序 是一个完美的选择,他们也是 Qt 中心,并且其主要业务围绕着 Qt。

作为开源替代方案,我建议使用 NSIS


这两个能构建MSI吗? - Steven Fisher
不,对于MSI文件,您需要使用类似WiX的工具。但是您真的、真的需要MSI文件吗?对于大多数应用程序来说,遵循标准的.exe文件应该已经足够了。 - Daniel Lopez

4

如果你只针对 Windows 平台,可以使用 WiX (Windows Installer XML)。WiX 可以集成到 Visual Studio 和 MSBuild 中,因此相对容易使用。它是免费的,并生成有效的 MSI 文件,这可能是一个必要的要求。

如果你需要一个简单的向导安装程序,请尝试使用 InnoSetup。


1

我认为最好使用像InstallShield这样的第三方软件。它们专门针对打包目的进行了优化,并提供了许多可自定义的选项。


1
如果您已经有Visual Studio,可以继续使用设置项目来分发应用程序。这些工具是内置的。这就是WiX“替代”的技术(稍后会详细介绍),也是我所做的。这不是一个理想的解决方案,但它可以让我得到一个MSI,这是如今安装Windows软件的方式。使用InstallShield或其他东西可能更好,但说实话,我从未与任何第三方安装程序创建工具有过良好的经验。这就是为什么我坚持使用不太理想的设置项目的原因;它比花费大量资金购买昂贵、丑陋且常常令人沮丧的第三方安装程序创建工具要好。简而言之,这是一个非常实用的解决方案,实用的解决方案是有意义的。
至于WiX:我真的不推荐它。它似乎是一个很好的想法,但几个月后,我发现自己又回到了设置项目。即使我们的WiX专家比我使用设置项目多一年,他完成任何事情都需要两倍的时间。(他也是一个了不起的程序员,只是有点被开源蒙蔽了。)你最终会得到成千上万的复制文本行,你需要维护。对于几个不同的项目,它变成了一个难以维护的混乱。

我不建议尝试自己在Qt中构建安装程序。除了需要正确地获得很多行为外,作为Qt应用程序,它将需要Qt库。除非您静态链接它们,这在商业版中是可能的(不是LGPL),但很困难且不推荐。此外,您还会在下载中包含两份Qt库。

Qt本身似乎使用nullsoft安装程序。仅这一点就应该告诉您自己构建的想法不是一个好主意。 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接