iexpress硬编码提取目标文件夹?

时间:2011-03-21 21:41:26

标签: windows iexpress

我正在使用iexpress制作一个自解压可执行文件。有没有办法我可以硬编码一个提取目标文件夹(最好是一个临时文件夹),以便不提取弹出“请键入你想要放置被提取文件的位置”。对话框?

2 个答案:

答案 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下的文件应列出要复制到该文件夹​​的所有文件。当您选择要添加的文件时,它们必须包含在您的安装程序中。