Wie kann mein deinstallation ordnungsgemäß befassen sich mit der Wiederherstellung registry-Einträge?

StackOverflow https://stackoverflow.com/questions/402017

  •  03-07-2019
  •  | 
  •  

Frage

Manchmal ist es notwendig, ändern Sie die Windows-Registrierungseinstellungen werden während einer Anwendung installieren.Ich habe mir vor kurzem war frustriert von Anwendungen, die nicht diese Einstellungen wiederherstellen, wenn Sie deinstalliert werden.Als ich dachte, mehr über diese, es fällt mir ein, dass es vielleicht keine gute (oder gültig) Möglichkeit zum speichern und wiederherstellen der registry-Einstellungen.Nehmen Sie die folgende Abfolge von Ereignissen für das Beispiel:

  1. Anwendung besitzt die Open-Aktion für die Datei-Erweiterung .abc.
  2. Anwendung B installiert ist, und entführt die Open-Aktion für die Datei-Erweiterung .abc.
  3. Anwendung deinstalliert wird.
  4. Anwendung B installiert ist.

Bei Schritt 3, wenn Eine Anwendung ist smart genug ist, wird es erkennen, dass er nicht mehr besitzt, Öffnen Sie die Aktion und wird daher überspringen Sie alle versuchen, es wiederherzustellen.

Im Schritt 4, ist es irgendwelche gültige Aktion, die Anwendung B nehmen kann?

  • Nichts zu tun, verlässt die Open-Aktion verweist gelöscht ausführbare Datei.
  • Die Wiederherstellung der Zeiger auf Antrag Eine ebenfalls gelöscht ausführbare Datei.
  • Der Benutzer gefragt wird, ist nicht zulässig, da dies in der Regel als weit über die technischen Fähigkeiten des typischen Benutzers.Wenn Sie damit nicht einverstanden sind, dann ersetzen Sie eine andere änderung der Registrierung, die in Schritte 1 und 2, dass Sie denken, dass Sie außerhalb des Bereichs für den Benutzer zu beantworten.
  • Löschen Sie die Aktion wird ebenfalls durch den Benutzer erforderlich, um eine uninformierte Entscheidung zu einem späteren Zeitpunkt, oder sonst stellen Sie eine Funktion für den Benutzer nicht verfügbar.

Dies ist nur einer von vielen schlechten Situationen, ich kann mir vorstellen, wo es keine offensichtliche eine und einzige "richtige" Lösung.Mein Nächstes Projekt erfordert änderungen an der Registrierung während der Installation, und ich würde gerne wissen, der beste oder empfohlene Praxis für die deinstallation.Leider habe ich verbrannt wurde durch schlechte deinstallieren Praktiken in aktuellen kommerziellen Pakete, so dass ich bin mir bewusst, dass es keinen Konsens über die beste Praxis hier, und es ist entweder eine Menge Arbeit, um es richtig zu machen, oder sonst ein design-Fehler in der Registry, oder beides.

Dies ist eine sehr Reale programming problem für mich.Ich bin tagging es Subjektiv, weil ich nicht sicher bin, dass es keine one-size-fits-all rechts Antwort auf diese Frage.Bitte fühlen Sie sich frei zu widersprechen.

War es hilfreich?

Lösung

Wenn Sie schreiben, Anwendung B, dann würde ich sagen, dass Sie nicht entführen die Open-Aktion für die .abc-Erweiterung in den ersten Platz.Während der Installation fragt den Benutzer, ob er will zu verknüpfen .abc-Dateien mit Ihrem Programm.Während der deinstallation überprüfen Sie, ob Ihr Programm ist immer noch verbunden.Wenn ja, trennen Sie die Datei-Erweiterung, andernfalls lassen Sie es allein.

Wenn Sie eine andere Anwendung, die will, weiterhin zugeordnet werden .abc-Dateien nach der deinstallation B, hart - um den Benutzer zu beheben.Nach alle, er stimmte zu verknüpfen .abc-Dateien mit Ihrer Anwendung und dann deinstalliert Ihre Anwendung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top