2010-04-23 5 views
6

Mein Programm ist mit einem Visual Studio Setup-Projekt installiert. Wenn das Programm ausgeführt wird, erstellt es eine user.config-Datei an seinem Standardspeicherort seit ich Settings verwende. Wie entferne ich das Deinstallationsprogramm, um die user.config Datei zu entfernen? Wie kann ich das Deinstallationsprogramm veranlassen, einen Ordner in %AppData% zu entfernen?So entfernen Sie Einstellungen beim Deinstallieren

+0

möglich duplicate von http://stackoverflow.com/questions/510722/if-the-user-uninstalls-your-program-what-do-you-do-with-the-user-data – saschabeaumont

Antwort

2

Sie müssen eine benutzerdefinierte Aufgabe dafür schreiben - standardmäßig (und Design) wird das Installationsprogramm nur entfernen, was es installiert hat, alles, was später hinzugefügt wurde, ist nicht Teil der Installationstransaktion. Sie könnten vielleicht versuchen, eine Dummy-Datei für die Datei user.config zu installieren, und Sie sollten in der Lage sein, den AppData-Ordner zur Installation hinzuzufügen (obwohl er nicht entfernt wird, wenn Sie Dateien hinzugefügt haben, die zum Zeitpunkt der Deinstallation darin sitzen).

+0

Problem ist ich don kenne den genauen Speicherort der Einstellungsdatei nicht. Es befindet sich in AppData \ Local \ \ _ \ \ user.config – configurator

+0

Dann ist eine benutzerdefinierte Deinstallationsaktion Ihre beste Option. Es kann wirklich einfach sein, nur ein Skript, und Sie können ein Platzhalter löschen von *% AppData% \ Local \ * down machen. – slugster

2

Grundsätzlich können/nicht/nicht/nicht. Hier ist ein Repost von my answer to a duplicate of this question ...

Entfernung aller Benutzerdaten sollte ein separater Prozess zur Deinstallation sein.

Meine Empfehlung (und was wir tun) wäre, ein separates "Cleanup" -Dienstprogramm zu erstellen, das als Administrator ausgeführt werden muss und über die Profile aufzählt, die zusätzliche Benutzerdateien entfernen. Optional könnte es auch die Registry-Hives der Benutzer auflisten und zusätzliche Registry-Schlüssel usw. entfernen. Einer unserer Clients hat seine eigenen benutzerdefinierten Skripts, die genau das tun.

Ich würde dann den Kunden mit diesem Cleanup-Tool und sagen, nach der Deinstallation, wenn Sie alle Benutzerdaten entfernen möchten, dann verwenden Sie diese.

Betrachten Sie die folgenden Fälle

  • Kunden vor Deinstallationen eine neue Version
  • wichtige Upgrades für die Installation (die die alte Version deinstallieren, so dass Sie sich dessen bewusst zu sein brauchen) durch ein
  • Accidental deinstallieren Benutzer, die es nicht haben sollte getan, aber hatte die Fähigkeit, so

tun Wenn Sie müssen müssen müssen die Daten entfernen dann die sauberste Möglichkeit, diese Daten für alle Benutzer zu entfernen, die ich mir vorstellen könnte, wäre, Active Setup zu nutzen und damit ein benutzerdefiniertes Skript auszulösen, das bei der nächsten Anmeldung jedes Benutzers ausgeführt wird. Die Daten werden nicht während der Deinstallation, sondern bei der nächsten Anmeldung gelöscht. Und Sie werden ein paar Registry-Einträge liegen lassen, aber es wäre weniger wahrscheinlich, Korruption als das Aufzählen von Benutzerprofilen zu verursachen.

Verwandte Themen