問題タブ [pkgbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - pkgbuild / productbuild から "defaults write" を正しく使用するにはどうすればよいですか?
私はインストーラーパッケージを構築しています
また、インストール後にいくつかのユーザーのデフォルトを設定したいと思います。そこで、次のpostinstall
スクリプトを作成しました。
ただし、これは機能しません — 設定は に書き込まれ/var/root/Library/Preferences
、 からしかアクセスできませんsudo defaults read
。
だから代わりに私はこれを試しました:
適切な場所に書き込まれるようになりましたが、アクセス許可が間違っています — stat
plist ファイルのアクセス許可が-rw------- 1 root wheel
であり、defaults read
それらにアクセスできないことを示しています。これを正しく機能させるにはどうすればよいですか?
xcode - productbuild および pkgbuild によるファイル所有権の変更
Mac OS 10.8.4 で Java アプリのインストーラーを作成しようとしています。アプリは正常に動作し、zip ファイルから問題なくインストールできます。productbuild または pkgbuild を使用して .pkg インストーラーを作成できます。どちらのインストーラー .pkg ファイルも正常にインストールできますが、両方のパッケージ化プログラムがデータ ディレクトリとその下位ファイルおよびサブディレクトリの所有権をユーザーからルートに変更するため、アプリは正しく実行されません。このデータ ディレクトリを .app バンドルの Resources ディレクトリにインストールすると、プログラムの初回実行時にデータ ディレクトリが /Users/user/Library/Application Support に移動します。--ownership preserve および --ownership preserve-other オプションを pkgbuild で使用してみましたが、役に立ちませんでした。私が正しくインストールして実行できた唯一の方法は、zip ファイルを使用することです。ファイルの所有権をそのままにしておくためです。私が使用しているpkgbuildコマンドは次のとおりです。
pkgbuild --ownership preserve --component ./myApp.app ./myApp-installer.pkg
私の質問は次のとおりです。
--ownership preserve オプションを強制的に pkgbuild に適用させるにはどうすればよいですか?
ユーザー所有権を持ち、ユーザー領域向けのデータのみのパッケージを個別にビルドし、pkgbuild の --synthesize オプションを使用して実行可能パッケージとマージすることはできますか? はいの場合、誰かがそのようなデータのみのパッケージを構築する方法を教えてもらえますか?
macos - OS X NSTask エラー 22
もののフォルダーとインストール前/インストール後のスクリプトで構成される pkgbuild を使用して、OS X で単純なパッケージを構築しています。結果のパッケージを実行しようとすると、インストーラーが失敗し、ログに次のメッセージが記録されます。
11 月 1 日 13:28:11 localhost installd[631]: ./preinstall: 2013-11-01 13:28:11.074 installd[637:203] * NSTask: パス '/tmp/PKInstallSandbox.P6mPx2/Scripts/ のタスク作成com.xyz.utility.pkg.TWwYct/preinstall' が失敗しました: 22、「引数が無効です」。一時的なプロセスを終了しています。
インストーラーはルートとして実行されています。インタープリター宣言で単純な「出口 0」に切り詰めた後でもスクリプトが失敗するため、問題はスクリプトの内容ではないようです。この問題は、10.8.2 および 10.8.4 で発生します。
この問題は、NSTask オブジェクト内からスローされる例外のように見えますが、この 22 エラー コードと「無効な引数」メッセージしか表示されません。このメッセージは NSInvalidArgumentException を参照している可能性があると思います。スクリプトが実際にエラー メッセージに記載されている一時的な場所に配置されており、正しいアクセス許可でそこにあることを確認しました。
このタイプのエラー メッセージの原因について何か考えはありますか? 検索を行ったところ、このエラーに関するいくつかの参照が見つかりましたが、統一された原因や解決策はないようです。