Nach der Deinstallation, gehe ich durch eine Liste der installierten Unterverzeichnisse (Liste - C#) und lösche sie. Ich überprüfe, ob ein Verzeichnis existiert und wenn ja, möchte ich es entfernen. Hier ist der Code:NSIS - Wie kann ich verhindern, dass ein Verzeichnis erstellt wird?
//here it deletes the testfolder1 directory - perfect
${If} ${FileExists} "$MUSIC\testFolder1\*"
RMDir "$MUSIC\testFolder1"
${EndIf}
//problem - here, instead of ONLY CHECKING if directory exists,
// it creates "testFolder1" again!
${If} ${FileExists} "$MUSIC\testFolder1\testfolder2\*"
RMDir "$MUSIC\testFolder1\testfolder2"
${EndIf}
Ich weiß, ich könnte die beiden ifs tauschen und es funktionieren würde, aber es löst nichts, weil Verzeichnisse in einer zufälligen Reihenfolge in meiner Liste sind. Gibt es eine Möglichkeit, NSIS daran zu hindern, Verzeichnisse zu erstellen, nachdem sie überprüft haben, ob sie existieren? Ich habe online nach einer Lösung gesucht, aber absolut nichts gefunden.
Danke, es hat funktioniert. Vertrauen Sie mir, mein erster Ansatz schafft einen Ordner - es ist möglich! Ich habe es gerade noch einmal getestet. Wenn Sie zuerst testfolder1 und zweitens testfolder1 \ testfolder2 löschen, bleibt dort testfolder1 stehen (wird erzeugt). Wenn Sie die Befehle austauschen, werden beide gelöscht! Sie können es selbst ausprobieren, wenn Sie möchten. – Dovile
Ich sage Ihnen, es ist nicht möglich. Verwenden Sie Explorer nicht, um zu überprüfen, da es nicht vertrauenswürdig ist. – Anders