您可以使用PackageMaker命令从文件列表创建安装程序吗?

时间:2010-04-09 23:00:11

标签: macos installer packagemaker

我想(定期并自动)从许多地方的各种文件和文件夹中创建安装程序。但是,我无法弄清楚如何提供packagemaker命令以及我要安装的项目的所有路径。

这是出于内部开发目的,而不是用于客户分发。我希望包含的文件是可配置的;使用GUI添加所有路径并不是一个真正的选择,因为它们会经常更改。

我能做的最好的事情是使用--watch标志和touch我希望包含在包中的所有东西。这非常混乱,包括碰巧同时访问的其他文件。我想要包含的内容没有一个共同的方案,所以我不能只是--filter其余的。

理想情况下,我只是给它一个充满路径的文件,它会构建包。如果那不是一个选项,我不反对生成XML或将它们放在命令行或任何可行的方法。我可能在安装程序中有大约30个文件,但这个数字可能会增长。

有更好的方法吗?我错过了这一点吗?

编辑:想知道我可以将包中我想要的所有文件复制到目录中,然后使用--root标志。这是最好的方法吗?

编辑2 :有没有办法用符号链接来完成,所以我不必复制文件?

1 个答案:

答案 0 :(得分:1)

(我没有将此答案标记为已接受,因为我真的希望能够从不同位置的文件创建安装程序,而无需将它们复制到暂存目录。)

根据petert的要求,以下是如何从目录中的文件创建安装程序。请注意,这不是我想要的,因为它会在目录中添加所有文件。 (我只想包含一些特定的文件。)

## create the fake root directory (which is also the name of the .pkg installer created)
## paths below this will be interpreted as absolute when the installer runs
mkdir -p MyInstaller

## create some fake stuff to install
install_to="MyInstaller/$HOME/installed_dir/"
mkdir -p "$install_to"
echo 'it worked!' > "$install_to/test.txt"

## actually create the installer
/Developer/usr/bin/packagemaker -i com.mycompany.myInstallerName --root MyInstaller

请注意,您必须使用-i选项提供包标识符(或提供plist。)