On the one hand a XML based MSI generator could be easier to maintain.
I've looked at it, and I seriously doubt that. In WiX, you need to specify a fixed file list (perhaps with wildcards; I'm unsure). This will be tricky for Python, where the list of files to be installed changes all the time.
You *need* to have a turing-complete packing language (such as Python).
On the other hand it would introduce another dependency to a 3rd party tool and things may get complicated if we leave the road. Automation tools tend to make common things really easy but special and uncommon stuff really hard.
Exactly so. When I started with MSI generation, and tried what comes with Visual Studio, and found it unusable - it did not support Itanium, and could not be changed to support it.