Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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
Linux 基于命令行1创建多平台安装程序_Linux_Windows_Macos_Qt_Installation - Fatal编程技术网

Linux 基于命令行1创建多平台安装程序

Linux 基于命令行1创建多平台安装程序,linux,windows,macos,qt,installation,Linux,Windows,Macos,Qt,Installation,说明 我们已经公开了几个应用程序(基于GUI和cmd),并希望为它们创建图形安装程序。我们已经有了一个专用的命令行工具包–提供安装/卸载/并行安装版本切换/etc功能(类似于nvm) 要求 图形安装程序不应包含任何逻辑–它将仅用于收集安装参数并将其传递给命令行工具包,包括: 选择要安装的组件 选择所选组件的版本 选择安装路径 图形安装程序应通过命令行工具包进行动态配置–cmd工具将提供可用组件/其版本/默认安装路径等所有信息 GUI应该能够在下载组件时显示进度条(我们的cmd工具包的行为类似

说明

我们已经公开了几个应用程序(基于GUI和cmd),并希望为它们创建图形安装程序。我们已经有了一个专用的命令行工具包–提供安装/卸载/并行安装版本切换/etc功能(类似于
nvm

要求

  • 图形安装程序不应包含任何逻辑–它将仅用于收集安装参数并将其传递给命令行工具包,包括:

    • 选择要安装的组件
    • 选择所选组件的版本
    • 选择安装路径
  • 图形安装程序应通过命令行工具包进行动态配置–cmd工具将提供可用组件/其版本/默认安装路径等所有信息

  • GUI应该能够在下载组件时显示进度条(我们的cmd工具包的行为类似于在线安装程序,并提供有关下载状态的实时信息)

  • 图形安装程序应该可以在主要的操作系统(Linux、MacOs、Windows)上运行,其他非常受欢迎的操作系统也可以

  • 我们希望安装程序重量轻,不依赖最终用户必须提供的任何第三方库(如python)——我们只希望提供一个可执行文件,下载后可以“双击”。这也意味着安装程序的可执行文件必须包含我们的cmd工具(它只是一个二进制程序,用Haskell编写)

  • 我们希望尽可能提供本地外观,但这不是“必须具备”的功能

  • 尚未生效的解决方案提案

    到目前为止,我们正在考虑两种解决方案:

  • 然而,使用QT安装程序框架似乎是作为一个完整的解决方案设计的,并且将其用作GUI来收集信息可能会很麻烦,或者考虑到有限的配置选项是不可能的(然而,我在这里可能是错的,如果使用这个框架很容易做到我们想要的,我将非常高兴)

  • 从头开始创建我们自己的安装程序GUI,但如果有任何标准工具可以使用,我们宁愿不想这样做并维护它