Pregunta

Estoy creando un programa que se instala con el .net installer proyecto.El programa escribe en la configuración de los archivos en su directorio de Archivos de Programa en el dir.Se cree que hay alguna configuración de active directory que impedirá la aplicación de enderezar a ese directorio si un usuario limitado se está ejecutando el programa.Hay distancia para cambiar la configuración de la carpeta de la aplicación a través de la instalación así que esto no será un problema?

¿Fue útil?

Solución

La escritura a la carpeta Archivos de Programa es una idea realmente mala, usted debe asumir que este lugar es de "sólo lectura", una vez instalado.

Guardar la configuración del usuario en Archivos de Programa causa problemas si más de dos personas, usar el ordenador a la vez (por ejemplo.Servicios de Terminal server), que debe ser guardado, ¿quieres que otros usuarios sepan 'su' configuración?¿Qué sucede si el programa escribe la configuración para el archivo como usuario, pero el usuario B no se puede editar el archivo?El usuario B puede tener acceso al directorio, pero no de lectura/eliminar el archivo de preferencias como este es poseído por el usuario A.

Legado win9x programas a menudo de escritura a la carpeta de archivos de programa, Windows Vista hace cuidada engaño a dejar que estos programas de trabajo.Cuando el programa escribe un archivo, vista en realidad lo pone en algún otro lugar que sólo es accesible para el usuario.El mismo se hace para el registro de las escrituras en HKLM (o por lo descubrí después de horas de depuración...) y Server 2008, hace lo mismo.

Si usted está necesitando para guardar la configuración del usuario, la mejor alternativa sería la de guardar la configuración en la carpeta de Datos de Aplicación (Variable de Entorno %APPDATA%)

Si la configuración de todo el sistema, a continuación, el usuario administrador debe establecer estos después de la instalación o en la primera ejecución y que no debería ser capaz de ser sobrescritos por los usuarios limitados.

Así que para responder a tu pregunta, SÍ hay una manera de hacer lo que has pedido.Pero es una mala idea, es inseguro y probablemente causará problemas en el largo plazo.

Otros consejos

Usted puede escribir un instalador personalizado de la clase que puede cambiar los permisos de seguridad de la carpeta.Esto podría suponer la instalación es realizada por un usuario que tiene permiso para cambiar el archivo/directorio de seguridad.

La mejor opción es no escribir en los directorios de Archivos de Programa en absoluto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top