在linux机器上创建一个自解压zip存档

时间:2009-05-04 01:17:56

标签: linux windows-installer installation zip winzip

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

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

2 个答案:

答案 0 :(得分:8)

您的答案可以在以下页面找到: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   UnZip 5.52。

     

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

     

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

     

解决方案

     

第一步,获取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 sudo   apt-get install zip

     

第二步,创建一个ZIP文件   Ubuntu的:   *打开文件管理器(nautilus)并选择您想要的文件   压缩   *右键单击并选择创建存档(或类似)。选择一个   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中的葡萄酒)或任何ZIP兼容   归档程序,如file-roller in   Ubuntu的。

答案 1 :(得分:0)

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

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