Qtで構築されたOSXアプリケーションがあります。それはコード化され、マックストアに合うようにパッケージ化され、アップルによって承認されており、Macストアでの販売の準備が整いました。インストール時にproductbuildパスが無視される
インストール後に、/アプリケーションの代わりにパッケージプロセス中にインストールされていた場所にインストールされます。
また、私は/アプリケーションにインストールできるファイルの.dmgパッケージを作成しています。私はこれらのコマンドを実行しているビルド手順の最後に
:私はインストーラ経由でインストールしようとしてるのpkg、となっている
codesign --force --deep --verify MyApp.app/ --entitlements ${INSTDIR}/Entitlements.plist -s "3rd Party Mac Developer Application: Company Name"
productbuild --component MyApp.app /Applications --sign "3rd Party Mac Developer Installer: Company Name" MyApp.pkg
結果:
$ sudo installer -store -pkg MyApp.pkg -target/
installer: Note: running installer as an admin user (instead of root) gives better Mac App Store fidelity
installer: MyApp.pkg has valid signature for submission: 3rd Party Mac Developer Installer: Company Name (key)
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle com.CompanyName.MyApp will be relocated to /Users/peti/dev/build/bin/Mac/release/MyApp.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 17.1% complete
installer: Install 96.4% complete
installer: Install 100.0% complete
installer: Finished install
productbuildの直後に、移転は/アプリケーションと言っていましたが、そこにインストールしませんでした!それ以降の実行では、不正なパスが表示されます。私はまた別の場所からインストールしようとしました。
同じことをするMac Storeからアプリをインストールしようとしました...間違ったパスに入ります。
私が使用してきました:
pkgutil --expand
パッケージを抽出するには。 PackageInfoファイルにはこれが記載されています:
<pkg-info overwrite-permissions="true" relocatable="false" identifier="com.CompanyName.MyApp" postinstall-action="none" version="3.0.0" format-version="2" generator-version="InstallCmds-502 (14F1605)" install-location="/Applications" auth="root" preserve-xattr="true">
何か問題が起きる可能性がありますか?私は解決のためにgoogleを試みましたが、運はありません。この不正なパスはどこに保存できますか?私はproductbuildの前に、ファイルに埋め込まれたパスは見ません。 productbuildは変なことをしていますか?
'.dmg'はパッケージではなくディスクイメージですが、確実にその上に' .pkg'を保存することができます。 –
@ I'L'I私は理解していないことは、なぜパッケージングの場所がインストールパスと関係しているのかということです。 – tothphu
ファイルを作成する場所を意味する場合は、ファイルをインストールする場所を決定するために使用されるためです。 –