iexpress hard-coded extraction destination folder?

拥有回忆 提交于 2019-12-22 08:08:25

问题


I'm using iexpress to make a self extracting executable. Is there a way I can hard-code an extraction destination folder (preferably into a temp folder somehwere) so as to not have the extraction pop up the "Please type the location where you want to place the extraced file." dialog?


回答1:


There's no direct way to do this. (You can see my other answer for a longer explanation about it.)

The easiest solution is to make an IExpress archive that runs an "installation program", which is really just a batch file that copies the extracted files where they're needed.

In IExpress, you'd launch the batch file like: cmd /c persist.bat. And persist.bat looks something like:

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

(The last line is a nicety to hide the fact that you used this batch file to copy the extracted archive.)




回答2:


Yes, this is possible through the use of an .INF file when you select "Extract files and run an installation command". You must set the .INF file as your Install Program and under the DestinationDirs section you would put the path to the directory you want the files to go to. Here is an example of an .INF file:


[version]  
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles=install.files

[DestinationDirs]
install.files=-1,"C:\Program Files\MyCustomDir"

[install.files]    
MyFile1.txt
MyFile2.bmp

So this sample shows that the installer will install to C:\Program Files\MyCustomDir. The files under the install.files should list all the files you want to copy to that folder. They must be included in your installer when you are selecting the files to add.



来源:https://stackoverflow.com/questions/5384094/iexpress-hard-coded-extraction-destination-folder

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!