Deinstallationsprogramm schreiben

ich bin mir allerdings nicht sicher ob das wirklich möglich ist,
weil ->> wenn auf eine datei in einem ordner zugegriffen wird, kannst du den ordner nicht löschen... wie gesagt bin mir nicht sicher ob das so möglich ist... sonst ist es wahrscheinlich nur von außen möglich, alles perfekt zu löschen, einfach mal testen =)
 
Eigentlich soll es ja von außen gelöscht werden.
Java:
 String pfad = System.getenv("Temp") + File.separator + prog +".jar \"" + pfad(pfad(name)) + "\"";
        String cmd[] = { "cmd.exe", "/c", pfad };
        Runtime.getRuntime().exec(cmd);
übergibt ja der neu erstellten Jar Datei im Temp Ordner den Befehl pfad(pfad(name)) // Also den absoluten Pfad zu den zu löschenden Ordnern. Und das klappt ja auch, da die jar Datei gelöscht wird. Wenn ich die Temp-Jar Datei nochmal rüberlaufen lassen, nachdem die jar datei gelöscht wurde, passiert jedoch nichts.
Das mit dem deleteOnExit() funktionierte leider nicht.
 
wenn du, nach dem es soweit alles ausgeführt hast, bei den ordern auf eigenschaften gehst, sind diese dann 0byte groß? müssten sie, wenn nicht, ist da noch irgendwo eine datei versteckt... was anderes fällt mir atm nicht ein
 
Also ich hab jetzt 2 Lösungen für das Problem:

1. Die ist etwas frustrierend, aber es ging ja mehr oder wenig darum, dass das Programm in Java geschrieben ist...: Wenn die Temp Jar folgenden Code im cmd ausführt wird alles ohne Rückfrage gelöscht:
Java:
cmd = "rd /S/Q \"" + pfad(pfad(name)) + "\"";
// Sollte folgendermaßen aussehen:
rd /S/Q "c:/Program Files (x86)/CT Projekt"

2. Wenn die Temp Datei aus dem cmd angewählt wird, schafft sie es alles zu löschen.
Wie genau der Code aussieht werd ich jetzt mal schauen und hier posten :)

Nochmals Danke für deine Hilfe :)
 
vllt. weil die jar doch noch läuft... nach dem starten der tempjar einfach system.exit(-3); bei der jar im ctprojete ordner ausführen
 
Zurück