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

#6 Fernando A. Gómez F.
11/01/2009 - 21:30 | Informe spam
JM wrote:
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



Que dicho sea de paso, no son tan nuevas.

http://msdn.microsoft.com/en-us/lib...11696.aspx

Desde hace tiempo Microsoft recomendaba la utilización de los folders de
sistema para crear archivos, y el Registry para guardar las
configuraciones. Sin embargo, difícilmente importaba en XP. Y cuando
llegó Vista a hacer uso de las recomandaciones, ¡boom! miles de
programas truenan por no haber seguido las recomendaciones.

Saludos.

Fernando A. Gómez F.
http://www.fermasmas.com
Respuesta Responder a este mensaje
#7 edcha
12/01/2009 - 02:24 | Informe spam
y ¿cual debe ser la crapeta que se debe usar para tener archivos que
cualquier usuario quiera acceder?

Gracias por la ayuda
Respuesta Responder a este mensaje
#8 Fernando A. Gómez F.
12/01/2009 - 06:15 | Informe spam
edcha wrote:
y ¿cual debe ser la crapeta que se debe usar para tener archivos que
cualquier usuario quiera acceder?

Gracias por la ayuda



Hola,

"Use Windows system folders rather than creating your own (for example,
Personal, Start Menu, Desktop, My Music, My Pictures)."

Es decir, emplear los directorios de sistema. Esto es porque fuera de
estos, puede que el usuario no tenga permisos para leer o escribir. Más
aún, deberías emplear los nombres de carpetas por su código. Por
ejemplo, %MYDOCUMENTS% en lugar de C:\Usuarios\fgomez\Documentos. Esto,
porque si yo instalo Windows XP, el directorio varía a si instalo
Windows Vista.

En mi opinión, deberías de guardar los archivos relacionados con tu
aplicación, en la carpeta de datos de aplicación: %APPDATA%. Como te
mencionó Alberto, podrías obtener este directorio con:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Pero sí deberías tomar en cuenta las recomendaciones del artículo.
Muchos programadores decidieron guardar los archivos donde querían, i.e.
C:\temp, y sus programas dejaron de funcionar en Windows Vista (a menos
que desactives el UAC).

Saludos.

Fernando A. Gómez F.
http://www.fermasmas.com
Respuesta Responder a este mensaje
#9 edcha
12/01/2009 - 16:22 | Informe spam
Muchas Gracias de nuevo ya con esto puedo seguir con mi aplicación.

Gracias a todos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida