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

标签 macos installation packagemaker

我想(定期和自动)从许多地方的各种文件和文件夹创建安装程序。但是,我不知道如何为 packagemaker 命令提供我要安装的项目的所有路径。

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

我能做的最好的就是使用 --watch标志和 touch我想要的所有东西都包含在包装中。这非常困惑,包括碰巧同时访问的其他文件。我想要包含的内容没有一个通用的方案,所以我不能只是 --filter剩下的。

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

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

编辑 : 想我可以把包里所有我想要的文件复制到一个目录中,然后使用--root旗帜。这是最好的方法吗?

编辑 2 : 有没有办法用符号链接(symbolic link)来做,所以我以前不必复制文件?

最佳答案

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

根据 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。)

关于macos - 您可以使用 PackageMaker 命令从文件列表中创建安装程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611505/

相关文章:

mysql - 如何连接 MySQL 工作台和 MAMP PRO?

python - os.path.join() 是如何工作的?

c++ - 在 Mac OS 上测量 deltatime 毫秒数的最佳方法?

python-3.x - 如何将 ANTLR 用于 python 目标?

python - 在 python 脚本中使用 conda install

macos - Xamarin Monodevelop - 错误 CS0103

java - 如何在linux(centos 6.4)中安装tomcat?

ios - 如何在 Linux 上构建 Mac 包? (BOM文件问题)

macos - Mac PackageMaker - 随机重置所有者/组/权限

java - 当项目在 Java 中使用许多其他依赖项时,如何制作安装程序?