首页 > 解决方案 > 从 install4j 安装程序安装和触发 macOS 应用程序

问题描述

我有一个用例,我的 java 应用程序需要使用第三方 dylib 通过串行端口访问 USBMSC(USB 大容量存储类)设备。但是,由于 macOS mojave (10.13),用 shell-script 编写的特权帮助工具脚本停止工作。为了解决这个问题,我们创建了一个 swift 应用程序,它可以在不使用 shell 脚本的情况下设置设备的正确权限,并且可以按预期工作。我现在想创建一个可以同时安装可执行 jar 和 macOS 应用程序的可再分发软件,因为我们不希望用户运行单独的安装程序并让他们的体验变得更糟。

我尝试将应用程序与其他文件捆绑在一起并使用运行可执行文件或批处理文件操作,但没有成功。

任何帮助将不胜感激。

编辑:在使用反复试验运行几次测试后(是的,我在 mac 上找不到安装日志文件),找到了真正的根本原因。助手应用程序缺少“可移动媒体”权限,该权限应从父应用程序继承,因为助手应用程序捆绑在父 Java 应用程序包中。只有在授予父应用程序访问“可移动媒体”的权限后,我才能从父应用程序内容执行帮助程序 macOS 应用System Preferences->Security & Privacy->Files and Folders程序。

现在问题真的变成了:在通过运行可执行文件或批处理文件操作执行帮助 macOS 应用程序之前,如何在安装过程中获得“可移动媒体”权限?

标签: install4j

解决方案


推荐阅读