【问题标题】:Create self extracting archive with autorun on linux for windows platform在 Windows 平台上使用自动运行在 Linux 上创建自解压存档
【发布时间】:2009-12-14 14:42:16
【问题描述】:

我们的应用程序以 zip 文件的形式分发,其中包含一个小型 bat/shell 脚本,用户在提取存档后运行该脚本以安装应用程序。此 zip 文件目前是通过 mavens 程序集插件创建的。

我们分发的 zip 文件包含一个带有可执行 jar 的 lib 文件夹,以及我们在实际应用程序的部署过程中需要的所有文件。

我们想要的是一个自解压的 zip 文件,它在 zip 文件被解压后执行包含 bat 文件的文件。这应该作为构建过程的一部分创建。

我已经阅读了creating-a-self-extracting-zip-archive-on-a-linux-box,并且可以做到。但是我在任何地方都看不到如何在完成后在提取的存档中执行 bat 文件。

我找到了winzip self-extractor,但我更喜欢可以在任何平台上运行的东西。构建服务器和一些开发人员使用 linux。我还发现了一些 VB code,这让我相信 zip 文件可能有一些自动运行属性。

【问题讨论】:

    标签: maven-2 installation self-extracting


    【解决方案1】:

    您是否考虑过使用IzPack(和IzPack Maven Plugin)来生成跨平台安装程序?

    【讨论】:

    • 是的,但是有一个当前的安装程序应用程序,这意味着将安装程序重写为 IzPack 安装程序。我将来想这样做,但现在该应用程序既是安装程序又是应用程序管理器。所以它不仅仅是一个安装程序。
    【解决方案2】:

    上一个回复者建议使用lzpack,它的文档包含以下指针:

    ""7-Zip 项目(请参阅http://www.7-zip.org/)为安装程序提供所谓的 SFX,即可用于创建自解压 Windows 可执行文件的映像。一旦其内容被提取,这样的自解压可执行文件就可以启动可执行文件或文件。在后一种情况下,假定文件扩展名和软件组件之间存在关联。""

    7-zip是跨平台的,虽然我没试过是否可以在linux上为windows构建sfx文件。

    【讨论】:

      【解决方案3】:

      7zip 联机帮助页说您可以做到这一点。

      例 2 7z a -sfx archive.exe dir1 将目录“dir1”中的所有文件添加到 SFX 存档 archive.exe(备注:SFX 存档必须以 “。可执行程序”)

      【讨论】:

      • 它在 Linux 上创建一个 ELF 文件。
      【解决方案4】:

      虽然有点晚了:

      我们刚刚发布了一个可以执行此操作的 Maven 插件(文档位于 https://zephyr.sunshower.io/site/)。它是免费的、开源的和许可的。

      我们使用此插件将 JRE 与我们的应用程序捆绑在一起,然后使用该 JRE 启动 IzPack 安装程序。它还支持代码签名,我们预计会在一周内记录下来。

      【讨论】:

      • 在 Stack Overflow 上不鼓励仅链接的答案,因为如果链接停止工作或内容发生重大变化,它们将变得无用。您应该 edit 您的答案在答案本身中包含与问题相关的最重要信息。仅是指向外部网站的链接的答案最终可能会被删除。
      • 抱歉——StackOverflow 的新手。我很高兴编辑这个,但是这个过程有点复杂,并且非常依赖于这个特定的解决方案,因此,如果链接消失,那么解决方案就会。你对我应该如何进行有什么建议吗?
      • 您不需要删除链接,但是您的答案确实需要能够独立存在而不需要使用外部链接。您确实包含的任何链接都应仅用于补充答案本身所包含的信息。在这种情况下,您可能会在答案中包含与问题相关的一些代码示例或特定文档部分。
      • 有数千行实际代码以特定方式组装而成,构成了对这个已经 3 年没有答案的问题的答案。在编写该程序之前,我看到了这个问题,但找不到任何问题。换句话说,/this/ 是我找到/创建的答案。我不认为这个问题比其他人更糟糕,因为他们本质上也是“好吧,使用这个开源项目”,而不在这里描述解决方案。如果 SO 不想要这个答案,那就这样吧——替代方案更糟。我不能复制/粘贴肯定会改变的文档。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 2011-09-03
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多