I have a Mac App, I export it as a pkg for distribution, using the latest XCode.
Deployment target is 10.7.3.
I have got many user reports that the app can't be installed on 10.7.5 "appname can't be installed on this computer"
There is no further information in the logs.
My understanding is that this message can happen when a 64 bit only app is installed on a 32 bit mode OS, however the systems are running 64 bit kernel.
Any idea on how to fix this? The problem seems to be happening exclusively on 10.7.5 so far, might be a 10.7.5 bug, but I would still need a workaround.
Asked
Active
Viewed 915 times
1

JP Hribovsek
- 6,707
- 2
- 21
- 26
-
Hello, I seem to have a similar problem, pkg works on 10.8 and 10.9, but 10.7 gives the "cant be installed on this computer". The app itself does work. Any luck for you JP? – Jon Apr 07 '14 at 12:14
-
I never really found the problem. Since I really wanted to distribute this as a pkg file, I ended up having a pkg file for those using 10.8 or later, and a dmg file for users using 10.7. – JP Hribovsek Apr 07 '14 at 15:20
1 Answers
0
I was able to somewhat work around the problem by manually building an installer package from the instructions found in Making OS X Installer Packages like a Pro - Xcode Developer ID ready pkg
I was however forced to bypass that process a little bit, mainly I think because of the priviliged helper tool I provide with the app.
These were my steps, forged by despreate trial an error, your milage may vary:
# In the release directory built by xcode, app already signed by xcode:
$ pkgbuild --component MyApp.app --install-location /Applications MyApp.pkg
$ productbuild --synthesize --package MyApp.pkg Distribution.xml
$ productbuild --distribution Distribution.xml --package-path . ./Installer.pkg
$ nano Distribution.xml
# added attribute customLocation="/Applications"
# to the choice-element for my app id.
$ productsign --sign "Developer ID Installer: Jon Larsson (...)" \
Installer.pkg InstallerSigned.pkg
The s produced an acceptable installer, though a little incomplete, which I think is because of an incomplete Distribution.xml.