Author jackjansen
Recipients eric.araujo, jackjansen, tarek
Date 2012-01-27.21:09:24
SpamBayes Score 2.08235e-05
Marked as misclassified No
Message-id <1327698565.84.0.667656042788.issue13892@psf.upfronthosting.co.za>
In-reply-to
Content
I found a problem with the handling of manifest files in the msvc9compiler. Distutils removes the reference to the MSVC runtime from the manifest resource, to enable installing the runtime system locally (i.e. to allow non-admins to install Python in their own directory, without needing admin access to the winSxS directory). Embedders of Python are suggested to the manifest for the MSCV runtime to their main program (i.e. the program embedding Python).

This is all a good idea, except for one use case: if you are including Python into a product that is itself a plugin to another product. And, of course, if you need to extend this Python with an extension module. In this case, you have no control over the manifest of the main program (which is the outer embedder). You have control over your own plugin (the one incorporating Python), but this intermediate manifest file is not taken into account when loading the distutils-generated .pyd file.

(imagining the amount of time it took me before I got to this analysis is left as an exercise to the reader:-)

I would suggest an option to distutils to skip the _remove_visual_c_ref() step.
History
Date User Action Args
2012-01-27 21:09:25jackjansensetrecipients: + jackjansen, tarek, eric.araujo
2012-01-27 21:09:25jackjansensetmessageid: <1327698565.84.0.667656042788.issue13892@psf.upfronthosting.co.za>
2012-01-27 21:09:25jackjansenlinkissue13892 messages
2012-01-27 21:09:24jackjansencreate