Author steve.dower
Recipients erik flister, eryksun, paul.moore, steve.dower, tim.golden, zach.ware
Date 2015-06-11.21:18:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1434057497.49.0.0447540985136.issue24429@psf.upfronthosting.co.za>
In-reply-to
Content
Python needs to be recompiled to use a different CRT, and that will break all existing extension modules (.pyd's). That said, in some situations it is the right answer, typically because existing extension modules would be broken anyway, but I don't think that applies here.

To load msvcr90.dll, you need to declare in your executable which version you want to use using a manifest. This enables side-by-side use of the CRT, so different programs can use different versions and they are all managed by the operating system (for security fixes, etc.). Otherwise, you get hundreds of copies of the CRT and they are likely to be lacking the latest patches.

A way to hack in the manifest is to put it alongside the executable. You could take the file from http://stackoverflow.com/questions/27389227/how-do-i-load-a-c-dll-from-the-sxs-in-python/27392347#27392347 and put it alongside the MATLAB executable as "matlab.exe.manifest" or whatever, which avoids having to get Mathworks involved, and that might allow you to load msvcr90.dll. If they've already embedded a manifest into the executable (which is very likely), then I don't know which one will win or what effects may occur if the original one is ignored.
History
Date User Action Args
2015-06-11 21:18:17steve.dowersetrecipients: + steve.dower, paul.moore, tim.golden, zach.ware, eryksun, erik flister
2015-06-11 21:18:17steve.dowersetmessageid: <1434057497.49.0.0447540985136.issue24429@psf.upfronthosting.co.za>
2015-06-11 21:18:17steve.dowerlinkissue24429 messages
2015-06-11 21:18:16steve.dowercreate