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



我想创建一个rar SFX存档,可以在Windows上执行,使用Linux。假设我想将文件myprog.exe放入归档文件中,并在提取归档文件时自动执行该文件。我已经创建了一个初始化脚本(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 ?

找到解决方案了!问题显然是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文档中缺少的-iicon选项。

应该可以了:

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

相关内容

  • 没有找到相关文章

最新更新