7

Mac端末からのサイレントインストールとしてpkgファイルのインストールを行いたいです。そこで、以下のコマンドを使用してサイレント インストールを実行しました。

sudo installer -store -pkg "/User/MyName/Desktop/helloWorld.pkg" -target /

それは私のアプリケーションを完全にインストールしました。しかし、このコマンド ライン スクリプトから、パッケージ メーカーで作成されたパッケージ インストーラーに引数を渡したいと考えています。パッケージインストーラー内のポスト/プリインストールスクリプトでこの引数値を使用できるようにします。

上記のコマンドで値を引数として渡す可能性はありますか?

4

2 に答える 2

2

installer" " コマンドはそのような引数をサポートしていないため、コマンドからこれを実行することはできません。ただし、インストール前/インストール後のスクリプトから読み取り、必要なアクションを実行できる構成ファイルを使用してみてください。

于 2015-02-28T06:23:53.293 に答える
0

マニュアルではinstaller、次のようなものを見つけることができます:

インストーラー (8) [osx man ページ]

-applyChoiceChangesXML pathToXMLFile インストール前に、pathToXMLFile で指定されたインストール選択項目の変更をパッケージ内のデフォルト選択項目に適用します。これにより、コマンドライン インストーラーは、何をインストールするかをカスタマイズできます。この XML 形式の詳細については、 CHOICE CHANGES FILEを参照選択の変更を適用する際に発生した問題は、LOG_INSTALL ファシリティ (つまり、/var/log/install.log) に報告され、 -dumplogが使用されている場合は stdout にも報告されます。

そして、セクションCHOICE CHANGES FILEは次のように述べています: installer(8) [osx man page]

選択変更ファイル

``choiceChanges'' ファイルを使用すると、個々のインストーラーの選択肢を選択または選択解除できます。-showChoiceChangesXMLオプションを使用して、特定のパッケージのテンプレートの choiceChanges ファイルを生成できます。これは次のように解釈されます。

choiceChanges ファイルは、辞書の配列を含むプロパティ リストです。各ディクショナリには、次の 3 つのキーがあります。

キー 説明
choiceIdentifier 変更する選択肢の識別子 (文字列)
choiceAttribute 以下で説明する属性名の 1 つ (文字列)
attributeSetting 以下で説明する、choiceAttribute に依存する設定 (数値または文字列)

choiceAttribute と attributeSetting の値は次のとおりです。

choiceAttribute attributeSetting 説明selected (
数値) 選択肢を選択する場合は 1、選択を解除する場合は 0
enabled (数値) 選択肢を有効にする場合は 1、無効にする場合は 0
表示 (数値) 選択肢を表示する場合は 1、非表示にする場合は 0
選択肢をインストールする場所 (以下を参照)

1 つの選択肢に対して複数の属性が設定される可能性があるため、同じ choiceIdentifier に対して複数の辞書が存在する可能性があることに注意してください。

customLocation 属性は、その選択肢が明示的にユーザー定義のパスを許可する場合にのみ、その選択肢に設定できます。つまり、インストーラー アプリケーションの [カスタマイズ] ペインに表示されたときに選択肢に [場所] ポップアップが表示される場合は、customLocation を介して設定できます。(それ以外の場合、パッケージの作成者は、インストールが適切に機能するためにカスタムのインストール場所を考慮する必要があるため、インストール パスを任意に変更することはできません。)

このxmlは、インストールを記述する前に生成でき、それを処理するためのスクリプトは必要ありません(他の回答が示唆するように)。

于 2019-07-05T15:52:01.857 に答える