問題タブ [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 - 開発者 ID 対応の macOS インストーラー パッケージの作成
注: これはOS X インストーラーパッケージ専用です。Mac App Storeに提出するパッケージは異なる規則に従います。
Mountain Lion のGatekeeperのおかげで、私は最終的にPackageMakerビルド スクリプトを納屋の後ろに持って行き、それを撃たなければなりませんでした。PackageMaker はすでに Xcode から削除され、"Auxiliary Tools for Xcode" に移動されているため、すぐに忘れ去られることを願っています。
pkgbuild
問題は、 、productbuild
、およびをどのように使用pkgutil
して置き換えるかです。
macos - PackageMaker コマンド ライン ビルド インストーラを pkgbuild に移植する
Mac PackageMakerのコマンド ライン ビルドを pkgbuild と productbuild に移植しようとしましたが、行き詰まりました。残念ながら、このStackOverflow の投稿と、pkgbuildおよびproductbuildのマニュアル ページを除いて、これらの新しいプログラムがどのように機能するかを文書化したものはほとんど見つかりませんでした。
これが私の問題です。次のファイルを含むルート インストール ディレクトリを作成しました。
以下のコマンド ライン呼び出しは、PackageMaker でうまく機能しました。上記のすべてのファイルをインストールするインストーラーが作成されました。
今、私はこれを pkgbuild で書き込もうとしていますが、大きな問題があります。次の呼び出しを使用します。
このコマンドは、MyProgram.framework ディレクトリを /Library/Frameworks にコピーするインストーラをビルドします。ただし、MyProgram.app ファイルは /Applications ディレクトリにインストールされません。インストーラ ログを見ると、次のメッセージが表示されます。
Applications/MyProgram.app は /some_path/Applications/MyProgram.app に移動しました
PackageMaker が行っていたように、これが MyProgram.app ファイルを /Applications ディレクトリに追加しない理由を誰かが明らかにすることはできますか?
macos - pkgbuild でデフォルトのインストール場所を $HOME に指定するにはどうすればよいですか?
インストーラーを PackageMaker から pkgbuild に移植する過程にあり、デフォルトのインストール場所を現在のユーザーのホーム ディレクトリにし、ユーザーがシステム全体にインストールできるようにしようとしています。
私の配布ファイルには、 enable_currentUserHome="true" と enable_localSystem="true" があり、ユーザーが「このコンピューターのすべてのユーザーにインストール」または「自分のみにインストール」することを正しく許可しています。ただし、デフォルトで「自分のみにインストール」が選択されるようにしたいと思います。
pkgbuild には "--install-location" のコマンド ライン オプションがあり、man ページにはデフォルトの場所を指定すると書かれていますが、ホーム ディレクトリを指定する方法については言及されていません。"~" と "$HOME" を試しましたがうまくいきませんでした。私が知らないマクロはありますか?
デフォルトで現在のユーザーのホームディレクトリの下に pkgbuild をインストールするように指示する方法を知っている人はいますか?
前もって感謝します!
-オーウェン
macos - pkgbuildを使用してパッケージを作成するときの不明なエラー
pkgbuild
OS Xシステムが提供するツールを使用してデプロイ可能なフラットパッケージ(.pkg)を作成する方法について、いくつかのチュートリアル(すべて同じことを言っているように見えます)に従いました。パッケージは常に問題なく生成されました。しかし、彼らはインストールされたくありませんでした。
グラフィカルなAppleインストーラーまたはコマンドラインインターフェイスを実行するinstaller
と、より高いアクセス許可の入力を求められた後、一般的な「不明なエラー」が発生し、インストールが早期に中止されました。
綿密な調査の数時間後、私は他のパッケージもインストールできないことを発見しました。OS XAppStoreからのアップデートや新規インストールもありません。自分のパッケージや他のパッケージをインストールできないのはなぜですか?何が起こっていたのですか?
macos - OS Xインストーラーパッケージで代替ボリュームの選択を無効にするにはどうすればよいですか?
OS Xのインストーラーパッケージをまとめていますが、インストール先のボリュームをユーザーに尋ねる画面を無効にする方法がわかりません。/
プロンプトなしでインストールしたい。
パッケージの作成方法は次のとおりです。
pkgbuild--root build/staging/ --identifier xxxx --scripts InstallerOSX/resources/ --scripts InstallerOSX/scripts/ ${OBJROOT}/AgentPayload.pkg
productbuild--distribution InstallerOSX/distribution.dist --package-path ${OBJROOT} --resources InstallerOSX/resources/ ${BUILT_PRODUCTS_DIR}/AgentInstaller.pkg
これが私の配布ファイルです:
要素は<domains>
トリックをしていないようです...
xcode - pkgbuild を使用して Xcode 内から kext インストーラーを作成する方法
PackageMaker が非推奨になったことを理解しています。ここでは、pkgbuild/productbuild を使用することになっています。
ただし、kext のインストーラーを作成する例が見つからないようです。kext Xcode プロジェクトのビルド手順の一部としてパッケージをビルドしたいと考えていました。したがって、任意の bash/script ファイルが最適です。
macos - アンインストーラーにOSX製品ビルドを使用する
pkgbuildとproductbuildを使用して製品インストーラーを正常に動作させています。ただし、現在、インストーラーをアンインストーラーとしても機能させる方法を見つけようとしています。次のように、distribution.xmlファイルを変更することで、ユーザーのアンインストールの選択肢を表示できます。
しかし、彼らがアンインストールを選択するとき、私は彼らがどの選択を選択したかをどういうわけか知るために私のポストインストールスクリプトが必要です。インストール後のスクリプトがこれを知る方法がわかりません。環境変数にはこれを示すものはなく、スクリプトに渡されるパラメーターにも含まれていません。
独自の個別のポストインストールスクリプトを使用して個別のアンインストールパッケージを作成し、それを製品全体のコンポーネントとして含めることができると思いましたが、それは多くの追加のセットアップ作業のように思えます。
ユーザーが行ったインストールの選択に基づいて、動作にわずかな違いがあった場合はどうなりますか?選択肢ごとに個別のパッケージコンポーネントを作成する必要がありますか?
追加のコンポーネントパッケージを必要としないこのための良い解決策はありますか、それともインストール/アンインストール用に別々のコンポーネントパッケージを作成する必要がありますか?
macos - インストールパッケージを構築するMacでpkgbuildとproductbuildを使用して飛行後のスクリプトを実行する方法
4つのサブパッケージを含むMacOSX用のインストールパッケージをビルドしたいと思います。サブパッケージはpkgbuildでビルドされます。最終的なパッケージは、ウェルカムテキストとライセンステキストおよびインストール場所の選択のためにDistribution.xmlを使用してproductbuildでビルドされます。
インストールが成功した後、スクリプトを実行したいと思います。特に、すべてのパッケージの領収書がインストーラーによって書き込まれた後。
マニュアルページやドキュメント、その他の役立つリンクを理解している限り、そのために飛行後のスクリプトを使用する必要があります。残念ながら、動作させることができません。postflightという名前を付け、-scriptオプションを使用してpkgbuildでサブパッケージに追加しましたが、pkgbuildはpostflightスクリプトをサポートしていないようです。インストール後に名前を付けると実行されますが、残念ながら領収書が書き込まれる前に実行されます。
pkgutilツールを使用して、他のパッケージのインストール場所の場所で構成されるXCode用のxcconfigファイルを作成したいので、レシートが書き込まれた後に実行する必要があります。
Scripts /フォルダーを展開されたパッケージに追加してexpand-flattenハックを使用しようとしましたが、フラット化した後は無視されるようです。
私のニーズを達成する方法はありますか?(パッケージの選択したインストール場所をサブパッケージのインストール場所のファイルに書き込む)
可能であれば、少なくとも別のより良い方法がある場合は、廃止されたパッケージメーカーツールの使用を避けたいと思います。
前もって感謝します
objective-c - pkgbuild postinstall スクリプトにより、他の Mac で「インストールに失敗しました」が発生する
postinstall スクリプトを pkg に追加すると、カスタム インストーラーで問題が発生します。私のコンピューターではインストールは正常に機能しますが、他のユーザーのシステムでは .app はインストールされますが、postinstall スクリプトは実行されずに失敗します。
--scripts
pkgbuild で引数を削除すると、インストーラーは問題を発生しません。追加すると (postinstall
スクリプトが空の場合でも)、「インストールに失敗しました」というメッセージが表示されます。ログは生成されません。
pkg は、次のようなスクリプトを使用して構築されます。
私のシステムでは、アプリは /Applications にインストールされ、postinstall スクリプトが実行されて機能します。他のシステムでは、ポストインストールはまったく実行されていないようです。
OSX 10.8 および 10.7 でテストされており、どちらも同じ問題が発生します。postinstall スクリプトは、すべてのシステム (./postinstall
ターミナルで使用) で個別にテストされ、動作します。
スクリプトは次のようになります。
この問題の原因は何ですか?