du meintest app.ExecutableFile.Parent.Parent

ja, das geht prima

Gruß


Stefan

> Beim Löschen ist auch immer zu bedenken, dass Leute evtl. die App
> woanders hingelegt haben, z.B. Desktop, oder gar einen Symlink aus dem
> Programme-Ordner woanders hin angelegt haben. Daher lösche auf keinen
> Fall die App mit der Delete-Operation, sondern benutze z.B. einen
> AppleScript-Befehl, um den Finder zu bitten, die alte App in den
> Papierkorb zu legen. Denn sonst löscht du evtl. irgendwas anders und
> dann ist der Schaden ggf. gross.
> 
> Auch kann der User mehrere Kopien der App haben. Wenn der User die
> neue Version startet, woher soll die neue Version dann wissen, wo die
> alte App zu finden ist? Sicher nicht immer im Apps-Ordner!
> 
> Am Sichersten ist es wohl, wenn die _alte_ App rausfindet, wo sie
> liegt (App.ExecutablePath.Parent.Parent müßte gehen), und dann ein
> Shell-Script startet und dem Script mitteilt, wo die App liegt - das
> Shell-Script löscht dann die alte App und entpackt die neue an die
> SELBE Stelle. In dem Fall ist es relativ sicher, dass da nix Anderes
> gelöscht wird. Aber mache das nur für den .app-Ordner! Wenn du deine
> App aber z.B. als Ordner, der die App sowie andere Files enthält,
> auslieferst, dann komme bloss nicht auf die Idee, den gesamten Ordner
> zu ersetzen, denn Anwender tun dann oft ihre Daten auch in diesem
> Ordner ablegen, und die willst du sicher nicht mit löschen. Also
> tunlichst nur den .app-Ordner komplett löschen, aber keine Ordner, die
> drüberliegend sind, selbst wenn du die selbst damals angelegt hast.
> 
> Thomas
> 


Antwort per Email an