PackageMaker の新しいドメイン機能 (Mac OS 10.5 で導入) を使用して、ユーザーのホーム ディレクトリをターゲットにしています。PackageMaker.app に .pmdoc ファイルを作成しました。ポスト インストール スクリプトを追加するまで、すべてが完全に機能します。その後、突然、私のパッケージは、以前はそうではなかったのにルート認証を必要とします。packagemaker --doc mypackage.pmdoc --info Dist/PackageInfo
を明示的に指定する微調整した PackageInfo ファイルを指定して、コマンドラインからビルドしようとしましたが、うまくいきauth="none"
ません。出力されたパッケージを で解凍して調べると、自分で生成するXMLファイルでxar -xf package.pkg
認証が指定されているようです。package.pkg/Distribution
packagemaker
GUI に不満があるためpackagemaker
、コマンド ラインでのみ使用するように切り替えました。ただし、現在、私のパッケージはユーザー インターフェイス ファイルを表示せず (それらは .pkg アーカイブに含まれています)、依然として root 認証を要求します。生成されたファイルの問題のある行は次のDistribution
とおりです (notice auth="Root"):
<pkg-ref id="org.myUniqueID.pkg" installKBytes="12032" version="1.0" auth="Root">#grooveshark.pkg</pkg-ref>
これが私が実行する方法ですpackagemaker
:
packagemaker -r ./Grooveshark -f ./Dist/PackageInfo -s ./Dist/Scripts -e ./Dist/Resources -v --domain user --target 10.5 --no-relocate --discard-forks --no-recommend -o ./out.pkg
これは のレイアウトですDist
:
Dist/Distribution # this isn't used by packagemaker, it generates its own
Dist/PackageInfo
Dist/Resources/en.lproj/background
Dist/Resources/en.lproj/License
Dist/Resources/en.lproj/ReadMe
Dist/Resources/en.lproj/Welcome.rtfd
Dist/Resources/en.lproj/Welcome.rtfd/gsDesktopPreview-mini.png
Dist/Resources/en.lproj/Welcome.rtfd/gsDesktopPreview-searchSmall.png
Dist/Resources/en.lproj/Welcome.rtfd/TXT.rtf
Dist/Scripts/jsuuid # specified as a postinstall in Dist/PackageInfo
Dist/Scripts/postflight
root 認証を要求せずにポストインストール スクリプトを実行するようにパッケージを構成するにはどうすればよいですか? コマンド ラインから PackageInfo ファイルと Distribution インストール スクリプト XML ファイルの両方を指定する方法がありませんか?