我创建了一个桌面应用程序,现在我需要在客户端的计算机上安装。
但是,客户端希望安装一个向导。与Visual Studio安装项目一样,您可以添加安装程序。
Qt是否允许您创建安装程序,还是需要使用InstallShield或Wise等第三方安装程序?
答案 0 :(得分:14)
我使用Inno并喜欢它。我尝过其他几个,这个对我很有用。 (并且免费)
答案 1 :(得分:11)
您应该使用 Qt安装程序框架: http://doc.qt.io/qtinstallerframework/ifw-overview.html
答案 2 :(得分:10)
您肯定需要第三方安装程序。已经提到了一些好的。如果您决定使用付费解决方案bitrock's installer是一个完美的选择,他们也是以Qt为中心,他们的主要业务是Qt。
作为开源替代方案,我建议NSIS
答案 3 :(得分:3)
如果您只针对Windows,则可以使用WiX(Windows Installer XML),它可以集成到Visual Studio和MSBuild中,因此相对容易使用。它是免费的,并生成有效的MSI文件,无论如何这可能是一个要求。
如果您需要一个简单的向导设置,请试试InnoSetup。
答案 4 :(得分:1)
我认为最好使用像installshield这样的第三方软件。它们针对包装目的进行了优化,并提供了许多可定制的选项。
答案 5 :(得分:1)
如果您已经安装了Visual Studio,则可以继续使用安装项目来分发您的应用程序。这些工具都是内置的。这是WiX“替换”的技术(后面会详细介绍),这就是我的工作。它不是一个理想的解决方案,但它让我得到了一个MSI,这就是现在应该安装Windows软件的方式。使用InstallShield或其他东西可能会更好,但说实话,我从来没有与任何第三方安装程序有过良好的体验。这就是为什么我只是坚持不太理想的安装项目;它在昂贵,丑陋且经常令人沮丧的第三方安装程序创建工具上花了很多钱。简而言之,这是一个非常务实的解决方案,务实的解决方案是有道理的。
至于WiX:我真的不推荐它。这似乎是一个好主意,但几个月后我发现自己切换回安装项目。虽然他使用WiX的时间比我使用安装项目多一年,但我们的WiX专家需要两倍的时间才能完成任务。 (他也是一个了不起的程序员,只是对开源有点盲目。)你最终需要维护数以千计的复制文本行。有几个不同的项目,它变得难以维护。
我不建议您自己尝试在Qt中构建安装程序。除了必须正确地获得大量行为之外,作为Qt应用程序,它还需要Qt库。除非你静态链接它们,这可能与商业版(不是LGPL)有关但很难并且不推荐。另外,您可以在下载中包含两份Qt库。
Qt本身似乎使用了nullsoft安装程序。仅此一点应该告诉你建立自己的不是一个好主意。 :)