error con Directory.CreateDirectory en Carpeta "Archivos de Programas"

06/01/2009 - 05:17 por edcha | Informe spam
Hola tengo un programa en la carpeta "Archivos de Programas" el cual
crea un directorio llamado "LengFile" estoy usando Windows Vista

Pero al ejecutar el código me da el siguiente error

"Acceso denegado a la ruta de acceso 'C:\Program Files\DirProg
\LengFile'"

El código que estoy usando para crear el directorio es:
try {

Directory.CreateDirectory
(System.AppDomain.CurrentDomain.BaseDirectory + "LengFile");
} catch (Exception j) {
MessageBox.Show(j.Message);
}

Me podrían ayudar dando un ejemplo de que debo de hacer para crear un
directorio en esa carpeta.

Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
06/01/2009 - 10:52 | Informe spam
"edcha" wrote in message
news:
Hola tengo un programa en la carpeta "Archivos de Programas" el cual
crea un directorio llamado "LengFile" estoy usando Windows Vista

Pero al ejecutar el código me da el siguiente error

"Acceso denegado a la ruta de acceso 'C:\Program Files\DirProg
\LengFile'"



Es un problema de permisos. Para crear archivos o carpetas bajo
C:\Program Files se necesitan permisos de Administrador. Pero aunque seas
administrador del equipo, bajo Windows Vista de forma predeterminada el UAC
te "reduce" los permisos y tus programas no se ejecutan con permisos de
Administrador. Puedes remediarlo haciendo click con el botón derecho sobre
el .exe de tu programa compilado y seleccionando en el menú de contexto la
opción "Ejecutar como Administrador".
Respuesta Responder a este mensaje
#2 JM
06/01/2009 - 15:52 | Informe spam
o bien regirte a las nuevas normas en vista, que dicen que tus programas no
deben crear subdirectorios para almacén de datos o similares en archivos de
programa
y tienes que crearlos en el perfil del usuario

C:\documents and settings\usuario\datos de programa\DirProg\LengFile


"Alberto Poblacion"
escribió en el mensaje de noticias:uC83GS#
"edcha" wrote in message
news:
Hola tengo un programa en la carpeta "Archivos de Programas" el cual
crea un directorio llamado "LengFile" estoy usando Windows Vista

Pero al ejecutar el código me da el siguiente error

"Acceso denegado a la ruta de acceso 'C:\Program Files\DirProg
\LengFile'"



Es un problema de permisos. Para crear archivos o carpetas bajo
C:\Program Files se necesitan permisos de Administrador. Pero aunque seas
administrador del equipo, bajo Windows Vista de forma predeterminada el
UAC te "reduce" los permisos y tus programas no se ejecutan con permisos
de Administrador. Puedes remediarlo haciendo click con el botón derecho
sobre el .exe de tu programa compilado y seleccionando en el menú de
contexto la opción "Ejecutar como Administrador".


Respuesta Responder a este mensaje
#3 edcha
06/01/2009 - 21:14 | Informe spam
¿Pero sucede esto mismo en XP?
Ademas
¿como hago entonces para crear ciertos archivos que contienen
registros de idioma que están en XML? y
¿con otros que son como base de datos pero que están en XMLtambien?
El asunto es que el programa los creara cuando se cree el usuario.

Gracias por la ayuda
Respuesta Responder a este mensaje
#4 Alberto Poblacion
07/01/2009 - 09:34 | Informe spam
"edcha" wrote in message
news:
¿Pero sucede esto mismo en XP?



No. En XP tu código debería funcionar, suponiendo que el usuario que lo
ejecuta tenga, efectivamente, los permisos necesarios.

Ademas
¿como hago entonces para crear ciertos archivos que contienen
registros de idioma que están en XML? y
¿con otros que son como base de datos pero que están en XMLtambien?
El asunto es que el programa los creara cuando se cree el usuario.



Si estos datos se tienen que crear en tiempo de ejecución, cuando el
programa lo ejecuta un usuario "normal", lo correcto es que no se creen en
la carpeta del programa, que en teoría no debe tener permisos de escritura
para los usuarios, sino que se creen en las correspondientes carpetas que el
Sistema prevee para los datos de aplicación y los datos de usuario, según
corresponda.

Busca en el manual "Environment.SpecialFolder". Desde C# puedes utilizar:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Respuesta Responder a este mensaje
#5 edcha
08/01/2009 - 19:02 | Informe spam
Gracias me daré una búsqueda sobre eso.

Aprecio la ayuda de todo el grupo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida