ну обычно проверяют есть ли фаил конфига. если его нет запускают инсталятор. если он есть запускают цмску
или на оборот проверяют если есть инсталятор то запускают его а если нет то продолжают работу. инсталятор как отработает самоудаляется как бы и система продалжает свою работу
вот кусок из одного фреймворка
if (file_exists('install'.EXT))
{
// Load the installation check
return include 'install'.EXT;
}
https://github.com/kohana/kohana/blob/3.3/master/i...