Permisos de ejecucion sobre ficheros de una carpeta de unidad de red

20/11/2006 - 12:01 por Baldor | Informe spam
Tengo aplicaciones Windows generadas con VSNET 2003 que realizan accesos
lectura/escritur a algún fichero en la carpeta de la aplicación. Si la
aplicación está en el disco local, funciona sin problemas, pero si está en
una unidad de red, e intentamos ejecutarla en esa ubicación, se produce un
error de seguridad de algún tipo.

¿Alguién sabe cual suele ser el problema en estos casos y como
resolverlo? ¿Algo relacionado con los permisos de algun usuario de VS?

Gracias
 

Leer las respuestas

#1 Alberto Poblacion
20/11/2006 - 12:19 | Informe spam
"Baldor" wrote in message
news:%23K4q$
Tengo aplicaciones Windows generadas con VSNET 2003 que realizan
accesos lectura/escritur a algún fichero en la carpeta de la aplicación.
Si la aplicación está en el disco local, funciona sin problemas, pero si
está en una unidad de red, e intentamos ejecutarla en esa ubicación, se
produce un error de seguridad de algún tipo.

¿Alguién sabe cual suele ser el problema en estos casos y como
resolverlo? ¿Algo relacionado con los permisos de algun usuario de VS?



Por una parte, el usuario de Windows que ejecuta la aplicación tendrá que
tener permisos de lectura/escritura sobre la carpeta compartida en el
servidor y los permisos NTFS sobre la carpeta de disco que se comparte (cosa
que no es recomendable cuando se trata de la carpeta de la aplicación, pero
es posible si te empeñas en hacerlo).
Pero por otra parte, y este es el error más corriente, se necesitan
también los permisos de .Net. Cuando un ejecutable se carga desde el disco
local, de forma predeterminada recibe permisos ilimitados, pero cuando se
carga en memoria desde una ruta de red, recibe los permisos que se llaman
"LocalIntranet", que por defecto son muy limitados y, entre otras cosas, no
permiten grabar archivos en disco.
Estos permisos se pueden cambiar desde linea de comandos con el comando
CASPOL.EXE, o desde el panel de control (¡de cada equipo!) en "Herramientas
Administrativas", "Configuración de .Net Framework". Esta herramienta tiene
una entrada que se llama "Seguridad" desde donde se pueden modificar estos
permisos.
Con el framework 1 se instalaba esta herramienta de forma automática,
pero con el 2 solo se instala si instalas en el equipo el SDK de .Net (o el
Visual Studio). Para no tenerlo que instalar en todos los equipos, se puede
hacer una configuración de política de empresa en un único equipo que tenga
la herramienta administrativa, y generar con ella un .msi que luego se puede
instalar con el Windows Installer en todos los equipos (cosa que se puede
automatizar mediante una política de grupo). O bien hacer un fichero de
comandos con el CASPOL y ejecutarlo en todos los ordenadores.

Preguntas similares