当我在命令行上运行以下命令时,我可以静默安装程序包,但是当我将下面的代码放入目标c程序并运行它时。该软件包未安装。无形安装在目标C中
Shell命令 -
echo password |须藤-S安装-pkg /Users/prashanth/Desktop/AppTest.mpkg -target/
目标C -
系统(@“回波密码|须藤-S安装-pkg /用户/普拉香特/桌面/ AppTest.mpkg -target /“);
当我在命令行上运行以下命令时,我可以静默安装程序包,但是当我将下面的代码放入目标c程序并运行它时。该软件包未安装。无形安装在目标C中
Shell命令 -
echo password |须藤-S安装-pkg /Users/prashanth/Desktop/AppTest.mpkg -target/
目标C -
系统(@“回波密码|须藤-S安装-pkg /用户/普拉香特/桌面/ AppTest.mpkg -target /“);
NSTask,只适用于sudo,会更好,因为您可以自己将密码写入其标准输入,但仍不是正确的解决方案。更接近于AuthorizationExecuteWithPrivileges(http://developer.apple.com/library/mac/documentation/Security/Reference/authorization_ref/Reference/reference.html#//apple_ref/c/func/AuthorizationExecuteWithPrivileges)。文档建议的方法是在setuid-root工具中执行真正的工作(运行安装程序),并且仅使用AEWP来设置其setuid状态。 (当然,这假定你的应用程序包不在只读卷上。) – 2011-04-21 08:01:22
我希望这只用于测试,并且你不打算在实际应用程序中静默安装任何东西。 – 2011-04-21 08:01:53
@Prashant你的shell命令对静默安装非常有用。但我想通过这个shell命令传递参数。我想在包安装程序中的安装后脚本中获取此参数。有没有可能做到这一点? – santhosh 2015-02-04 12:16:01