我正在为一堆相对复杂的桌面应用程序绘制一个应用程序部署过程。我们有本机应用程序和 Java 应用程序,因此部署必须能够检查 JRE 是否存在并在需要时安装它。某些应用程序依赖于特殊硬件,因此部署还必须能够启动必要的驱动程序安装程序。一些应用程序是多平台的,并且最好相同的机制应该能够创建 Windows、Linux 和 Mac OS X 安装程序。那是:
- The installer must be able to install, in addition to the application itself:
- Java运行时环境。
- 驱动程序(硬件)- 即启动其他安装程序。
- 安装程序生成器must可从命令行操作,以便它可以与自动构建机制集成,该机制为每个平台生成安装程序包作为夜间构建。
- 此外,我需要为应用程序创建“从网络更新”机制。它可以包含在安装程序中,也可以是应用程序中内置的单独的自定义机制。
现在,这变得有点复杂,我怀疑可能没有一个安装程序可以完成这一切。因此,我正在考虑两种根本不同的方法:
- 平台特定机制:NSIS http://nsis.sourceforge.net/会创造
.exe
or .msi
对于 Windows,XXX 将创建.deb
对于 Ubuntu,YYY 将创建.dmg
对于 OS X。
- 跨平台安装程序可以满足上述所有要求:ZZZ?
有什么建议吗?我看过的一些选项包括:
-
NSIS http://nsis.sourceforge.net/- 很好,但仅限 Windows。
-
IzPack http://izpack.org/- 很好,但需要 JVM 才能运行。
是否有一个通用的工具,或者我应该为每个平台单独选择一个合适的工具?在后一种情况下,Ubuntu 和 Mac OS X 的“NSIS 等效项”是什么?
我有一些建议如下。
总的来说,开发这个工作流程需要一些初步的努力和大量的思考。但最终的结果是值得付出努力的。
我还没有在 Linux 端这样做,但我想在此工作流程中会在这方面使用 RPM/DEB。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)