2012-09-19 92 views
0

更新軟件,我有一個簡單的DMG安裝MacOS的一個小軟件(開放式,拖放到應用程序文件夾,你懂的)。我的問題是,該軟件在.app軟件包內寫入一個小型ini文件,如果我更新軟件,則該文件將丟失,因爲在編寫新軟件包之前將舊軟件包刪除。MacOS X系統:由DMG安裝

我的問題是,如果你們知道這一個優雅的解決方案。用戶應該能夠將文件保存在任何地方e。 G。桌面和ini文件應該移到新的軟件包中。我不想將此文件保存在.app包之外,因爲如果用戶只是刪除包,這會在計算機上留下私人數據。

在此先感謝!

回答

2

將數據保存到應用程序包中不是好的做法,
未來版本,請實現另一個解決方案。

爲了解決當前的問題,我能想到的兩種解決方案:

兩個文件添加到.dmg文件

  • 新的應用程序。
  • Backuptool:一個簡單的AppleScript來備份文件將完成這項工作。

確保通知用戶更換應用程序之前執行備份。
但是,用戶可能會忘記運行備份和數據丟失。

創建一個安裝

另一種選擇是編寫使用PackageMaker安裝程序。
PackageMaker提供了更新應用程序之前運行腳本的選項。
添加備份數據的預安裝腳本。

+0

對於不保存應用程序包中的數據的建議+1;它要求用戶具有對應用程序的寫入權限(這是一個糟糕的主意),與所有其他用戶共享私人數據,導致代碼簽名問題......而是將應用程序管理的數據存儲在用戶的Library文件夾中 - 見[圖書館目錄存儲應用程序特定的文件(http://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/FileSystemProgrammingGUide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW1)在Apple的開發人員庫中。 –