[eluser]renownedmedia[/eluser]
To have everything in one file... You could base64 encode all of your files, store them as strings, and have a script "extract" all of them to your server. At the end of the script execution it could execute some SQL queries.
I would recommend against this considering your install.php file will be at least 1.5 times as large as your project is right now.
The best thing to do is distribute a bunch of separate files and build an install.php file which gets database info from the user, and writes to the CI config file, and builds the tables/populates initial data. I'd keep the install file outside of CI (just plain PHP).