How do I specify the default install path of an msi in cx_freeze and distutils?
Distutils is rather limited in functionality when it comes to creating installers. I would suggest you use NSIS instead. Its quite simple and lets you customise a lot more than distutils.
The other way would be to manually add --initial-target-dir to the argument list in setup.py (before calling the setup
function):
if 'bdist_msi' in sys.argv:
sys.argv += ['--initial-target-dir', 'c:\default\path']
It appears that in the current version, adding the following to your setup script provides the same functionality:
setup(
...
options={'bdist_msi': {'initial_target_dir': 'C:\\alternate\\start\\path'}}
...
)
Note that it requires the backslash, not the forward slash.