我正在一个 Mac OS X 项目中工作,其中安装程序是使用包 tool 构建的。 。我发现这个工具比 Package Maker 更少使用,这就是为什么我很难获得任何帮助,但是问题是:
我已经按照官方指南(http://s.sudre.free.fr/Stuff/Installer/Installer_Plugins/index.html)成功创建了安装程序插件,但现在的问题是我需要其中一个运行root 权限,如果需要则提示输入管理员密码。
每个包都可以通过管理权限进行复制,同时运行安装前和安装后脚本,但此步骤是在插件执行之后,而我之前需要运行它。
我可以在插件本身中编写一些基本的授权代码(使用已弃用的 AuthorizationExecuteWithPrivileges 因为在插件中制作 Apple 推荐的复杂解决方法确实如此)。
现在一切正常(我的特权代码和安装),但安装程序最终要求输入管理员密码两次,一次用于插件,另一次在实际(包)安装之前,这不太“用户友好”。
有人知道解决方法或可能的解决方案吗?
提前致谢。
最佳答案
老问题,但我会将其作为一个选项提出。
在我使用软件包制作的安装程序中,我有一个飞行前/飞行后脚本负责处理任何需要提升权限的事情。您需要使该特定包请求提升权限,但随后脚本会以提升的权限运行。
因此,在这个示例中,我有一个插件来询问用户一些问题,然后我将该信息存储在/tmp 中,以便脚本读取和执行。
有点绕弯,但比尝试不使用 AuthorizationExecuteWithPrivileges
更有效,而且更容易
关于macos - 在与要安装的软件包具有相同 root 权限的软件包中创建安装程序插件 (Mac OS X),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693673/