我们的应用程序以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文件可能会有一些自动运行属性。
答案 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安装程序。它还支持代码签名,我们希望能在一周内将其记录下来。