Selbst löschen beim Laufen
-
27-10-2019 - |
Frage
Ich erstelle derzeit eine Deinstallationsanwendung, die den Anwendungsordner löscht. Das Problem ist, dass ich die Deinstaller -Anwendung, die sich in demselben Ordner befindet, nicht löschen kann, was zu Läufen führt. Gibt es eine Möglichkeit, die Anwendung beim Ausführen zu löschen, also ist es nur im Speicher.
string Installation = UninstallRegister.Read("InstallationLocation");
if (Directory.Exists(StartMenu))
{
Directory.Delete(StartMenu, true);
}
Mit freundlichen Grüßen
Lösung
Eine einfache Idee wäre, die Deinstallationsanwendung auf % temp % zu kopieren und von dort aus zu laufen. Dies würde jedoch eine Datei in % temp % hinterlassen (was wahrscheinlich von niemandem bemerkt werden würde).
Andere Tipps
Sie können den Befehl "prORTORD DELD DEL) verwenden
nircmd Ein Befehl namens cmdwait Sie können eine Wartezeit festlegen, um Ihre Datei zu löschen, dann die Anwendung zu schließen und sie löschen zu lassen
Sie können diesen Befehl verwenden. Es schließt Ihre App und startet CMD REMED DIRECTORY -Befehl arter Deley = 3000
Diese Lösung entfernen App und Mappe.
Process.Start("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 3000 > Nul & RD /s /q " + Path.GetDirectoryName(Application.ExecutablePath));
Application.Exit();