![]() |
UnInstaller - Links löschen
Hallo,
ich verwende mein eigenes Installationsprogramm und habe bei der Deinstallation folgendes Problem: Nachdem ich die Links (es sind bis zu 16) gelöscht habe, muss ich irgendwie das Startmenü aktualisieren, damit die Links nicht mehr angezeigt werden. Komischerweise ist es so, dass es bei XP funktioniert (ich lösche alles bei der Deinstallation in den Papierkorb, damit es der User notfalls rückgängig machen kann) und ab Win7 nicht mehr. Es hängt vermutlich auch mit der Funktion "An Taskleiste anheften" bzw. "An Startmenü anheften" zusammen. Würde mich freuen, wenn sich damit jemand auskennt. |
AW: UnInstaller - Links löschen
Wo sind denn die Links?
Warum löschst du eine Deinstallation in den Papierkorb? Eine Deinstallation ist dazu da, um ein Programm komplett und rückstandslos zu entfernen. Schau dir mal Inno-Setup oder Nsis an, damit hast du solche Probleme nicht. |
AW: UnInstaller - Links löschen
Hallo,
hab schon geahnt, dass ein solcher gutgemeinter Rat kommt...es gibt "für mich" viele und sehr gute Gründe Inno, InstallShield & Co nicht zu verwenden. Das hab ich schon hinter mir. Für viele Anwendungen reicht es aus, ich hab auch ein paar davon, aber wenn's dann kompliziert wird, dann hängt an der Erweiterung der Installationsprogramme sehr viel Arbeit dran. Ich muss beispielsweise während der Installation eine Verbindung zu meiner Client-Server-Datenbank aufbauen, Daten aus den vorhandenen Datenbanken auslesen....usw. Und was die Frage anbelangt, warum in den Papierkorb "deinstallieren"? Ich hatte schon Kunden, die haben die Demo installiert, dann in die Vollversion umgewandelt, und nach Jahren als der Speicherplatz mal knapp wurde, aufgeräumt. Irgendwas ist bei der Umwandlung schief gegangen, was genau hat niemand nachvollziehen können, und die Daten waren weg. Datensicherung war keine da bzw. uralt. Heute würde der Kunde einfach den Papierkorb bemühen. Könnte einen Roman über weitere Gründe zur Verwendung eines eigenen Installationsprogrammes schreiben, doch um die Pro's und Con's geht es ja eigentlich nicht. Das wär ein anderes Thema. |
AW: UnInstaller - Links löschen
Zitat:
Inno-Setup hat eine Plugin-Schnittstelle wo du deine Extra-Wünsche einfach einhängen kannst. |
AW: UnInstaller - Links löschen
Nach Jahren kann der Papierkorb noch bemüht werden?
Daten vom User werden durch die Programminstallation gelöscht (per default)? Nachvollziehen kann ich das nicht, wird wohl an deinem Installer liegen. Und gerade Inno ist sowas von super flexibel und einfach in der einstellung und auch Erweiterung, dass den Aufwand dort einen eigenen Installer zu bauen in keinster Weise rechtfertigt, oder brutaler gesagt Zeitverschwendung ist. Gerade in Verbindung mit Innoscript kann ich eine Vorlage für fast alle meine Projekte verwenden mit minimalen Anpassungen (die nicht der Rede wert sind). Inklusive der automatischen Erstellung eines Eintrags für den Autoupdater und Upload zum Test-Updateservers. |
AW: UnInstaller - Links löschen
Hallo,
also langer Rede kurzer Sínn: Es weiß anscheinend keiner. :oops: |
AW: UnInstaller - Links löschen
Zitat:
Verwendest du den die vorgesehenen API-Funktionen um Link-Dateien/Einträge in Startmenü anzulegen bzw. zu löschen? |
AW: UnInstaller - Links löschen
Hallo Bernhard,
Zur API: Zum Erzeugen der Link, ja natürlich. Was das Löschen anbelangt hab ich's ja schon geschrieben wie ich's mache. Habe aber bisher auch nichts gefunden, wie man eine .lnk über's API löschen kann (oder soll). Welche API-Funktionen zum Löschen meinst du? |
AW: UnInstaller - Links löschen
Sieht aus, als wären die Glaskugeln doch normale Kieselsteine
|
AW: UnInstaller - Links löschen
Hast du dir eigentlich die Homepage von InnoSetup schon mal angesehen?
![]() Dort gibt's sogar den Delphi-Quellcode für InnoSetup... Aber blöd fragen ist halt einfacher als Lesen :evil: Mann mann mann! |
AW: UnInstaller - Links löschen
Zitat:
ich möchte wirklich nicht unhöflich sein, aber die Frage muss nun schon erlaubt sein, was denn nun blöder ist: Meine Frage oder deine Antwort. Aber, um deine Frage zu beantworten: Ja, ich habe mich auf der Inno-Homepage umgesehen. Aber der Quellcode ist nicht so einfach zu bekommen. Erst dieses Tool zum Runterladen installieren usw. So einfach machen es die einem nicht. Abgesehen davon finde ich es nicht gut und richtig, wenn ich von einer Frage nichts verstehe, auch noch dumme Bemerkungen zu machen. Ich treibe mich schon jahrelang in vielen Foren rum, habe auch schon vielen Usern geholfen bei Dinegen von denen ich mehr verstehe, als von programmieren. Dabei hab ich schon einiges erlebt, auch solche Kommentare wie dieser oder von "Sir Rufo". "dass den Aufwand dort einen eigenen Installer zu bauen in keinster Weise rechtfertigt, oder brutaler gesagt Zeitverschwendung ist." Woher nehmt ihr eigentlich die Gewissheit, dass mein problem bzw. meine Aufgabenstellung mit Inno lösbar wäre? Oder zumindest der Aufwand mit Inno geringer wäre? Ich habe mir in allen Foren zu gewohnheit gemacht, wenn ich zu einem Thema nix weiß, dann halte ich mich auch mit so schlauen Kommentaren wie ihr sie jetzt abgebt zurück. Es ist ja keine Schande wenn ich nicht alles weiß. Aber habe ich dann das Recht mich so abfällig über die Fragestellung zu äußern? Ich weiß, dass Inno viel kann, und flexibel ist, aber das was ich momentan mache kann mit Inno definitiv nicht gemacht werden. Seit 20 Jahren verdiene ich meine Brötchen als Selbständiger Entwickler mit Schwerpunkt Datenbank. Glaubt ihr wirklich ich bin so blöd nicht abschätzen zu können, was sich vom Aufwand her lohnt, und was nicht? Und ich dachte schon, in diesem Forum gibt es überwiegend "normale" User. Hab mich wohl getäuscht. |
AW: UnInstaller - Links löschen
Hallo - lieber - MusicMan56!
"Aber, um deine Frage zu beantworten: Ja, ich habe mich auf der Inno-Homepage umgesehen. Aber der Quellcode ist nicht so einfach zu bekommen. Erst dieses Tool zum Runterladen installieren usw. So einfach machen es die einem nicht." Auf der Homepage von Jordan Russell gibt's einen direkten Download-Link für den Delphi-Sourcecode. Direkt und ohne irgendwelche Download-Tools! Und hier, in diesem Forum, gibt es viele, normale "User"! HQ-Arschlöcher wie ich würden sich nicht "MusicManXX", sondern "AlembicXX" nennen! Aber offensichtlich spielen wir in unterschiedlichen Szenarien... |
AW: UnInstaller - Links löschen
Zitat:
Wenn du eine besonders komplizierte Aufgabe während des Setups zu erledigen hast dann implementiere diese einfach selbst in einer DLL und rufe sie aus dem Setupskript heraus auf! So musst du dich nur um diese komplizierte Aufgabe selbst kümmern den Rest (das eigentliche Installieren und Deinstallieren) kannst du dann getrost den Standardfunktionen von InnoSetup überlassen. Ciao, Ralf |
AW: UnInstaller - Links löschen
Zitat:
![]() Zitat:
Zitat:
Manchmal sieht man den Wald vor lauter Bäumen nicht, soll selbst ruinierten Profis passieren. ;) |
AW: UnInstaller - Links löschen
Zitat:
Zitat:
Aber, um dich mal aufzuklären, damit du siehst wie gut deine Ratschläge zwar gemeint sind, wie wenig sie aber nützen, die komplette Aufgabenstellung, die wie schon mehrfach gesagt, mit Inno und auch mit einem anderen Installer nicht mit vertretbarem Aufwand machbar ist. Es geht darum, (m)eine komplette Anwendung von einem Rechner auf einen anderen "umzuziehen", also mit allem was vorhanden ist: - Client-Server Datenbank. Muss deinstalliert und auf dem neuen System mit "teilweise" (also nicht mit allen) Einstellungen neu installiert werden. - Alle Datenbanken des Kunden. Das sind Stamm- und Bewegungsdaten in unterschiedlichen Datenbanken von mehreren Mandanten - Zumindest die letzte (Programm-)Datensicherung meiner integrierten Backup-Funktion. - Die individuellen Registry-Einstellungen aller User - Teilweise die Benutzerdaten und natürlich meine Anwendung selbst. Das sind insgesamt 16 Programm-Module die teilweise individuell installierbar sind. Also nicht jede Installation beinhaltet die selben Module. Es müssen aber in die Installation alle Module aufgenommen werden. Das mach ich schon jahrelang (also auch mit meinem "alten" Installer den ich ebenfalls selber programmiert hab) in der Form, dass ich die Programmdateien in einer Datenbank speichere, die beim Kunden auf dem Server auch gleichzeitig als Update-Datenbank für die Netzwerk-Clients fungiert. Der Installer muss also als Datenbank-Client fungieren, um überhaupt Programmdateien und Bewegungsdaten in den unterschiedlichen Datenbanken erfassen zu können. Das würde zwar notfalls noch mit einer DLL-Erweiterung gehen, scheidet aber wg. Single-Exe aus, und wegen Problemen beim Ausführen des Datenbank-Clients in einer Dll. Die Grundanforderung ist, es muss sehr einfach gehen. Geht es auch: Mit nur 4 Mausklicks haben meine Kunden das Setup erstellt. Der Installer muss beim Rechnerwechsel De-Installieren können (mit der Option es rückgangig machen zu können, darum auch der Papierkorb) und natürlich wieder Installieren. Also alles was ein Standard-Installer können muss, und zusätzlich eben die Benutzerdaten zusammen tragen. Es ist demzufolge naheliegend, diesen Umzug-Installer auch für die generelle Distribution der Software zu verwenden, weil dann nur mehr eine einzige Codebase verwaltet werden muss. Das spart eine Menge Zeit und verhindert Probleme mit unterschiedlichen Programmversionen. Die Alternative wäre auf dem Kunden-Rechner ein Installations-Script zu generieren, mit welchem ein Installer (wie z.B. Inno) dann abgefeuert wird. Ich hab einen Kumpel (Programmierer-Kollege der sich mit Inno gut auskennt, weil er schon Jahre lang seine Anwendung damit installiert) gebeten, das mal mit Inno zu probieren. Er hat von vorneherein abgelehnt, weil die Erweiterungen die programmiert werden müssten so umfangreich sind, dass es schneller geht das Ganze gleich von vorneherein selber zu programmieren. Mit dem zusätzlichen Vorteil, dass nicht ZWEI verschiedene Codebases (Install-Scripts) gepflegt werden müssten, die zudem noch bei jedem Programm-Update angepasst werden müssten. Falls das mal beim Kunden vergessen wird, nicht funktioniert, oder was auch immer noch alles auftreten kann, sind Probleme schon vorprogrammiert. Das ist ein absolutes NoGo, denn es geht um die Daten meiner Kunden. So das war's. Heute nacht hab ich übrigens auch mein Problem gelöst. |
AW: UnInstaller - Links löschen
Zitat:
Tschulligung:oops: Gruß K-H |
AW: UnInstaller - Links löschen
Das was du beschreibst, hat mit einem Installer nur noch wenig zu tun. ;)
|
AW: UnInstaller - Links löschen
Zitat:
|
AW: UnInstaller - Links löschen
"Es geht darum, (m)eine komplette Anwendung von einem Rechner auf einen anderen "umzuziehen", also mit allem was vorhanden ist:
- Client-Server Datenbank. Muss deinstalliert und auf dem neuen System mit "teilweise" (also nicht mit allen) Einstellungen neu installiert werden. - Alle Datenbanken des Kunden. Das sind Stamm- und Bewegungsdaten in unterschiedlichen Datenbanken von mehreren Mandanten - Zumindest die letzte (Programm-)Datensicherung meiner integrierten Backup-Funktion. - Die individuellen Registry-Einstellungen aller User - Teilweise die Benutzerdaten" Verwechselt da etwa jemand etwas? Ein Migrationstool z.B. mit einem Installationstool? |
AW: UnInstaller - Links löschen
Das hab ich aber schon gleich zum Anfang klipp und klar geschrieben:
Zitat:
|
AW: UnInstaller - Links löschen
Zitat:
|
AW: UnInstaller - Links löschen
Zitat:
Deine (gedachte) Frage bezog sich auf ein Migrationsprogramm. Wenn du nach Äpfeln fragst, aber dabei an Birnen denkst, wird dir niemand eine Birne anbieten, nur Äpfel. :roll: Zitat:
Wenn du jetzt auch noch eine andere Bedeutung hinter den Begriffen definierst, dann wird es noch schwieriger. Denn eine Migration habe ich bei einem Umzug von Maschine A auf Maschine B und/oder Software A auf Software B. |
AW: UnInstaller - Links löschen
Gemeinsame/einzige Codebase - genial.
Wieviele "ifinstalled" sollen denn in die einzige Codebase rein? Edit: Ja, du hast Recht, wir verstehen dich nicht. |
AW: UnInstaller - Links löschen
Auf meine Frage im zweiten Post, um welche Links es sich genau handelt, hast du ja leider nichts gesagt.
Ich rate mal, dass es sich um verwaiste Links handelt. Gespeichert werden gepinnte Links unter Win7 in: ..AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar ..AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu |
AW: UnInstaller - Links löschen
Zitat:
Der Kunde macht das bei der Erstellung genauso. Mit dem einzigen Unterschied, dass dann bereits alle Aliase vorbelegt (markiert) sind. Weil's ein paar Mausklicks spart. Und wenn ich eine Setup.exe ohne Musterdaten erstellen will, die nur zur Installation eines Update geeignet ist (zum Download aus dem WEB), dann ist das eine einzige CheckBox die wiederum nur sichtbar ist, wenn IsMyComputerRunning=true. Das einzige Problem ist: Weil sich die Setup.exe ja selber patcht, schlägt die Heuristik des Virenscanners ab und zu an. Doch das Problem hab ich schon mit in die Dokumentation aufgenommen. Ach ja, einen Unterschied gibt es noch: Der Kunde kann sein Setup mit einem Passwort absichern, mit welchem gleichzeitig die Daten verschlüsselt werden, damit nicht jeder der in Besitz der exe ist an die Daten ran kommt. |
AW: UnInstaller - Links löschen
aus #2:
Zitat:
Abgesehen mal davon: Was haben die links im folder "Internet Explorer" zu suchen? Kommt doch keine S... drauf |
AW: UnInstaller - Links löschen
Je mehr ich lese desto verwirrender wird es.
Dein Setup erstellt Links (im StartMenü) und dein Uninstaller findet die nicht? |
AW: UnInstaller - Links löschen
Nein, der User pinnt ja die Links seiner Wahl ans Startmenü oder an die Taskbar. Und wenn du ganz zum Anfang gehst, dann liest du:
"Es hängt vermutlich auch mit der Funktion "An Taskleiste anheften" bzw. "An Startmenü anheften" zusammen. Würde mich freuen, wenn sich damit jemand auskennt." |
AW: UnInstaller - Links löschen
Na dann ist doch alles klar: Systemwiederherstellungpunkt erstellen lassen :wink:
Edit meint: Wenn ich von Setup-Programmen erstellte Desktop-Links in andere Ordner verschiebe, sind diese Links in den anderen Ordnern nach der DeInstallation immernoch vorhanden. Nur halt funktionslos und ohne passendes Icon. Kann ich dort doppelklicken und dann... ...regelt Windows den Rest ;-) |
AW: UnInstaller - Links löschen
Ganz ab von der teils unrühmlichen Nebendiskussion hier: Ich würde es auch nicht im Verantwortungsbereich eines Deinstallers sehen, manuell angelegt/verschobene Links zu entfernen. Im Gegenteil: Ich fänd's ziemlich anmaßend. Alles, was nach der Installation ausserhalb deiner Software vom User gemacht/geändert/zugefügt wurde sollte tunlichst in Ruhe gelassen werden.
|
AW: UnInstaller - Links löschen
Zitat:
MfG Dalai |
AW: UnInstaller - Links löschen
Zitat:
Und da diese (User)Links ja in einer Domain auch an andere Rechner weitergegeben werden (wenn der User sich da anmeldet). Ein Uninstaller wird niemals mit absoluter Sicherheit alle (User)Links restlos entfernen können. Und dann kann man es auch gleich sein lassen ;) |
AW: UnInstaller - Links löschen
Mit absoluter Sicherheit geht's nicht, aber ich werde nicht aufgeben mir wenigstens Mühe zu geben. Meine (derzeit ca. 800) Kunden sind das von mir so gewohnt, und so wird es auch bleiben. Und was dem Umfang oder die Funktionalität eines Uninstallers anbelangt: Ich hab sogar eine Brennersoftware integriert. Der Kunde kann damit mit nur einem Klick die Setup-CD brennen. Das gehört auch bei meiner integrierten Datensicherung zum Standard, und meine Kunden (Handwerk und Handel) finden es gut.
|
AW: UnInstaller - Links löschen
Naja, wenn du dir die Mühe machen willst, sollte das eigentlich reichen:
- Alle Laufwerke rekursiv nach *.lnk-Dateien durchsuchen, - überprüfen, ob die Links auf deine Sachen zeigen und - ggf. löschen. Ein (Un-)Installer sollte die erforderlichen Rechte zum Löschen haben. Das Durchwühlen der Laufwerke kann recht lange dauern, da sollte man dem Anwender eine Progressbar zeigen :wink: Schönes WE! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz