I've done this in the past by using a shell script with a binary tarfile appended to it. When the script it run it will pull off the tarfile and then extract it. A few of the key elements of the script are:
Code:
SKIP=`${AWK} '/^__ARCHIVE_START__/ { print NR + 1; exit 0; }' $PROGRAM`
ExtractTarFile()
{
echo "Extracting files..."
${TAIL} +${SKIP} $PROGRAM_FILE | ${GZIP} -dc | ${TAR} -xvf -
}
if [ $? -eq 1 ]; then
echo "gzip must be installed and in your path"
exit 1
fi
# Call the main routines, either backup or backout
if [[ $BACKOUT_FLAG = 1 ]]; then
BackoutTarFile
else
CreateBackupFiles
CheckForCopyErrors # this function may abort script
ExtractTarFile
fi
exit 0
__ARCHIVE_START__
^_.^H^@.Ýz@^@^CÌ;^KlSW.çÙ.:Ô^E3^[vM^EÅ ..,eì$.ÉÒ.S.¬Ù¤. Î4.@Ï.c.µ&q^].^D
<snip>
I created the script/binfile with:
Code:
cat script.sh tarfile.tar > setup.bin
I have not used this in quite some time in favor of professional installers, but it worked good when I did use it. I actually liked this a bit better since my script controlled every aspect of the install and I didn't have to rely on the oddities and limitations of Install Shield installers.