我目前正在为要移植到 OS X 的 Java 应用程序创建安装程序。我希望能够保持它简单.dmg内部有.app,因为我宁愿避免.pkg安装程序打开的向导。
但是,除了将二进制文件复制到/Applications 之外,我还必须执行一些操作。更准确地说,我想安装一个后台守护进程,它应该以 root 身份运行并在系统启动时自动启动。这是否可以通过.app实现,如果是,如何实现?
我还应该补充一点,后台守护程序和用户可见的应用程序是两个不同的二进制文件。是否可以在.app中拥有,或者它只支持一个二进制文件?据我了解,它只是一个目录,因此也应该可以将后台守护程序保留在.app中。
启动时添加到主程序(当用户 dbl 单击应用程序包时启动的程序)中,一个一次性初始化函数,该函数执行注册后台守护程序所需的一切,如下所示:
public static void main(String[] args) {
boolean firstStartup = aFunctionToDetectIfFirstStartup();
if (firstStartup) {
doAllTheFirstStartupInit();
markFirstStartupAsDone();
}
doTheRealJobNow();
}