When I try to run an MSI using a Python command of the form similar to
subprocess.call(["msiexec.exe", "/i", "myinstaller.msi", "/log", "myinstalllog.log", "INSTALLDIR=\"C:\Program Files\InstallDirectory\""])
it fails to install and instead I just get the Windows Installer popup window explaining the available command line options. It works if I use a different INSTALLDIR argument containing no spaces (and without the escaped quotes). I can also run the msi from os.system, but this is unsuitable for my intended purpose as I need Python to wait until the installation is complete.
after re reading what you'd put i thing the problem is not actually your quotes, but the slash characters in the string acting as escape characters when they shouldn't be, what i did for testing was create a parent script:
and a child script:
notice that in the parent script i have changed:
to:
this way the slashes are definitely slashes and not escapes.