Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 为复杂的跨平台程序创建安装程序_Deployment_Installation_Cross Platform - Fatal编程技术网

Deployment 为复杂的跨平台程序创建安装程序

Deployment 为复杂的跨平台程序创建安装程序,deployment,installation,cross-platform,Deployment,Installation,Cross Platform,我正在为一些相对复杂的桌面应用程序绘制一个应用程序部署过程。我们有本机和Java应用程序,因此部署必须能够检查JRE的存在,并在需要时安装它。一些应用程序依赖于特殊的硬件,因此部署还必须能够启动必要的驱动程序安装程序。一些应用程序是多平台的,最好使用相同的机制来创建Windows、Linux和Mac OS X安装程序。即: 除了应用程序本身,安装程序还必须能够安装: Java运行时环境 驱动程序(硬件)-也就是说,启动其他安装程序 安装程序生成器必须可以从命令行进行操作,以便它可以与自动生

我正在为一些相对复杂的桌面应用程序绘制一个应用程序部署过程。我们有本机和Java应用程序,因此部署必须能够检查JRE的存在,并在需要时安装它。一些应用程序依赖于特殊的硬件,因此部署还必须能够启动必要的驱动程序安装程序。一些应用程序是多平台的,最好使用相同的机制来创建Windows、Linux和Mac OS X安装程序。即:

  • 除了应用程序本身,安装程序还必须能够安装:
    • Java运行时环境
    • 驱动程序(硬件)-也就是说,启动其他安装程序
  • 安装程序生成器必须可以从命令行进行操作,以便它可以与自动生成机制集成,该机制可以在夜间生成每个平台的安装程序包
  • 此外,我需要为应用程序创建“从web更新”机制。它可以包含在安装程序中,也可以是应用程序中内置的独立自定义机制
现在,这变得有点复杂,我怀疑可能没有一个安装程序可以完成这一切。因此,我在考虑两种根本不同的方法:

  • 平台特定机制:将为Windows创建
    .exe
    .msi
    ,XXX将为Ubuntu创建
    .deb
    ,YYY将为OS X创建
    .dmg
  • 能够处理上述所有要求的跨平台安装程序:ZZZ
  • 有什么建议吗?我看到的一些选项包括:

    • -非常好,但仅限Windows
    • -很好,但需要运行JVM

    是否有一个通用的工具,或者我应该为每个平台分别选择一个合适的工具?在后一种情况下,Ubuntu和Mac OS X的“NSIS等价物”是什么?

    我有如下建议

    • 用于为Windows创建MSI安装程序
    • 在MAC OS X上使用(XCode工具的一部分),最好是命令行版本
    • 编写包装器脚本(用Python或其他语言)来驱动整个安装程序的创建过程

      • 聚合所有需要安装的组件(可能来自ur版本控制系统)
      • 尽可能为Wix和Package Maker生成必要的文件
      • 运行打包工具并生成打包
    • 确保整个安装程序的创建过程是一个简单的单命令操作(具有根据标准(如发布分支等)创建包的不同版本的选项)

    总的来说,开发这个工作流需要一些初步的努力和大量的思考。但最终的结果是值得付出努力的


    我还没有在Linux端这样做,但我想在这个工作流中会使用RPM/DEB。它肯定会处理您想要的跨平台元素,甚至可以在安装期间向目标系统上的DEB和RPM数据库添加条目。OS X支持仍然是实验性的,但基本上是有效的。

    满足了所有要求,包括多平台和提供自动更新机制

    BitRock InstallBuilder看起来不错,只是有一个主要缺陷没有给Mac OS X带来很多信心。当用户不是管理员时,OSX安装程序不会提示进行身份验证。这是一个相当大的缺陷,因为用户不应该以管理员身份运行,而且仅仅为了安装应用程序而登录是一件痛苦的事情。此外,它应该只是一个DMG拖放安装。当需要提升权限时,系统会提示用户输入管理员密码,但不确定您到底想做什么。如果您需要帮助,请联系我们以获得支持。大多数应用只需要拖放安装,不需要InstallBuilder(或任何其他安装程序)。然而,还有其他应用确实需要复杂的安装过程、远程连接验证、连接到现有数据库、配置应用服务器等。在这种情况下,需要installerOS X默认情况下已经有JRE,不是吗?@rogerdpack:,很遗憾。