Im Prinzip mache ich es schon so, außer, dass ich die laufende App so verschiebe:
dim f,dest as FolderItem dest=getfolderItem("Daten") // hier lagere ich die alte App, bis ich sie beim nächsten Start lösche f= new FolderItem f=f.Child("Mac Euro Faktura.app") f.MoveFileTo dest klar, der Benutzer könnte die App umbenannt haben... das ginge das mal schief 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 >