Wo speichert Windows die Dateizuordnung für die Deinstallation von Programmen?

1

Wenn Sie ein Programm deinstallieren, findet Windows alle Programmdateien und löscht sie. Wo werden die Dateien gespeichert, die alle Pfade dieser Dateien enthalten? (Insbesondere Windows 7). Sorry, wenn dies ein Duplikat ist, ist es schwer diese Frage zu formulieren :)

EDIT # 1: Ich habe das gesehen , aber ich möchte es für alle Programme wissen, nicht nur für .msidie.

Noah Cristino
quelle
Ich glaube, die meisten von ihnen sind in HKLM \ SOFTWARE \ WOW6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall.
BillDOe
Es ist Sache der einzelnen Deinstallationsprogramme, zu entscheiden, wie und wo die Datei- und Registrierungsinformationen gespeichert werden sollen.
AFH
Nur neugierig, möchten Sie ein deinstalliertes Programm vollständig entfernen? Die meisten Deinstallationsprogramme belassen weiterhin Teile der Software auf Ihrem System, manchmal für den Fall, dass Sie sie später erneut installieren möchten, manchmal, weil sie schlampig sind.
BillDOe
@ BillOertell Ich möchte alle Dateien aus dem Programm holen, damit ich sie auf einen anderen Computer verschieben kann.
Noah Cristino
@NoahCristino, ich weiß, es ist nicht die Frage, die Sie gestellt haben, aber das Verschieben eines Programms von einem Computer auf einen anderen, ohne es einfach auf dem anderen zu installieren, ist wahrscheinlich komplizierter als das Verschieben der Programmdateien und der Registry-Deinstallationseinträge, abhängig vom jeweiligen Programm . Die Registrierungseinträge eines Programms sind normalerweise über die gesamte Registrierung verteilt. Vielleicht sollten Sie diese separate Frage stellen.
BillDOe

Antworten:

1

Der Speicherort der Deinstallationsinformationen kann je nach Programm variieren. Bei einigen Programmen, zum Beispiel der , die Sie unter siehe „Programm deinstallieren oder ändern“, wenn Sie ein Programm durch die deinstallieren versuchen Systemsteuerung können Sie das Programm finden , die Software deinstallieren wird unter dem Windows - RegistrierungsschlüsselHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall oder HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall. Einige befinden sich möglicherweise unter einem dieser Speicherorte in der Registrierung, während sich andere möglicherweise unter dem anderen Speicherort der Registrierung befinden.

Sie können das Registrierungseditorprogramm regedit ausführen und zu diesen Speicherorten in der Registrierung navigieren. Wenn Sie sich die Schlüssel für ein bestimmtes Programm ansehen UninstallString, wird möglicherweise ein Name angezeigt , der auf den Speicherort des Programms verweist, das ausgeführt wird, wenn Sie das Programm über die Systemsteuerung deinstallieren. Dieses Deinstallationsprogramm befindet sich normalerweise in dem Verzeichnis, in dem die Programmdateien abgelegt wurden. Bei einigen Programmen wird möglicherweise InstallLocationunter einem Eintrag ein Schlüssel angezeigt, dessen Name mit dem Namen des betreffenden Programms übereinstimmt und der auf das Verzeichnis verweist, in dem sich die Programmdateien befinden.

Mondpunkt
quelle
Gute Antwort, aber meine Frage ist, woher weiß das Deinstallationsprogramm, welche Dateien gelöscht werden müssen? und speichert es den Installer irgendwo?
Noah Cristino
1

Es liegt ganz beim Hersteller jeder Anwendung, ein Deinstallationsprogramm bereitzustellen. Es gibt keinen universellen Standardort, an dem die Liste der zu entfernenden Dateien / Registereinstellungen gespeichert wird. Aus diesem Grund hinterlassen so viele Programme eine Tonne ihres Mülls auf der gesamten Festplatte. Die meisten Programme räumen einfach nicht sehr gut auf.

Die meisten Softwareanbieter packen ihre Software in ein Installationsprogramm eines Drittanbieters, von denen die meisten InstallShield (Flexera-Software) oder Microsoft Windows Installer ( .msi) sind. Mit diesen Installationsprodukten können Softwareanbieter Tabellen definieren, die alle Dateien und Registrierungseinstellungen in der Payload enthalten und wo sie sich befinden. Sie bieten auch eine Skriptsprache, mit der Anbieter während des Installationsprozesses Entscheidungen treffen können.

Diese Produkte vereinfachen die Bereitstellung von Anwendungen für Anbieter, ohne dass eigene Installationsroutinen erstellt werden müssen. Der Punkt ist jedoch, dass es immer noch jedem Anbieter überlassen bleibt, diese Funktionen auch tatsächlich zu nutzen. Sowohl Microsoft als auch InstallShield generieren automatisch eine grundlegende Deinstallationsroutine für Sie, wenn Sie ein Projekt erstellen. Dabei werden jedoch nur die in den Tabellen aufgeführten Dateien und Registrierungseinstellungen entfernt, sofern sie nicht geändert wurden. Sie entfernen nichts, was nach oder nach Einstellungen im Benutzerverzeichnis hinzugefügt wurde, und wenden standardmäßig keine Intelligenz auf die Deinstallation an. Wenn etwas mehrdeutig ist, bleibt es in Ruhe.

Aus diesem Grund sind Deinstallationsprogramme so schlampig und es ist praktisch unmöglich, eine Anwendung sauber zu entfernen, wenn dieser Anbieter zu faul war, um über solche Dinge nachzudenken (oder noch schlimmer, bei Crapware möchten Sie nicht, dass Sie ihre Anwendung deinstallieren). .

Wes Sayeed
quelle
Gute Antwort, aber woher weiß das Deinstallationsprogramm, welche Dateien es löschen soll? und speichert es den Installer irgendwo?
Noah Cristino
Das Deinstallationsprogramm speichert den Speicherort der Dateien und Registrierungseinträge, wo immer der Entwickler dies wünscht. Es kann eine Liste in der Registrierung geben, wo immer der Entwickler es wünscht. Oder es kann im Deinstallationsprogramm selbst fest programmiert sein, wo und wie auch immer der Entwickler es wünscht. Oder es kann woanders sein. Hierfür gibt es keine wirklichen Standards, sondern nur Konventionen, die häufig ignoriert werden. Details dazu werden selten veröffentlicht. Entwickler haben die sehr vernünftige Einstellung (aus ihrer Sicht), warum sollte jemand ihr wunderbares Programm deinstallieren wollen?
LMiller7
@NoahCristino; Die Tabellen, in denen diese Informationen gespeichert sind, befinden sich im Installationspaket selbst. Die meisten Programme speichern eine lokale Kopie des Installationsprogramms auf der Festplatte, damit Sie sie später zum Deinstallieren des Programms verwenden können. In den meisten Fällen können diese Dateien jedoch nicht von Menschen gelesen werden, und auch hier sind der Speicherort und die Funktionen ausschließlich dem Entwickler überlassen.
Wes Sayeed
@ LMiller7 Ich versuche die Dateien dazu zu bringen, das Programm auf einen anderen Computer zu übertragen. Ich brauche eine Liste der zu verschiebenden Dateien oder eine Kopie des Installationsprogramms, die nicht immer verfügbar ist ...
Noah Cristino
@NoahCristino; Es ist wahrscheinlich, dass Sie dies nur für die einfachste Anwendung tun können. Das Kopieren einer gesamten Anwendung von einem Computer auf einen anderen ist bei den meisten Windows-Apps nicht vorgesehen.
Wes Sayeed