我想创建一个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
的方法?
答案 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