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