【发布时间】:2012-08-01 13:29:42
【问题描述】:
我一直在尝试将 Mac PackageMaker 命令行构建移植到 pkgbuild 和 productbuild,但我被卡住了。不幸的是,除了StackOverflow post 和pkgbuild 和productbuild 手册页之外,我还没有找到太多记录这些新程序如何工作的内容。
这是我的问题。我创建了一个根安装目录,其中包含以下文件:
/some_path/Applications
/MyProgram.app
/Library
/Frameworks
/MyFramework.framework
/[library files...]
下面的命令行调用非常适合 PackageMaker。它创建了一个安装程序来安装上述所有文件。
$ /Developer/usr/bin/packagemaker \
--title "My Program" \
--root /some_path \
--version 1.0.0 \
--filter "\.DS_Store" \
--resources ./resources/ \
--scripts ./scripts/ \
--root-volume-only \
--domain system \
--verbose \
--no-relocate \
--target 10.5 \
--id com.my_company.pkg \
--out MyProgram.pkg
现在我正在尝试使用 pkgbuild 编写此内容,但遇到了一个重大问题。我使用以下调用:
$ pkgbuild \
--root /some_path \
--version 1.0.0 \
--install-location "/" \
--scripts "./scripts/" \
--identifier "com.my_company.pkg" \
MyProgram.pkg
此命令构建一个安装程序,将 MyProgram.framework 目录复制到 /Library/Frameworks。但是,它不会将 MyProgram.app 文件安装到 /Applications 目录中。当我查看安装程序日志时,我看到了这条消息:
Applications/MyProgram.app 重新定位到 /some_path/Applications/MyProgram.app
谁能解释一下为什么没有像 PackageMaker 那样将 MyProgram.app 文件添加到 /Applications 目录中?
【问题讨论】:
标签: macos installation packagemaker pkgbuild