2012-10-12 46 views
4

我正在將我們的安裝程序從PackageMaker移植到pkgbuild,並試圖使默認安裝位置成爲當前用戶的主目錄,並仍允許用戶安裝系統範圍。

在我的分發文件我有enable_currentUserHome =「true」和enable_localSystem =「真」,它正確地允許用戶「安裝該計算機的所有用戶」或「只爲我安裝」。不過,我希望默認選擇「僅限我安裝」。

pkgbuild爲「--install-location」提供了一個命令行選項,man手冊頁中指定了默認位置,但沒有提及如何指定主目錄。我試過「〜」和「$ HOME」,但沒有運氣。有一些我不知道的宏嗎?

有誰知道如何告訴pkgbuild默認安裝在當前用戶的主目錄下?

在此先感謝!

-Owen

回答

4

PKGBUILD爲您生成組件包。儘管組件包可以自行安裝,但通常會將其組裝到產品檔案中。在產品檔案中,您可以將安裝域設置爲localSystem和home。

例如,如果選擇本地系統域,pkgbuild --install-location /Application將按預期方式將其安裝到/ Application中,如果選擇了家庭安裝,則將其安裝到$ HOME/Application中。

這就是說,我高度不鼓勵使用安裝程序進行家庭文件夾安裝。這只是在現實世界中不起作用。

請參閱我的Known Issues and Workarounds部分Making OS X Installer Packages以及​​。

0

一個解決方法是設置分發文件PARAMS這樣的:

enable_localSystem="false" 
enable_anywhere="true" 
enable_currentUserHome="true" 

家庭安裝將默認選擇,因爲它是啓用的第一選擇。

用戶將被仍然允許通過選擇Install on a specific disk...寬安裝系統 - >Macintosh HD。 缺點:用戶比直接選擇更容易:Install for all users of this computer

+0

在我的機器上使用這些參數時,家庭安裝不是啓用的第一個選項,默認情況下不選擇。有沒有辦法將家庭安裝設置爲默認? – Gerrit

+0

現在使用上面的答案一段時間後:OSX安裝程序似乎被竊聽。在我的情況下,如果我禁用系統範圍的安裝:('enable_localSystem =「false」enable_anywhere =「false」enable_currentUserHome =「true」'),有時(並不總是!),安裝程序仍然選擇自動系統安裝(並繞過安裝位置面板)。所以我的答案不適用於現實世界。 – souch

相關問題