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