Cuando llamo a un ejecutable desde una dll no me funciona ¿Qué puedo hacer?

Hola experto,
Me está surgiendo el problema que cuando llamo a un ejecutable desde una DLL, este no me funciona, ya que no me escribe correctamente en el registro de Windows.
Lo que quiero hacer es escribir unas variables en el registro de Windows para luego utilizarlas y borrarlas, me daría igual como fuera, ya sea desde un exe (aunque llamado desde una dll no me funciona) o como fuera.
Si pudieras decirme como hacerlo. Pienso que puede ser por los permisos del IIS, pero no he probado cosillas y no se que pasa.
Muchas gracias y un saludo.
Oscar

1 respuesta

Respuesta
1
Puede ser tema de permisos. El usuario anónimo de Web (IUSR_<servidor>) tiene muy pocos permisos. Si quieres utilizar una cuenta con más permisos, debes hacerlo a nivel de configuración de tu aplicación Web. A la página que ejecute la DLL debes asignarle un usuario con permisos suficientes. Para ello, localiza el archivo de la página desde la consola de administración de IIS, y abre sus propiedades. EN la pestaña "Seguridad de archivo", haz clic en "Modificar". Asegúrate que está marcado el check de "Acceso anónimo", y en "Examinar" selecciona un usuario con permisos. Cuando un usuario anónimo acceda a esa página, cambiaría de usuario al que tú hayas indicado.
Por otro lado, dices que llamas a un ejecutable desde una DLL. Asegúrate que el ejecutable no tenga ninguna interfaz gráfica. Asimismo, para acceder al registro de Windows es mejor hacerlo directamente mediante una DLL.
Buenas,
Ya he probado lo que me has dicho, y sigue sin escribir.
La escritura en el registro, también la he probado en la DLL, y tampoco, ni con DLL, ni con EXE, ni con nada.
De la única forma que funciona es ejecutándolo fuera de la WEB, pero eso no es viable.
¿Se te ocurre alguna otra cosa?
Saludos.
Oscar
¿Has probado con lo de un usuario con permisos? Debería funcionar...
Mira en el Visor de sucesos por si se registra allí algún error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas