
I've added a bit of documentation on using the 2.4 MSI package, at http://www.python.org/2.4/msi.html If you think something is incorrect, or should be added, please let me know (or change it yourself if you can). Regards, Martin

I've added a bit of documentation on using the 2.4 MSI package, at
http://www.python.org/2.4/msi.html
If you think something is incorrect, or should be added, please let me know (or change it yourself if you can).
That looks nice (even though I misread your email and thought I would be looking at documentation on *building* the MSI.) Your document on *using* the MSI has a much wider audience. Out of interest, why can't we "advertise"? Mark.

Mark Hammond wrote:
That looks nice (even though I misread your email and thought I would be looking at documentation on *building* the MSI.) Your document on *using* the MSI has a much wider audience.
Out of interest, why can't we "advertise"?
To advertise, we would need the Extension table, and the Verb table for extensions. I have tried to fill them out, and couldn't get it to work: - The extension table associates (conceptually) a single binary with the extension. That binary is specified through the Component_ field of the Extension record, and is the keyfile of the component. So we would associate: .pyw: pythonw.exe .pyc: python.exe .py: python.exe - The verb table then only adds *additional* command line arguments; the executable is always the same. Unfortunately, "Edit with IDLE" always invokes pythonw.exe, even for .py files. Just not advertising "Edit with IDLE" might have been an option, but I did not try to implement that approach. Currently, extensions are authored directly into the Registry table. To advertise short-cuts, there is already code in msi.py which works mostly correctly. Unfortunately, after a fresh install, the icons are not displayed - you have to activate the shortcut once to make the icon show up. I *believe* this is because we use the wrong form of icon: In the description of the Icon table, it says "However, Icon files that are associated with shortcuts must be in the EXE binary format and must be named such that their extension matches the extension of the target." I don't know how to generate the EXE binary format from the ICO format that we currently have - feel free to experiment with that if you are curious. The other issue with advertised shortcuts is, of course, that installer invokes a repair installation if the key file goes away - which may or may not be a good thing. Regards, Martin

Mark Hammond wrote:
That looks nice (even though I misread your email and thought I would be looking at documentation on *building* the MSI.)
I'm willing to work on this, but I need some guidance. As you might have seen, I have now added notion of a config.py which controls how the MSI is built. This gives independence from the source directory, and allows for multiple check-outs of the msi directory, each for a different Python build and version (I have currently two of them: one for 2.4, and one for 2.4-Itanium). This config.py is documented in msi.py. As for more documentation on the mechanisms of msi.py itself: I have asked a colleague to go through the file and comment on parts of Python code that might be unclear. However, I have the concern that all his questions are likely answered in MSDN - so I'd be really curious what documentation is lacking that is *not* part of MSDN. Regards, Martin
participants (2)
-
"Martin v. Löwis"
-
Mark Hammond