2010-04-23 13 views
6

Mi programa se instala con un proyecto de instalación de Visual Studio. El programa, cuando se ejecuta, crea un archivo user.config en su ubicación predeterminada ya que estoy usando Settings. Al desinsular, ¿cómo obtengo el desinstalador para eliminar ese archivo user.config? Además, ¿cómo hago para que el desinstalador elimine una carpeta en %AppData%?Cómo eliminar la configuración al desinstalar

+0

posible duplicado de http://stackoverflow.com/questions/510722/if-the-user-uninstalls-your-program-what-do-you-do-with-the-user-data – saschabeaumont

Respuesta

2

Tendrá que escribir una tarea personalizada para eso: de forma predeterminada (y de diseño) el instalador solo eliminará lo que instaló, todo lo que se agregue después no es parte de la transacción de instalación. Tal vez podría intentar instalar un archivo ficticio para el archivo user.config, y debería poder agregar la carpeta AppData en la instalación (aunque no se eliminará si ha agregado archivos en el momento de la desinstalación).

+0

El problema es que no No sé la ubicación exacta del archivo de configuración. Se encuentra en AppData \ Local \ \ _ \ \ user.config – configurator

+0

A continuación, una acción de desinstalación personalizada será su mejor opción. Puede ser realmente simple, solo un script, y puede hacer una eliminación comodín de *% AppData% \ Local \ * abajo. – slugster

2

Básicamente, no se puede/no se debe/no se debe. Aquí hay un reenvío de my answer to a duplicate of this question ...

La eliminación de todos los datos por usuario debe ser un proceso separado para la desinstalación.

Mi recomendación (y lo que hacemos) sería crear una utilidad de "limpieza" separada que debe ejecutarse como administrador y que enumerará a través de los perfiles la eliminación de archivos de usuario adicionales. Opcionalmente, también podría enumerar las colmenas de registro de usuarios y eliminar claves de registro adicionales, etc. Uno de nuestros clientes tiene sus propios scripts personalizados que hacen exactamente eso.

A continuación, proporcionaría al cliente esta herramienta de limpieza y diría después de la desinstalación, si desea eliminar todos los datos de usuario, utilice esta opción.

considerar los siguientes casos

  • cliente desinstala antes de instalar una nueva versión
  • actualizaciones importantes (que desinstalar la versión antigua por lo que necesita ser consciente de esto)
  • desinstalación accidental por una usuario que no debería haber hecho, pero tenía la capacidad de hacerlo

Si debe debe debe extraer los datos, entonces la forma más limpia de eliminar estos datos para todos los usuarios que puedo pensar sería aprovechar el Active Setup y usar esto para desencadenar un script por usuario que se ejecute la próxima vez que inicie sesión cada usuario. Los datos no se borrarán durante la desinstalación, sino en el próximo inicio de sesión. Y dejará unas cuantas entradas de registro mintiendo, sin embargo, sería menos probable que cause corrupción que enumerar los perfiles de usuario.

Cuestiones relacionadas