3

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

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

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

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

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

4

4 回答 4

3

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

于 2009-12-14T23:02:22.993 回答
1

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

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

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

于 2010-07-29T22:10:45.457 回答
0

7zip 手册页说你可以做到这一点。

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

于 2013-07-14T07:59:12.050 回答
0

虽然有点晚了:

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

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

于 2020-07-08T01:36:23.367 回答