我正在尝试创建一个可自动提取(SFX)的rar存档,它将同时包含图标和图像。我正在使用以下命令行:
winrar.exe a -r0 -sfx -ibck -z"MyConfFile.conf" -iimg"MyImage.bmp" -iicon"MyIcon.ico" MyPackage.exe @"MyFileList.txt"
麻烦是 - 无法解压缩生成的.exe文件。相反,它说“存档是未知格式或损坏”。如果我只设置图标或只设置图像,那么一切都很好。但如果我同时设置两者,我就麻烦了。最奇怪的事。
答案 0 :(得分:2)
SFX模块的代码+位图文件的数据+图标文件的数据+ SFX注释文件+其他数据(签名)首先写入SFX存档文件,然后压缩数据的实际存档是附加到文件。
根据RAR 5.0 archive format技术文档,归档数据之前的所有数据的最大大小必须小于1 MB。
可能的解决方案:
但是考虑到通过压缩SFX模块本身,位图和图标必须位于SFX模块本身的资源中,而不是单独附加。
Resource Hacker之类的工具可用于通过自己的位图替换标准位图,使用自己的图标替换标准图标以及更改对话框布局。即使不使用像UPX这样的运行时打包程序压缩SFX模块,这也会减少归档数据之前的数据总大小。
WinRAR 的版权所有者允许使用资源黑客等工具来自定义 WinRAR 的标准SFX模块之一的资源。在 WinRAR (winrar.chm)的帮助下,通过索引 GUI RAR和ZIP SFX模块(Default.SFX和Zip.SFX)的页面 tab或通过 Contents 选项卡(自解压模块的第一个条目)帮助。