2010-04-23 18 views
6

Mon programme est installé avec un projet d'installation Visual Studio. Le programme, lorsqu'il est exécuté, crée un fichier user.config dans son emplacement par défaut puisque j'utilise Settings. Lorsque non désassemblé, comment puis-je obtenir le programme de désinstallation pour supprimer ce fichier user.config? En outre, comment puis-je provoquer le programme de désinstallation pour supprimer un dossier dans %AppData%?Comment supprimer les paramètres lors de la désinstallation

+0

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

Répondre

2

Vous aurez besoin d'écrire une tâche personnalisée pour cela - par défaut (et le design) le programme d'installation ne supprimera que ce qu'il a installé, tout élément ajouté par la suite ne fait pas partie de la transaction d'installation. Vous pourriez peut-être essayer d'installer un fichier fictif pour user.config, et vous devriez pouvoir ajouter le dossier AppData à l'installation (bien qu'il ne soit pas supprimé si vous avez ajouté des fichiers au moment de la désinstallation).

+0

Problème, c'est moi Je ne connais pas l'emplacement exact du fichier de paramètres. Il se trouve dans AppData \ Local \ \ _ \ \ user.config – configurator

+0

Ensuite, une action de désinstallation personnalisée sera votre meilleure option. Il peut être très simple, juste un script, et vous pouvez faire une suppression générique de *% AppData% \ Local \ * vers le bas. – slugster

2

Fondamentalement, vous ne pouvez pas/ne devriez pas/ne pas. Voici un repost de my answer to a duplicate of this question ...

La suppression de toutes les données par utilisateur doit être un processus distinct de la désinstallation.

Ma recommandation (et ce que nous faisons) serait de créer un utilitaire de "nettoyage" séparé qui doit être exécuté en tant qu'administrateur et énumèrera les profils en supprimant les fichiers utilisateur supplémentaires. En option, il pourrait également énumérer les ruches du registre des utilisateurs et supprimer les clés de registre supplémentaires, etc. Un de nos clients a ses propres scripts personnalisés qui font exactement cela.

Je voudrais ensuite fournir au client cet outil de nettoyage et dire après la désinstallation, si vous voulez supprimer toutes les données utilisateur, puis utilisez ceci.

Tenir compte des cas suivants

  • client désinstalle avant d'installer une nouvelle version
  • mises à jour majeures (qui désinstaller l'ancienne version de sorte que vous devez être au courant de cela)
  • désinstallation accidentelle par un utilisateur qui ne doit pas l'avoir fait, mais avait la capacité de le faire

Si vous devez devez devez supprimer les données puis la façon la plus propre de supprimer ces données pour tous les utilisateurs que je peux penser serait de tirer parti de Active Setup et l'utiliser pour déclencher un script par utilisateur qui s'exécute la prochaine fois que chaque utilisateur se connecte. Les données ne seront pas supprimées lors de la désinstallation, mais lors de la prochaine connexion. Et vous laisserez quelques entrées de registre, mais il est moins susceptible de causer de la corruption que d'énumérer les profils utilisateur.