Hola a todos.
Ya envié un mensaje hace tiempo relacionado, en parte, con este asunto. Pero
hay cosas que no me quedan muy claras sobre ello.
Para utilizar las buenas prácticas de programación recomendadas y evitar
problemas de permisos con usuarios estándar o restringidos que utilicen una
aplicación de escritorio para Windows, "me estoy quitando" de malas
costumbres como escribir en "Archivos de programa\MiPrograma" y cosas así
(desde hace unos meses, nunca es tarde para rectificar, supongo).
Para ello hago que la aplicación, al iniciarse (no he visto otro modo de
hacerlo, pero lo habrá), se cree su directorio en "\Documents and
settings\AllUsers", o sea:
\Documents and settings\AllUsers\[MiEmpresa]\[MiPrograma]
Y ahí ya lo que haga falta: más subdirectorios, archivos de configuración,
temporales, etc. Para hacerlo utilizo
"Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)".
No utilizo "Application.CommonApDataPath" porque eso me devuelve la
siguiente ruta:
\Documents and settings\AllUsers\[MiEmpresa]\[MiPrograma]\[Version]
Utilizo "AllUsers" porque de momento no tengo necesidad de perfiles
distintos para cada usuario.
Y las dudas son las siguientes:
- ¿Es "correcto" lo que estoy haciendo, o al menos es "asumible"? Vamos, que
si no es una chapuza lo que hago, pregunto.
- Según las recomendaciones, sé que debería usar el último formato (el que
incluye la versión). Pero, ¿qué ocurre cuando se cambia la versión? Si
utilizo esa carpeta para guardar configuraciones en un xml, por ejemplo, ¿no
es un "coñazo" tener que andar copiando la configuración (y todo lo que
necesite) a la carpeta de la nueva versión?, ¿o hay algo que se me ha pasado
por alto en este asunto?
No sé si me habré explicado bien. Gracias, un saludo.
Francisco Rodríguez
Leer las respuestas