Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iexpress hard-coded extraction destination folder?

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?

like image 291
Seth Avatar asked Mar 21 '11 21:03

Seth


2 Answers

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.)

like image 191
fission Avatar answered Oct 25 '22 18:10

fission


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.

like image 44
Rahsas Avatar answered Oct 25 '22 17:10

Rahsas