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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

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

Beitrag 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 ;) )?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

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

Beitrag 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
a²+b²=mc²
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag 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)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

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

Beitrag 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()))
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

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

Beitrag von NicTheQuick »

Oder den Uninstaller aus dem Temp-Verzeichnis heraus starten. Das wird normalerweise ja auch immer wieder mal aufgeräumt.
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

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

Beitrag 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
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

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

Beitrag 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:
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

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

Beitrag 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
a²+b²=mc²
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

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

Beitrag 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...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

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

Beitrag 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
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten