Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Steps to reproduce:
1) Convert a mac-sample to Xammac (I used OpenGLViewSample and NSComboBoxTest, for example)
2) Enable the settings 'Include the Mono runtime in the application bundle' and 'Create installer package'
4) Transfer the built .pkg to a Snow Leopard machine
5) Attempt to open the .pkg and install the app
Installer should successfully start and begin the installation process
Installer shows error "com.apple.installer.pagecontroller error -1" http://screencast.com/t/g0jX7AFO0R
Console shows the following messages:
8/21/13 2:22:47 PM Installer This distribution script is too new (Requires spec version >= 2, current is 1.058)
8/21/13 2:22:47 PM Installer Error parsing distribution script from data
8/21/13 2:22:47 PM Installer Invalid Distribution File/Package
Mono 3.2.2 a0fc6ba
Machine with failure to install:
No Xamarin or Mono products installed
Yeah, I'm reporting that a packaged Xamarin.Mac app doesn't install (on a Snow Leopard machine without Xamarin.Mac and all that).
(And the minimum target in these apps was 10.6, so we should be fine with that set and the included mono runtime, AFAIK).
_interesting_ it seems the package (.pkg) itself is problematic :'( and I'm not sure what/how the .pkg is done...
What happens if you copy the .app directory ? (my original curiousity was about the application, not the installer ;-)
So the installer itself is just created with this command inside the XS addin:
productbuild --component foo.app /Applications foo.pkg
I suspect we may have to pass other flags to productbuild or specify some kind of configuration plist for SL compat. I'll look into it.
From what I understand PJ, you're just saying that the installer itself is failing to open/install? Can you confirm Sebastien's request to see if the .app bundle itself runs on SL (as it should, assuming the Deployment Target version is 10.6, and we default to 10.6).
Yes the same projects' .apps transferred open up just fine (albeit, a bit slowly, but it's a slower VM).
According to the man page for productbuild, you can specify a "Pre-Install Requirements Property List" (previously called the "Product Definition File") which allows you to specify minimum OS versions among other things using the `--product' switch.
We already have a UI for selecting the "Product Definition" file which gets passed to the --product switch, so we might not have to do anything other than perhaps document that users will need to do this.
Alternatively, we could perhaps generate a default plist file with the minimum OS version set to the version specified in the Info.plist?
The problem with that is that the sdk version only allows us 10.X and not 10.X.Y
At the top level, this property list is a dictionary, with the following keys:
os Minimum allowable OS versions (array of strings)
arch Supported architectures (array of strings)
ram Minimum required RAM in gigabytes (real)
bundle Specific bundles that must exist on the system (array of dictionaries)
all-bundles Are all of the bundles specified required? (Boolean)
gl-renderer Required OpenGL capabilities (string)
cl-device Required OpenCL capabilities (string)
single-graphics-device Must OpenGL and OpenCL requirements be met by a single device? (Boolean)
home Should installation be allowed in user home directory? (Boolean)
o The os key defines one or more minimum system versions. You might have multiple versions if a cer-
tain OS update is required for a given major OS version. For example, if you specify 10.5.4 and
10.6.2, Leopard would be allowed from 10.5.4 up, and Snow Leopard from 10.6.2 up, but 10.6 and
10.6.1 would be rejected. There is no upper-bound associated with the highest value given.
NOTE: Some of the other requirements imply their own minimum system versions, which may override
the values set here. This is noted below where applicable.
o The arch key specifies the supported architectures, e.g. i386 and/or x86_64. Note that i386 allows
both 32- and 64-bit systems, but if you specify only x86_64, a 64-bit system is required.
We're dropping 10.6 support in XM 2.0