Qt でビルドされた OSX アプリケーションがあります。コード署名され、macstore に適合するようにパッケージ化され、Apple によって承認されており、mac ストアで販売する準備ができています。
インストール後は、/Applications ではなく、パッケージ化プロセス中に存在していた場所にインストールされます。
または、/Applications にインストールできるファイルの .dmg パッケージを作成しています。
ビルド手順の最後に、次のコマンドを実行しています。
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
その結果が、インストーラー経由でインストールしようとしている 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 の直後に再配置で /Applications と表示されましたが、そこにインストールされませんでした!! その後の実行では、間違ったパスが表示されます。また、別の場所からインストールしようとしました。
また、同じことを行う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">
何がうまくいかないのでしょうか?解決策をグーグルで検索しようとしましたが、うまくいきませんでした。この間違ったパスはどこに保存されますか? productbuild の前にパスがどのファイルにも埋め込まれていません。productbuild は何かおかしなことをしていますか?