1,首先必须将需要打包的文件压成.7z格式(假设文件名为YourSetup.7z),不需要做成自解压的EXE文件。
2,用UTF-8格式(用NOTEPAD的话,选择“另存为(Save As)……”时设定Encoding编码格式)写一个config.txt文件,最好存放在与上一步的7z文件同一目录下,config.txt内容为 (假设你解压以后希望自动运行其中的setup.exe):
;!@Install@!UTF-8!
InstallPath=".\\YourSetupFolder"
RunProgram="setup.exe"
;!@InstallEnd@!
3,从http://7zsfx.solta.ru/en/ 下载一个7zSD,并将其中的7zSD.sfx文件解压到上面提到的目录中
4,启动cmd命令窗口,转到该目录,打这个命令:
copy /b 7zSD.sfx+config.txt+YourSetup.7z YourSetup.exe
这个YourSetup.exe就是我们需要的了。

特别注意:
Config.txt中的InstallPath参数很重要,在网络上搜索出来的文档一般都只写一个RunProgram参数,我照这种写法做出来的执行包解压完成后,在运行setup.exe时报错,错误信息为:
This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer Package.
百思不得其解,后来到我的Temp目录下查找,发觉解压过程还算正常,目录为7zipSfx.???,但执行setup.exe时,这个目录突然被清 空,setup.exe不见当然就出错了,因此我查了7zSD的文档,看到了InstallPath这一参数,试用了一下,成功了。或许有其他更好的方 法,但我不想在这上面花更多精力了,我非常不理解,如此重要的功能为什么不能集成到7zFM中去?目前我用的是4.58beta,还看不出官方有计划集成 这一功能,比较遗憾。
posted on 2008-06-27 12:06  愚公  阅读(2654)  评论(0编辑  收藏  举报