我正在使用 PackageMaker 的新域功能(为 Mac OS 10.5 引入)来定位用户主目录。我在 PackageMaker.app 中创建了一个 .pmdoc 文件,并且在添加我的安装后脚本之前一切正常。然后,突然间,我的包需要 root 授权,而以前不需要。packagemaker --doc mypackage.pmdoc --info Dist/PackageInfo
我尝试使用提供明确指定的调整过的 PackageInfo 文件从命令行构建auth="none"
,但这不起作用。当我通过使用 提取输出包来调查输出包时xar -xf package.pkg
,身份验证似乎是在为自己生成package.pkg/Distribution
的 XML 文件中指定的。packagemaker
由于对 GUI 的失望,我已切换到仅packagemaker
在命令行上使用。但是,现在我的包不显示我的用户界面文件(尽管它们包含在 .pkg 存档中),并且仍然需要 root 身份验证。生成文件中的违规行Distribution
是(注意 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 install-script XML 文件?