Seite 1 von 2

Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 08.05.2011 20:30
von Bisonte
Hallo...

Und wieder mal eine Frage meinerseits :

Wie bekommt man das hin, dass sich ein aufgerufenes Programm selbst
von der Platte löscht ?

Man kann ja ein laufendes Programm nicht löschen. Daher würde bei einem
"UnInstaller" ja immer noch ein Programm im Ordner verbleiben... ist also
keine gute Lösung.

Also bräuchte ich theoretisch die Möglichkeit (so denk ich mir das gerade) ,
eine Exe in den Speicher zu laden und dort zu starten, damit die UnInstaller.exe
auch gelöscht werden kann und somit keine Reste mehr vorhanden sind.

Wie macht man sowas, oder gibt es irgendetwas, womit auch ein laufendes
Programm von der Platte gelöscht wird (außer einem starken Magneten ;) )?

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 08.05.2011 20:39
von Kiffi
Starte Deinen Uninstaller doch aus einer Batch-Datei:

Code: Alles auswählen

Start /Wait DeinUninstaller
Del /q DeinUninstaller
Del /q DeineBatchDatei
Grüße ... Kiffi

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 08.05.2011 21:03
von RSBasic
Entweder startest du ein externes Programm (wie Kiffi bereits mit CMD sagte), das dafür sorgt, dass die Haupt-Anwendung entfernt wird, oder du sagst Windows Bescheid, dass Windows beim nächsten Windows-Start die Datei gelöscht werden soll und zwar so:

Code: Alles auswählen

MoveFileEx_("Datei.exe",0,#MOVEFILE_DELAY_UNTIL_REBOOT)

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 08.05.2011 21:55
von Mok
Zu Kiffis Vorschlag: Eine eigene Batchdatei ist garnicht nötig.

Code: Alles auswählen

;[... Registry aufräumen, sonstiges Zeug machen ...]
RunProgram ("cmd.exe /C del "+GetPathPart(ProgramFilename()))

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 08.05.2011 23:56
von NicTheQuick
Oder den Uninstaller aus dem Temp-Verzeichnis heraus starten. Das wird normalerweise ja auch immer wieder mal aufgeräumt.

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 09.05.2011 06:18
von Nino
Mok hat geschrieben:Zu Kiffis Vorschlag: Eine eigene Batchdatei ist garnicht nötig.

Code: Alles auswählen

;[... Registry aufräumen, sonstiges Zeug machen ...]
RunProgram ("cmd.exe /C del "+GetPathPart(ProgramFilename()))
Kann nicht funktionieren.

Aber so geht's:

Code: Alles auswählen

RunProgram("cmd.exe", "/c del "+ProgramFilename(), "")
Grüße, Nino

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 09.05.2011 14:12
von Bisonte
Und ich dachte sowas wäre hochkompliziert ;)

Den Vorschlag mit CMD finde ich am besten, wenn man den mit dem #PB_Program_Hide Flag drappiert.

Dafür ist RSBasics Vorschlag "beim Reboot löschen" was originelles ...
Das heb ich mir dann für die hartnäckigen Fälle auf...

Werbung:
Fragen Sie die PB-Community ! Da wird Ihnen geholfen :allright:

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 09.05.2011 14:37
von Kiffi
Bisonte hat geschrieben:Dafür ist RSBasics Vorschlag "beim Reboot löschen" was originelles ...
nöh, ist eigentlich Standard, wenn laufende Prozesse sich nicht so einfach
beenden lassen. :-)

noch ein Vorschlag: Verwende doch einfach einen der vielen guten Installer
hier oder im englischen Forum. Wieso das Rad neu erfinden?

Grüße ... Kiffi

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 09.05.2011 18:29
von Bisonte
Kiffi hat geschrieben:noch ein Vorschlag: Verwende doch einfach einen der vielen guten Installer
hier oder im englischen Forum. Wieso das Rad neu erfinden?
Aber dann lerne ich ja nix... ;)
Und wenn wieder einem die Frage im Kopf brennt, kann die Antwort nun per Suche gefunden werden...

Re: Wie ein sich selbst löschendes Programm ... UnInstaller

Verfasst: 09.05.2011 19:45
von Falko
Bisonte hat geschrieben:
Kiffi hat geschrieben:noch ein Vorschlag: Verwende doch einfach einen der vielen guten Installer
hier oder im englischen Forum. Wieso das Rad neu erfinden?
Aber dann lerne ich ja nix... ;)
Und wenn wieder einem die Frage im Kopf brennt, kann die Antwort nun per Suche gefunden werden...
Apropo Suche. Das hättest du auch hier gefunden :mrgreen:
http://www.purebasic.fr/german/viewtopi ... 937#p32937

Gruß, Falko