使用 dmg 在 mac 上更新应用程序而不丢失数据

Update an app on mac using dmg without losing data

我在 Java 中编写了一个程序,它创建了一些与此类似的文件:

FileOutputStream fos = new FileOutputStream("data.txt");

...

我使用 install4j 创建了一个 dmg-drag-and-drop-installer,效果很好。

当我使用 likewise 安装程序交付更新时,macOS 允许并行安装更新或作为现有版本的替换。 先前创建的“data.txt”将因替换而被删除。

是否有机会更改更新过程,以便像 windows 那样仅更改那些存在于更新包中的文件? 在 windows 中,我可以 运行 更新版本的安装程序,并且不会触及用户数据。

或者我是否必须将所有文件存储在文档文件夹中才能解决此问题?

感谢您的帮助!

Or will I have to store all the files for example in the documents folder to solve this issue?

是的,您必须这样做。 macOS 替换整个应用程序包,它不会合并它们。

在应用程序包中写入也不是一个好主意,因为它会破坏签名。