2012-03-13 32 views
3

我正在使用軟件包tool構建安裝程序的Mac OS X項目中工作。我發現這個工具比一個叫做Package Maker的工具少用,這就是爲什麼我很難得到任何幫助,但是,好吧,這裏是問題:使用與要安裝的軟件包相同的根特權創建安裝程序插件(Mac OS X)

我已經成功創建了安裝程序插件以下官方指南(http ://s.sudre.free.fr/Stuff/Installer/Installer_Plugins/index.html),但現在問題是我需要其中的一個以root權限運行,如果需要,提示輸入管理員密碼。

每個軟件包都可以使用管理特權與預安裝和安裝後腳本的運行一起復制,但是這一步是在插件執行之後進行的,而我之前需要運行它。

我可以這樣做,在插件本身中編寫一些基本的授權代碼(使用棄用的AuthorizationExecuteWithPrivileges,因爲在插件中使用Apple建議的複雜變通辦法實際上是這樣)。

現在一切正常(我的特權代碼和安裝),但安裝程序結束要求兩次管理員密碼,一個用於插件,另一個在實際(軟件包)安裝之前,這不是太「用戶友好」 。

有沒有人知道解決方法或可能的解決方案?

在此先感謝。

回答

1

老問題,但我會把它作爲一個選項。

在我使用軟件包製作的安裝程序中,我有一個前/後飛行腳本來處理任何需要提升權限的事情。您需要使該特定軟件包要求提升,但腳本將以提升的特權運行。

所以在這個例子中,我有一個插件來詢問用戶一些問題,然後我將這些信息存儲在/ tmp中供腳本讀取和執行。

一個小拐彎,但作品,更容易然後儘量不使用AuthorizationExecuteWithPrivileges

+0

我瞭解做出以提升的權限,但在我的情況下運行腳本的角度來看,這並沒有使我的插件運行與特權(也許這是測試期間我的最小編碼錯誤)。 – DNax 2012-10-29 18:43:38

相關問題