I am building a web application using Codeigniter, which will be running on localhost. Is there any way to create an installer for it so that any user can install it (including XAMPP server) like regular software on windows?
I think you're better off using something like Phar to compress and distribute your application. You could roll your own, taking advantage of
__HALT_COMPILER, etc., however Phar should support most anything you need.
Creating a binary installer for a PHP application (the prototypical
setup.exe) is not likely to be a good decision, as most people using shared hosting providers are not going be able to execute and install the application to the server.
A web installer is not only more portable, but typically what's expected for web application installation procedures. Also, writing the installer in PHP allows you to use your existing codebase during the installation procedure to perform diagnostics, compatibility checks, and essentially anything you need.