我正在使用iexpress制作一个自解压可执行文件。有没有办法我可以硬编码一个提取目标文件夹(最好是一个临时文件夹),以便不提取弹出“请键入你想要放置被提取文件的位置”。对话框?
答案 0 :(得分:3)
没有直接的方法可以做到这一点。 (您可以查看我的other answer以获得更长的解释。)
最简单的解决方案是创建一个运行“安装程序”的IExpress存档,它实际上只是一个批处理文件,可以将提取的文件复制到需要的位置。
在IExpress中,您将启动批处理文件,如:cmd /c persist.bat
。而persist.bat
看起来像是:
@echo off
xcopy /y * "%temp%\persistent\"
del /f "%temp%\persistent\persist.bat"
(最后一行是隐藏您使用此批处理文件复制提取的存档的事实。)
答案 1 :(得分:2)
是的,当您选择“提取文件并运行安装命令”时,可以通过使用.INF文件来实现。您必须将.INF文件设置为安装程序,并在DestinationDirs部分下,将路径放到您希望文件转到的目录中。以下是.INF文件的示例:
[version]
signature="$CHICAGO$"
[DefaultInstall]
CopyFiles=install.files
[DestinationDirs]
install.files=-1,"C:\Program Files\MyCustomDir"
[install.files]
MyFile1.txt
MyFile2.bmp
因此,此示例显示安装程序将安装到C:\ Program Files \ MyCustomDir。 install.files下的文件应列出要复制到该文件夹的所有文件。当您选择要添加的文件时,它们必须包含在您的安装程序中。