AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Eigenes Programm beenden und löschen / Uninstall
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Programm beenden und löschen / Uninstall

Ein Thema von Jasmine · begonnen am 27. Okt 2005 · letzter Beitrag vom 9. Jan 2006
Antwort Antwort
Seite 1 von 3  1 23      
Jasmine

Registriert seit: 30. Jun 2005
Ort: Rom / Italien
24 Beiträge
 
Delphi 7 Personal
 
#1

Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 10:47
Hallo Liebe Delphi Freunde,

ich habe mal wieder ein Problemchen und würde mich über
Eure Hilfe und Ideen sehr freuen.

Ich schreibe an meiner Uninstall Routine, welche Verknüpfungen und sonstige,
programmspezifische Dateien wieder vom System löscht.

Nun, am Ende, muss ich mich (mein Programm) ja auch selber löschen und den erstellten Order
wieder entfernen.

Wie kann ich mich denn nun selber löschen, während das Programm noch arbeitet ?
Der Zugriff auf die Datei (meine .exe) bleibt mir ja verwehrt, solange das Programm läuft.

Dankeeeee für eure kreativen Ideen im Voraus.



Jasmine
Jasmine
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 13:20
Hi...

also ich hab nur 2 Minuten drüber nachgedacht (nicht, daß jemand hier die Profilösung erwartet )

also beim Uninstall erstellst du eine Batchdatei (z.B. Clearfiles.bat) :

Code:
del %DeinProgPfad%\DeinProg.exe
del Clearfiles.bat
darin löschst du dein Programm und deine Batch

diese Batch trägst du dann in der Registry unter:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunOnce

ein. Und nach dem Neustart ist dein Programm verschwunden.
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#3

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 15:35
RunOnce ... wozu erst beim nächsten Neustart?

Beiträge wie diesen http://www.delphipraxis.net/internal...light=del+goto gibt es viele in der DP.

In diesem Beispiel soll jetzt zwar ein Programm durch 'ne neue Version ersetzt werden - alte Datei (also sich selber) löschen und die neue Datei an die eigene Stelle setzen.
Aber es ist ja kein Problem die Scripte dahingehen abzuändern, daß die Datei nur noch gelöscht wird
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#4

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 15:48
Hi,

Zitat von Jasmine:
Ich schreibe an meiner Uninstall Routine, welche Verknüpfungen und sonstige,
programmspezifische Dateien wieder vom System löscht.
Willst/musst du diese Uninstall Routine selber schreiben?
Wenn du nur nach einer Lösung suchst: Hier im Forum suchenInno Setup


MfG Marc
Marc P.
Grüße aus Kirchheim Teck
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 16:14
...das eigene Programm nach dem Beenden löschen?:
http://www.swissdelphicenter.ch/de/showcode.php?id=123
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 16:48
gibt's da keine "batchfreie" Lösung? Alle Uninstaller machen das ohne Batch...

Ich hab mir schon mal gedacht dass sich der Uninstaller selbst in ein temporäres Verzeichniss (Papierkorb möglich?) kopiert, und diese Kopie mit dem exename als Parameter startet. Dann beendet es sich.

Beim Starten überprüft es, ob es einen Parameter hat (exename), wenn ja, Datei löschen, wenn nein, Normaler Start (Meldungen zeigen wie "wollen sie das Programm wirklich entfernen?")
Michael Enßlin
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#7

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 17:33
Das Problem ist, dass sich eine EXE-Datei nicht selber löschen kann, im Gegenteil zu einer Batch-Datei. InnoSetup wird das vermutlich auch mit Batchdateien machen, da bleibt ja auch nix übrig.

Nachtrag: Es gibt auch irgendeinen Befehl, um eine Datei beim nächsten Neustart (Also während des Startvorgangs) von Windows löschen zu lassen.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#8

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 17:38
Zitat von ichbins:
gibt's da keine "batchfreie" Lösung?
Jupp, zum Beispiel mit einer DLL, welche per RunDll32 aufgerufen wird (DLLs können sich auch unter Windows NT selbst löschen, da der Kernel nur ein Handle für das Image hält mit dem der Prozeß erzeugt wurde). Das hat insbesondere den Vorteil, dass man eine Fehlerbehandlung in der DLL integrieren kann (wobei, wer braucht das schon )...
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 17:39
man könnte auch einen run-once-Eintrag in die Registry erstellen, der das da aufruft:
%comspec% /c erase < Name der Anwendung > zur DLL-Lösung:

Die DLL würde das ganze Setup noch'n ganzes Stück größer machen... Gar nich gut für'n Setup.

ganz nebenbei hab ich einmal versucht was mitner DLL zu machen, an dem Tag kamem mindestens 10^12 Delphi-Fehlermeldungen ... Seitdem hab ich das Thema nich mehr aufgegriffen
Michael Enßlin
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#10

Re: Eigenes Programm beenden und löschen / Uninstall

  Alt 27. Okt 2005, 17:41
Zitat von ichbins:
man könnte auch einen run-once-Eintrag in die Registry erstellen, der das da aufruft:
%comspec% /c erase < Name der Anwendung >
Dafür gibt's eigentlich MSDN-Library durchsuchenMoveFileEx (für Win9x, siehe Kommentare in MSDN).
(Grund: Kompatibilität zu Programmen, welche die beim Neustart zu löschenden Dateien anzeigen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz