Bre*_*lle 14 macos installer packagemaker pkgbuild
我一直在尝试将Mac PackageMaker命令行构建移植到pkgbuild和productbuild但是我被卡住了.遗憾的是,除了这个StackOverflow帖子以及pkgbuild和productbuild手册页之外,我还没有找到任何记录这些新程序如何工作的内容.
这是我的问题.我创建了一个根安装目录,其中包含以下文件:
/some_path/Applications
/MyProgram.app
/Library
/Frameworks
/MyFramework.framework
/[library files...]
Run Code Online (Sandbox Code Playgroud)
下面的命令行调用对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
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试用pkgbuild编写这个并遇到一个重大问题.我使用以下电话:
$ pkgbuild \
--root /some_path \
--version 1.0.0 \
--install-location "/" \
--scripts "./scripts/" \
--identifier "com.my_company.pkg" \
MyProgram.pkg
Run Code Online (Sandbox Code Playgroud)
此命令构建一个安装程序,将MyProgram.framework目录复制到/ Library/Frameworks中.但是,它不会将MyProgram.app文件安装到/ Applications目录中.当我查看安装程序日志时,我看到以下消息:
Applications/MyProgram.app重定位到/some_path/Applications/MyProgram.app
任何人都可以解释为什么这不是像PackageMaker那样将MyProgram.app文件添加到/ Applications目录中?
不幸的是,这个问题的答案并不正是我想要的。我不知道如何从流程中消除 PackageMaker。然而,有一个解决方案,其中包括 pkgutil 和 PackageMaker,可以完全在命令行上创建带有自定义欢迎消息、许可证和背景图像的安装程序。不需要PackageMaker GUI 。步骤如下:
pkgutil --expand
) 以提取包内容echo '<background file="your_background.png">'
。pkgutil --flatten
) 来重建包。 归档时间: |
|
查看次数: |
6646 次 |
最近记录: |