PDA

Ver la Versión Completa : Problema al instalar componentes


marcial
16-10-2006, 14:29:43
Hola a todos y gracias de antemano por vuestra ayuda.

Me ocurre que tenia instalado un pack de componentes (los DFW06) en W98 y tengo hechos bastantes programas que utilizan uno de sus componentes. Resulta que al dejar W98 y pasarlo todo a XP cuando voy a instalar el pack con el "Open project ...etc" cuando le doy al "Install" me da un error y me dice:

"No se encuentra el punto de entrada del procedimiento RegisterServiceProcess en la biblioteca de vínculos dinámicos Kernel32.dll"

Resulta que ahora me veo atado a w98 por este mensaje. ¿Alguien puede ayudarme ya que estoy un poco desesperado?

Gracias de nuevo por vuestra atención.

dec
16-10-2006, 14:48:57
Hola,

Pues según he podido averiguar la función a que haces referencia sólo está disponible en Windows 9x, no en Windows NT, XP, 2000, etc.

Me llama la atención que se utilize dicha función al tratar de instalar el componente... no lo entiendo bien.

Por otro lado parece que la función de marras es utilizada por algún que otro "virus" para que no aparezca su proceso en el administrador de tareas.

Tal vez por ahí vaya la cosa: en Windows NT no es tan sencillo hacer desaparecer un proceso del administrador de tareas.

O, en todo caso, habrá que hacerlo de otro modo, puesto que la función "RegisterServiceProcess" no está disponible en estas versiones de Windows.

Tal vez tú no quieras conseguir algo así, tal vez tu componente pueda sustituirse por algún otro. Es posible que cuentes con su código fuente y puedas sustituir de algún modo la función problemática...

seoane
16-10-2006, 15:11:28
RegisterServiceProcess se utilizaba en Windows9x para que un proceso normal funcionara de una forma "similar" a un servicio. Pero dado que Windows XP si soporta los servicios no hay necesidad de esa función, ya que se puede crear un servicio e instalarlo como tal. Si utilizabas esta función para eso, es decir, para simular un servicio lo mejor es que crees un servicio.

Si lo utilizabas para ocultarlo de la lista de aplicaciones, puedes usar lo siguiente:

Application.Title:= '';

Esto lo hará desaparecer de la lista de aplicaciones, pero no de la lista de procesos. Por razones de seguridad no hay forma de hacer desaparecer una aplicación de la lista de procesos, la única forma es utilizar técnicas similares a las de los rootkits, y eso no se puede hacer desde delphi.