5

PackageMaker (XCode 3.2.1 1613、Snow Leopard 用) を使用してインストールを開発しているときに、ほとんどの (すべてではないにしても) ファイルに設定したアクセス許可、所有者、およびグループが蒸発することがあります。結果は、ファイル perm/own/grp をそれぞれに設定する前に、PackageMaker にファイルを追加したように見えます。

奇妙なのは、.pmdoc フォルダー内のほとんどの xml ファイルが変更され、index.xml も変更され、何も変更されていない場合に大きな SVN 問題が発生することです! その場合は、SVN を元に戻してから、ビルドする前にすべてを調べます (おそらく 20 分かかります)。

どうすればこれを回避できますか? この (望ましくない) 動作をトリガーするには、どうすればよいでしょうか? 自分の行動と問題をまだ関連付けることができていません。次回それが発生し、時間があれば、.pmdoc/xml の変更を比較して、パターンを見つけることができるかどうかを確認します。

その間、誰かがヒントを持っていれば、私はそれを感謝します。

4

1 に答える 1

2

PackageMaker GUI を使用して生成された .pmdoc プロジェクトを使用すると、同じことがわかります。

.pmdoc を構成するファイルには、.pmdoc ファイル自体を含むさまざまなものへの絶対パスが埋め込まれています。これは、インストールされたファイルへのパスを .pmdoc の場所からの相対パスに変更しても、その他のパスに変更しても発生します。

いくつかの実験の後、.pmdoc を移動するか、その場所または環境を変更する何かを行うと、PackageMaker はすべての種類の値をデフォルトにリセットするようです。これには、所有者/グループのアクセス許可、およびコンポーネントの再配置とダウングレード フラグ。私の .pmdoc ファイルを構成するコンポーネント ファイルはすべてソース管理システム (Perforce) によってロックされており、それらが変更されていないことを確認したため、これは PackageMaker のメモリ内で発生します。

とりあえず、ビルドマシンとビルドフォルダーをセットアップするだけで、何も移動しません。

長期的には、PackageMaker のコマンド ライン インターフェイスを使用して .pkg ファイルを作成する方法に切り替えるつもりです。これは明らかに Apple が行っていることです。そのヒントが書かれたかなり良い記事を見つけました。


アップデート

この記事には、コマンド ラインの "packagemaker" ユーティリティを使用して構築された単純なインストーラーの優れた説明と例があります。例の明らかな値を置き換えると、これは、箱から出して、私が試したすべてのマシンで初めて機能し、このランダムなリセットのフーハはありませんでした。この方法では、PackageMaker で 2 日間かけて達成したよりも、1 時間で多くのことを達成できました。GUIを捨ててこれを使用してください-あなたは幸せになるでしょう.

GUI を使用してインストーラーをまとめたい場合は、Packagesが有望に思えますが、実際に試したことはありません。

于 2011-07-17T05:22:33.897 に答える