我的安装程序将文件放入 /Library/Application Support/AppName。作为自定义安装程序插件(Objective-C 代码)中安装过程的最后一步,我检查该文件的更新版本。如果存在,我下载它,然后尝试覆盖安装程序创建的那个。问题是我显然没有权限覆盖。由于已经提示用户输入管理员密码,作为安装程序一部分的安装程序插件是否应该有权覆盖该文件?
关于如何从我的安装程序插件写入 /Library/Application Support/AppName 目录的任何想法?
我的安装程序将文件放入 /Library/Application Support/AppName。作为自定义安装程序插件(Objective-C 代码)中安装过程的最后一步,我检查该文件的更新版本。如果存在,我下载它,然后尝试覆盖安装程序创建的那个。问题是我显然没有权限覆盖。由于已经提示用户输入管理员密码,作为安装程序一部分的安装程序插件是否应该有权覆盖该文件?
关于如何从我的安装程序插件写入 /Library/Application Support/AppName 目录的任何想法?
我相信安装程序实际上使用特权帮助工具来进行安装。Installer 应用程序本身没有管理员权限,这就是您的插件没有管理员权限的原因。
Apple 文档解释了一种处理特权安装的方法,尽管BetterAuthorizationSample代码是执行此操作的“最佳”方法。
不幸的是,处理特权操作非常棘手,您应该在实施任何操作之前研究并理解示例代码和授权服务文档。