當我在命令行上運行以下命令時,我可以靜默安裝程序包,但是當我將下面的代碼放入目標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