在Linux平台上使用autorun创建自解压存档

时间:2009-12-14 14:42:16

标签: maven-2 installer self-extracting

我们的应用程序以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文件可能会有一些自动运行属性。

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

7zip联机帮助页说你可以这样做。

EXAMPLE 2
       7z a -sfx archive.exe dir1
              add all files from directory "dir1" to  SFX  archive
              archive.exe  (Remark  :  SFX  archive  MUST end with
              ".exe")

答案 3 :(得分:0)

有些迟了:

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

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