Ver Mensaje Individual
  #5  
Antiguo 09-01-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Cita:
Empezado por MON___ Ver Mensaje
Gracias, Jachguate. Efectivamente, ¡queda mucho mejor!
ChackAll, tienes razón y en eso había pensado; no obstante es la primera vez que me he encontrado con la creación de un servicio y no lo logro. Por más que reviso los argumentos dados en CreateService no encuentro el error. Digamos que en este punto el que sea APACHE es secundario. Ahora me preocupa sólo saber dónde cometo el error.

Por cierto: lo que estaba intentando era instalar el Apache (con PHP y MySQL) en una memoria Flash; al introducirla en un portátil (que no lo tiene instalado) lanzase una aplicación DELPHI que comprobase la existencia del servicio y, de no existir, lo crease.

¡Gracias a los dos! ¡Feliz año!
Ok. el problema es simple; estas creando la conexión con el Administrador de servicios con el parametro SC_MANAGER_CONNECT, osea solo estas estableciendo una conexión con el mismo; pero no estas habiitando la opción de creación de servicios, utiliza:

Código Delphi [-]
 ServicioControl := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);

En el caso anterior estas habilitando la siguiente conbinación
Código Delphi [-]
STANDARD_RIGHTS_REQUIRED or 
SC_MANAGER_CONNECT or 
SC_MANAGER_CREATE_SERVICE or 
SC_MANAGER_ENUMERATE_SERVICE or 
SC_MANAGER_LOCK or 
SC_MANAGER_QUERY_LOCK_STATUS or 
SC_MANAGER_MODIFY_BOOT_CONFIG

Tambien hay un error en la constante de acceso en la creación del servicio, utiliza esto:

Código Delphi [-]
...
 
Servicio := CreateService(ServicioControl, 'Apache 2', 'Servidor Apache', SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
 
...

Saludos

Edito, y re-edito: había otro error

Última edición por cHackAll fecha: 09-01-2008 a las 19:30:38.
Responder Con Cita