Message217902
| Author |
eryksun |
| Recipients |
ellipso, eryksun, ned.deily, tim.golden, zach.ware |
| Date |
2014年05月05日.00:55:49 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1399251353.06.0.403901070894.issue21427@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
This is the first time I've used msilib, but it does appear that the component is marked as 64-bit:
>>> import msilib
>>> msidbComponentAttributes64bit = 256
>>> sql = ("SELECT ComponentId,Attributes FROM Component "
... "WHERE Component='launcher'")
>>> db = msilib.OpenDatabase('python-3.4.0.msi', msilib.MSIDBOPEN_READONLY)
>>> v = db.OpenView(sql)
>>> v.Execute(None)
>>> r = v.Fetch()
>>> r.GetString(1)
'{BE22BD81-ECE5-45BD-83B8-84BA45846A2D}'
>>> attr = r.GetInteger(2)
>>> attr
264
>>> attr & msidbComponentAttributes64bit
256
As it should be according to Tools/msi/msi.py:
http://hg.python.org/cpython/file/04f714765c13/Tools/msi/msi.py#l990
Here's the comment regarding this:
# msidbComponentAttributes64bit = 256; this disables registry redirection
# to allow setting the SharedDLLs key in the 64-bit portion even for a
# 32-bit installer.
# XXX does this still allow to install the component on a 32-bit system?
# Pick up 32-bit binary always
For reference, the Component table:
http://msdn.microsoft.com/en-us/library/aa368007%28v=vs.85%29.aspx |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2014年05月05日 00:55:53 | eryksun | set | recipients:
+ eryksun, tim.golden, ned.deily, zach.ware, ellipso |
| 2014年05月05日 00:55:53 | eryksun | set | messageid: <1399251353.06.0.403901070894.issue21427@psf.upfronthosting.co.za> |
| 2014年05月05日 00:55:52 | eryksun | link | issue21427 messages |
| 2014年05月05日 00:55:49 | eryksun | create |
|