【问题标题】:Creating a self-extracting zip archive on a linux box在 linux 机器上创建自解压 zip 存档
【发布时间】:2009-05-04 01:17:55
【问题描述】:

由于一些我不会涉及的限制,我必须在 linux 机器上创建一个自解压 ZIP 存档。生成的存档应该只能在 Windows 上执行。这是可能吗?如果是这样,什么工具可以完成这项工作?

背景:当用户从我的 linux 机器上下载安装包时,我需要用某个键预先填充该安装包。我只在运行时知道那个键;我的想法是使用该密钥编写一个简单的 .xml 文件,然后将带有该 xml 文件的 .msi 安装程序压缩到一个自解压存档中,然后将该文件发送到浏览器。如果您对如何实现它有其他想法,我也很想听听这些

【问题讨论】:

  • 您需要明确存档应该在哪个特定平台上可执行。
  • 添加了说明 - 仅限 Windows。

标签: linux windows-installer installation zip winzip


【解决方案1】:

您的答案可以在以下页面找到:http://ubuntuforums.org/showthread.php?t=847329 请注意,除了使用 Google 并找到听起来合乎逻辑的东西之外,我不会将任何功劳归功于它。我不保证这些信息会起作用,或者您将能够再在网上找到提到的材料。我只是谷歌的粉丝。我希望这会有所帮助。

问题几天前我不得不 创建一个 Win32 兼容的 朋友的自解压 ZIP 文件。 听起来很容易,对吧。问题是 我没有 Windows 机器 附近,我不想安装 Wine 下的任何归档程序。

注意:免费软件 ZIP 程序,例如 Wine下的IZArc可以用来创建 一个 Win32 自解压 ZIP 文件。 这将不包括在内 如何,对不起。

我发现的“研究”谷歌搜索 此论坛帖子日期为 2003 年 8 月。 阅读它我发现 自解压 ZIP 文件什么都不是 更多但一个合适的解压缩二进制文件 然后是一个普通的 ZIP 文件。我用了 Info-ZIP 中包含的 unzipsfx.exe 解压 5.52。

该帖子上的链接有效 几天前,所以我得到了我的手 我正在寻找的 unzipsfx.exe。 今天,2008 年 7 月 2 日,我找到了链接 死的。谷歌搜索后我没有 在任何地方找到工作链接。我读 许可证几次并理解 我可以重新分发原件 包含许可证的 unzipsfx.exe。

请注意, unzipsfx-552_win32.tar.gz (80 kB) 是 不是官方的 Info-ZIP 包和 它包括受版权保护的软件 我不相信。更多信息在 还包括 Info-ZIP 许可证 在压缩包中。源代码为 可以找到包含的二进制文件 在这里。

解决办法

第一步,获取 unzipsfx.exe 和 压缩包: * 打开终端(在 Ubuntu 中按 alt+f2 并输入 gnome-terminal) * 输入以下命令代码:

wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx-552_win32.tar.gz tar zxf unzipsfx-552_win32.tar.gz 须藤 apt-get 安装压缩包

第二步,创建一个 ZIP 文件 Ubuntu: *打开文件管理器(鹦鹉螺)并选择你想要的文件 拉链 * 右键单击​​并选择创建存档(或类似文件)。选择一个 ZIP 文件的位置,使用您的 主目录是最简单的。选择 输入 .zip。有关信息,请参阅 man zip 关于如何在命令中创建 ZIP 文件 行。

第三步,制作ZIP文件 自解压 * 输入以下命令代码:

cat unzipsfx-552_win32/unzipsfx.exe MYZIPFILE.zip > mysfxfile.exe zip -A mysfxfile.exe

mysfxfile.exe 现在可以在任何 Win32 兼容系统(包括用于 例如 Windows XP/2000/Vista 甚至 Linux 中的 Wine)或任何 ZIP 兼容 归档程序,例如 file-roller Ubuntu。

【讨论】:

    【解决方案2】:

    我能够使用 unzipsfx 完成这项工作。它有一个更新的版本——2009 年 4 月刚刚发布——6.0 版。 5.52 版不支持我需要的关键功能 - 提取完成后启动特定的设置文件。

    所以我下载了 6.0 的源文件。然后我修改它们以排除默认情况下存在的“提示启动内容”检查。我使用 Visual Studio 2008 重新编译,尝试了上面教程中描述的步骤,现在一切都像魅力一样。

    【讨论】:

    • 如果您找到了答案,请您将其标记为正确吗?此外,使用软件从答案链接到页面会很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2010-11-15
    • 2015-06-16
    • 2011-11-15
    相关资源
    最近更新 更多