Installer framework