我想从 mac 终端安装 pkg 文件作为静默安装。所以我使用以下命令进行静默安装。
sudo installer -store -pkg "/User/MyName/Desktop/helloWorld.pkg" -target /
它完美地安装了我的应用程序。但我想将此命令行脚本中的参数传递给在包制造商中创建的包安装程序。这样我就可以在包安装程序内的安装后/预安装脚本中使用此参数值。
是否有可能在上述命令中将我的值作为参数传递?
我想从 mac 终端安装 pkg 文件作为静默安装。所以我使用以下命令进行静默安装。
sudo installer -store -pkg "/User/MyName/Desktop/helloWorld.pkg" -target /
它完美地安装了我的应用程序。但我想将此命令行脚本中的参数传递给在包制造商中创建的包安装程序。这样我就可以在包安装程序内的安装后/预安装脚本中使用此参数值。
是否有可能在上述命令中将我的值作为参数传递?
这在命令中是不可能的,因为 " installer
" 命令不支持任何此类参数。但是,您可以尝试使用可以从安装前/安装后脚本中读取的配置文件并执行所需的操作。
在installer
手册中,您可以找到如下内容:
-applyChoiceChangesXML pathToXMLFile 在安装前将 pathToXMLFile 中指定的安装选项更改应用到包中的默认选项。这允许命令行安装程序自定义选择要安装的内容。有关此 XML 格式的详细信息,请参阅CHOICE CHANGES 文件。应用选择更改时遇到的任何问题都将报告给 LOG_INSTALL 工具(即 /var/log/install.log),如果使用了-dumplog ,也会报告给 stdout 。
CHOICE CHANGES FILE部分说: installer(8) [osx man page]
选择更改文件
``choiceChanges'' 文件允许选择或取消选择单独的安装程序选项。可以使用-showChoiceChangesXML选项生成给定包的模板选择更改文件,并解释如下。
choiceChanges 文件是一个包含字典数组的属性列表。每个字典都有以下三个键:
键 描述
choiceIdentifier 要修改的选项的标识符(字符串)
choiceAttribute 下面描述的属性名称之一(字符串)
attributeSetting 取决于choiceAttribute 的设置,如下所述(数字或字符串)choiceAttribute 和 attributeSetting 的值如下:
choiceAttribute attributeSetting 描述
selected (number) 1 选择选项,0 取消选择
启用(数字) 1 启用选项,0 禁用
可见(数字) 1 显示选项,0 隐藏
自定义位置(字符串)路径安装选项的位置(见下文)请注意,同一个choiceIdentifier 可以有多个字典,因为可以为单个选择设置多个属性。
只有当该选项明确允许用户定义的路径时,才能为该选项设置 customLocation 属性。也就是说,如果在 Installer 应用程序的“自定义”窗格中查看该选项时会弹出“位置”,则可以通过 customLocation 进行设置。(否则,安装路径不能随意修改,因为包作者必须考虑自定义安装位置才能使安装正常工作。)
此 xml 可以在说明安装之前生成,并且您不需要脚本来处理它(如其他答案建议)。