Gibt`s schon Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Hallo, als Laie hab ich mich schon oft (sehr oft) gefragt ob es denn so schwierig ist eine Deinstallationsroutine zu Programmieren die Tatsächlich das Programm RESTLOS entfernt. Daher meine Frage. Ist es so schwierig oder will man mit Absicht Reste des Programms auf dem PC lassen? Vorab schon mal Danke für die Antwort. Grüßle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
developer Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Zum einen will man natürlich nicht, dass z.B. Lizenzinformationen beim Deinstallieren gelöscht werden. Zum anderen könnte das Deinstallieren gemeinsam genutzter Dateien dazu führen, dass andere Programme nicht mehr richtig laufen. Gerade bei Steuerelementen oder dlls könnte dies leicht auftreten. Stell dir vor, du hast ein Programm das eine neue Art eines Grids benutzt. Wenn ein anderes Programm dieses auch benutzt gibt es zuerst kein Probleme. Wenn du nun aber eines dieser Programme deinstallieren würdest, würde auch die "Grid-Datei" gelöscht werden. Die Folge wäre, dass das andere Programm nicht mehr richtig laufen würde. Der dritte Punkt der mir noch einfällt: Meist werden Dateien nach dem Programmstart bzw. wärend der Laufzeit erstellt: z.B. Spielstände, Ini-Dateien, andere Konfigurations-Dateien und Daten anderer Art. Beim Installieren existierten diese noch nicht, daher weiss das Installations-/Deinstallationsroutine nichts von ihnen und deinstalliert sie auch nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Danke für die Antwort. Lizenzinformation ja wohl nur bei Programmen welche eine benötigen. Dann ok. Zu Punkt zwei: Einige Programme machen wohl aber doch eine Abfrage der Gemeinsamen Komponenten, welche dann bei der Deinstallation angezeigt werden. Z.B. kommt dann die Frage (Sinngemäß) xy.dll scheint von keinem anderen Programm benötigt zu werden. Beibehalten? od. Löschen? Oder verstehe ich diesen Punkt falsch? Punkt drei: Der Programmier wird ja wohl Wissen welche Konfigurations-dateien durch sein Programm erstellt werden. Dann kann er sie auch entfernen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Noch etwas. Was versteht man unter Grids? Hab bei einer Weiterbildung zwar mal in Assemblerprogrammierung reingeschnuppert, ist schon Jahre her, aber "Grids" gehört wohl zu einer höheren Programmiersprache. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Der Programmier wird ja wohl Wissen welche Konfigurations-dateien durch sein Programm erstellt werden. Dann kann er sie auch entfernen.Viele Programme werden nicht von einer einzelnen Person erstellt. Solches Wissen geht im Projekt gern mal verloren. Die eigentliche Ursache ist aber IMHO, dass die Entwickler die Installations- und Deinstallationsroutinen nicht selbst schreiben, sondern ein Installerpaket dazu benutzen. Der Umgang mit diesen Paketen ist nicht immer ganz problemlos - das mag an den Benutzern oder den Installern liegen - und daher kommt es da häufiger zu Schwierigkeiten, die nur mit viel zeitaufwändigem Testen behoben werden können. Zeit ist Geld, und gerade das Funktionieren der Deinstallationsroutine steht da ganz weit hinten. Kaum ein Softwareunternehmen wird die meist ohnehin schon knappe Zeit darauf verwenden, dass eine vergleichsweise unwichtige Funktionalität in möglichst vielen Konfigurationen richtig arbeitet, zumal diese Funktionalität nur von "Ex-Kunden in spe" benutzt wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mikado Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Zur ursprünglichen Frage: Nein, es ist nicht schwierig. Oft wird es einfach stiefmütterlich behandelt, und das nicht komplette Entfernen beim Deinstallieren ist nicht vorsätzlich verursacht. Manchmal könnten sicher auch mehr oder weniger ritterliche Gründe eine komplette Entfernung verhindern. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 also einmal zu dem halben OT: Wenn du n Trialprogramm hast, werden die Trialinfos mit sicherheit nicht gelöscht, sonst könntest du ja ein Programm 30 Tage nutzen, löschen, installieren und weitere 30 Tage nutzen, lösche, installieren. usw. usw. usw., daher ist es ganz sinnvoll einige Daten nciht zu löschen. Und nun zum Topic: Wenn du den Installer dazu schreibst und es im Programm eine eigene Funktion zum anlegen von Dateien gibt, dann kannst du mit 10 Zeilen Code einen Deinstaller schreiben der wirklich alles löscht! Der Installer muss halt alle Dateien + Pfade in eine datei schreiben, die Funktion zum anlegen von Daten schreibt auch bei jeder neuen Datei den Namen + Pfad rein. Der Deinstaller ließt die Datei aus und löscht dann alles was da drin steht, dann dieses Date iund dann sich selbst. Aber wie gesagt, das ist ein Programmieraufwand der zwar nicht hoch ist, aber da und keine Firma hat wirklich interesse daran Arbeitszeit darein zu stecken, wenn eh keine da ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Nochmals Danke für Eure Antworten. Wenn ich Euch richtig verstehe ist es also durchaus möglich eine "saubere" Deinstallation zu Programmieren. Es fehlt also meist am Willen oder der Zeit. Ein Paradebeispiel ist da wohl Symantec. Die scheinen weder über den Willen noch über Zeit zu verfügen. Eigentlich auch verständlich, wer würde sonst auch noch Geld für irgendwelche Reinigungstools ausgeben. Eine Krähe hackt der and..... Der Kunde ist König und der König hat das Geld. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 lol, so in der richtung. oft wird ja auch irgend ein kryptischer key in der registry abgelegt, naja, meist osgar mehr als nur einer. tja, dann such die etz raus und lösch sie da hat nich wirklich jemand bock sich die mühe zu machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mikado Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Wenn ich Euch richtig verstehe ist es also duhaus möglich eine "saubere" Deinstallation zu Programmieren. Ja. (Diesen Klammertext muß ich schreiben, weil mein "ja" zu kurz zum Antworten war.) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 "oft wird ja auch irgend ein kryptischer key in der registry abgelegt, naja, meist osgar mehr als nur einer. tja, dann such die etz raus und lösch sie da hat nich wirklich jemand bock sich die mühe zu machen." Lustige Vorstellung. Wäre das "Legal"? Man benutzt ja keine Droge o.ä. sondern nur sein Recht in der Registry rumzufummeln. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Es gibt aber auch gute Beispiele - ich erinnere mich noch an das gute alte Shareware-Programm Microangelo. Damit konnte man einfach Cursor und Icons jeder Art erstellen. Es war 21 Tage Shareware, hat danach einige Tage immer erinnert, es doch zu kaufen und letztendlich ne ganze Zeit später den Dienst verweigert, wenn kein passender Key angegeben wurde. Der Deinstaller war allerdings so gut, daß er echt alles zum Programm gehörende restlos entfernte. Dazu gehörten sogar Verknüpfungen im Startmenü, die man manuell in andere Ordner verschoben hatte. Dummerweise war der Deinstaller sogar so gründlich, daß selbst die Trial-Infos gelöscht wurden und man es danach problemlos neu installieren und nutzen konnte ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Kuhl Mit etwas Geduld kann man ja mittlerweile wirklich brauchbare Freeware finden, die in den meisten Fällen völlig ausreichend ist oder gar besser als Payware. Bestes Bsp. imho OpenOffice Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SNOWMAN Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 "oft wird ja auch irgend ein kryptischer key in der registry abgelegt, naja, meist osgar mehr als nur einer. tja, dann such die etz raus und lösch sie da hat nich wirklich jemand bock sich die mühe zu machen." Lustige Vorstellung. Wäre das "Legal"? Man benutzt ja keine Droge o.ä. sondern nur sein Recht in der Registry rumzufummeln. na klar, dafür is die Registry ja auch da. da stehn lauter infos drin, zB die Versionsnummer des Programms, oder wenns n Browser is zB die zuletzt aufgerufene URL, die wird dann wieder aufgerufen wenn man den browser startet. oder eben trialinfos Diverse Pfadangaben welche zu speziellen Dateien führen. es gibt ja diverse Reg-Cleaner mit denen du deine Registry "aufräumen" kannst. auf der GameStar DVD/CD is ja immer eine mit dabei und so im Netz gibts da allerhand. Allerdings, was die Programme in sonstwelchen unternordnern unter C:\Windows\ ablegt, das weiß nur Gott Man müsste eine Art externes Logtool haben, welches änderungen in Ordnern überwacht und man so zB den gesamten Windowsordner überwachen und sich neue Dateien etc. anzeigen lassen können. gibts da schon was? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
janlutmeh Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Da fäält mir doch spontan Sysinternals ein. Filemon und Regmon bieten diese Funktionen. Die zeichnen dann alle Aktivitäten im Dateisystem und der Registry auf. Also vor nem Setup starten. Nach dem Setup auslesen und Du weisst was der Installer treibt. Das ganze dann noch zur Laufzeit, damit man erkennt was sonst noch so angelegt wird. Gibts hier: http://www.sysinternals.com/ntw2k/utilities.shtml#monitor Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Kann mir vielleicht noch jemand erklären was "Grids" sind? Auf Anhieb habe ich nur "Grid Computing" gefunden, den Zusammenschluß vieler für einen Rechenprozess. Das paßt ja nicht wirklich zu dem Vorherigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Von Sysinternals habe ich schon den Process Explorer benutzt. Klein und gut Ein Nachteil haben Filemon und Regmon, es läßt sich meines Wissens kein Logfile erstellen und speichern. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Schade, "Grids" hätte mich schon interessiert. Aber ist ein schönes und interessantes Forum. Wenn mich mal wieder so eine Existenzielle Frage plagt werde ich Euch wieder nerven. Wünsche Euch noch einen schönen Abend. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Hier mal ein Beispiel aus einem Install-Script (das dann von einem Programm zur Setup.exe umgewandelt wird): [Registry] Root: HKLM; Subkey: Software\Firma\ProgName; ValueType: string; ValueName: Version; ValueData: 2.1.2.100; Flags: createvalueifdoesntexist uninsdeletekey Diese Zeile sorgt dafür, dass ein Registryeintrag angelegt wird. Entscheidend sind hierbei aber die letzten beiden Wörter bzw. nur das letzte. Das sagt dem Installer, dass der Key beim deinstallieren gelöscht werden soll. Wenn man das Prog jetzt nicht so gut kennt oder das einfach vergisst (muss schnell gehen oder was auch immer) bleibt der Key in der Registry stehen. Einen default-Wert gibt es da nicht. Und wenn man es dann ausprobiert funktioniert die Installation trotzdem. Wer schaut schon durch die Registry bzw. wer kennt sich da überhaupt so wirklich aus? Es ist IMHO nur der Grund, dass der Eintrag (oder so ein ähnlicher halt) vergessen oder übersehen wurde. Bei Shared files kann man ruhig ein Löschen anordnen. Man muss nur beim Installieren angeben, dass es ein Shared file ist. In der Registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs) wird nämlich ein Zähler mitgeführt, welches Programm diese Datei braucht. Beim deinstallieren wird der Zähler dann vermindert und wenn 0 kann die Datei auch gelöscht werden. Die Frage kennt ja bestimmt jeder "Datei kann von anderen Programmen genutzt werden. Wollen sie sie wirklich löschen?) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Schade, "Grids" hätte mich schon interessiert. Ein "Grid" ist ist eine Tabelle, also eher die Tabellendarstellung von Daten. (DB-Grid, String-Grid etc.) Hiermit sind einfach Komponenten gemeint, die die Daten auf tabellarische Weise anzeigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Jetzt doch nochmal. Von YesterDay: "Die Frage kennt ja bestimmt jeder "Datei kann von anderen Programmen genutzt werden. Wollen sie sie wirklich löschen?" Genau dies meinte ich im oberen Beitrag. Zu Grids: "Hiermit sind einfach Komponenten gemeint, die die Daten auf tabellarische Weise anzeigen." Ähnlich einer Tabellenkalkulation? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sissy66 Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 ... na sicherlich gibt es Programme die andere Programme wieder loeschen, ich weiss nur nicht, wie diese heissen oder ob sie fast kostenlos sind bzw. unter GPL stehen (so fuer den Hausgebrauch?) ... Hat da irgendwer ein Stichwort, wonach man googleln koennte? Grids kenne ich leider auch nicht. Ich stelle mir das Loeschen von Programmen irgendwie so vor, dass das Loeschprogramm einfach den Speicherbereich des benutzten Programmes mehrere Male mit Nullen ueberschreibt und das wars dann auch. Aber wie macht das so ein Loeschprogramm und wie kennt es die Adressen, die mein zu loeschendes Programm benutzt hat? ... gibts da irgendwie ein pdf irgendwo, wie solche Loeschprogramme im Allgemeinen Funktionieren? (Meinen Superguru zu Hause kann ich leider nicht fragen, denn der hat gemeint, dass er das Fach an der Uni nicht belegt hat, brrr.) Liebe Gruesse, sissy66. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sissy66 Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 also einmal zu dem halben OT: Wenn du n Trialprogramm hast, werden die Trialinfos mit sicherheit nicht gelöscht, sonst könntest du ja ein Programm 30 Tage nutzen, löschen, installieren und weitere 30 Tage nutzen, lösche, installieren. usw. usw. usw., daher ist es ganz sinnvoll einige Daten nciht zu löschen. Oder noch einfacher, um sich erst mal irgendwie zu helfen ... einfach das Datum des Rechners zurueckdrehen (/etc/localtime ?). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gibt`s schon Geschrieben 19. April 2005 Autor Teilen Geschrieben 19. April 2005 Hallo Sissy. es ging mir nicht um das Funktionsprinzip des Löschens sondern um die Deinstallation eines Programmes und zwar ohne Rückstände. Da viele Programme nach der Deinstallation einen Haufen Müll hinterlassen hat es mich interessiert ob es denn soooo schwierig ist eine Saubere Deinstallation zu Programmieren. Daher Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
janlutmeh Geschrieben 19. April 2005 Teilen Geschrieben 19. April 2005 Zum Funktionsprinzip vom Löschen: Wenn eine Datei einfach gelöscht wird (ohne Zusatztools), wird nur der Eintrag der auf die Datei verweist aus der FAT (File Allocation Table - Dateizuordnungstabelle) entfernt. Die Daten liegen solange an ihrem alten Speicherort bis Sie von neuen Daten überschrieben werden. Sonst hätte Software wie die von Ontrack oder FileRecovery nicht so gute Chancen bei der Wiederherstellung. Bei den Windows Systemen wird die Datei eh nur (abhängig von Einstellung und Grösse, Zugriffsart) in den Papierkorb verschoben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.