First thing you need is Application Installer:
https://code.google.com/p/phpdesktop/wiki/KnowledgeBase#Application_installer
Auto Updater is another thing. Unfortunately neither Inno Setup nor NSIS installer do not provide such feature out of the box. An auto updater is a separate exe program that should do the following:
1. Be installed as a service, with Startup type as Automatic (delayed start).
2. Check periodically website for new versions
3. If there is a new version download its application installer
4. Check if app is running, if so you may notify user that update is available, or just wait till application is closed
5. Install the new update while application is not running. Install it using silent flags so that it installs without user interaction in background (eg.
/SILENT flag in Inno Setup).
6. Auto Updater runs constantly in background, so it should have low memory footprint, preferably be written in C++ or C#.NET.
See some free open source auto updater programs: