6

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

4

2 回答 2

4

没有直接的方法可以做到这一点。(您可以查看我的其他答案以获得更长的解释。)

最简单的解决方案是制作一个运行“安装程序”的 IExpress 存档,它实际上只是一个批处理文件,将提取的文件复制到需要它们的位置。

在 IExpress 中,您将启动批处理文件,例如:cmd /c persist.bat. persist.bat看起来像:

@echo off
xcopy /y * "%temp%\persistent\"
del /f "%temp%\persistent\persist.bat"

(最后一行很好地隐藏了您使用此批处理文件复制提取的存档的事实。)

于 2012-12-04T22:22:33.147 回答
3

是的,当您选择“提取文件并运行安装命令”时,可以通过使用 .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 下的文件应列出您要复制到该文件夹​​的所有文件。当您选择要添加的文件时,它们必须包含在您的安装程序中。

于 2017-12-13T13:20:33.647 回答