pgg1
10th August 2007 16:03 UTC
Self extracting executable
Hi
At present I have a compile directory which holds all my files along with my script. When I run the script I create a directory on my desktop and I copy all the files over to this directory along with the program executable that NSIS creates, everything in the directory makes up my program.
How do you get everything into a single executable? so all you have is one single executable with everything contained within, similar to the NSIS installation.
I have looked at makensis.nsi from the Examples directory within NSIS and to be honest it's not that clear to me.
Any advice will be a great help.
Cheers,
Paul
Afrow UK
10th August 2007 16:20 UTC
The File instruction is what you want.
Stu
pgg1
10th August 2007 16:36 UTC
Thanks, I am using the File instruction in places. But I mainly use the ZipDLL.dll The main reason I use the ZipDLL is because I package the Java Runtime Environment (JRE) with my program and I need to extract all the files the JRE has. I use the ZipDLL like so:
Section "Extract Files"
!insertmacro ZIPDLL_EXTRACT "Release_DLL.zip" "$INSTDIR\bin\DLLs" <ALL>
!insertmacro ZIPDLL_EXTRACT "Client.zip" "$INSTDIR\Client" <ALL>
!insertmacro ZIPDLL_EXTRACT "JRE_v6.zip" "$INSTDIR\JRE_v6" <ALL>
!insertmacro ZIPDLL_EXTRACT "SomeOtherZip.zip" "$INSTDIR\Motorola" <ALL>
SectionEnd
Is this the reason why I am not getting a single executable
within everything contained within?
Cheers
Paul
Afrow UK
10th August 2007 17:33 UTC
There's no point using Zip files. Just put the files inside those Zip files in separate folders and then use File /r path\*.*.
With your method you're still going to have to compress the Zip files into your install with File instructions anyway meaning you'll be uncompressing the data twice.
Stu