如何在Linux上创建与Windows兼容的rar sfx存档

时间:2015-05-27 10:31:39

标签: linux windows shell exe rar

我想创建一个rar SFX存档,可以在Windows上使用Linux执行。假设我想在归档中放入文件myprog.exe,并在解压缩归档时自动执行该文件。 我已经创建了一个init脚本(myinit.txt

;The comment below contains SFX script commands
Path=%TEMP%
Setup=tftpd32.exe
TempMode
Silent=1
Overwrite=1

然后我使用以下命令创建了存档:

rar a -sfx archive.exe myprog.exe
rar c archive.exe < myinit.txt

现在如果我用Winrar打开archive.exe,我可以看到我的文件和所有选项我设置正确。问题是,如果我尝试执行该文件(双击),我会收到一个错误:

  

程序太多而无法适应内存

我认为问题是该文件没有Windows可执行文件的布局。

搜索我发现zip有一个选项-A,可用于解决此问题。有没有找到rar的方法?

2 个答案:

答案 0 :(得分:1)

找到解决方案!问题显然是sfx模块。我搜索了Windows机器中的WinRAR程序文件,找到了Windows Default.SFX。我在我的linux机器上将该文件复制到我创建存档的同一目录中,并将其重命名为windows.sfx。此时我跑了:

> rar a -sfxwindows.sfx archive.exe myprog.exe
> rar c archive.exe < myinit.txt

它有效!

另一个提示:文件myinit.txt必须使用Windows换行符约定。

仍然只缺少一件事:可以为档案设置图标。 Windows文档显示了linux doc中缺少的-iicon选项。

答案 1 :(得分:0)

这应该有效:

rar a -sfxdefault.sfx myexeforwindows.exe myprog.exe