https://bugs.winehq.org/show_bug.cgi?id=57024
--- Comment #5 from Hans Leidekker hans@meelstraat.net --- (In reply to asger from comment #4)
(In reply to Hans Leidekker from comment #3)
Fixed with 14b718b69bb8d62c3ae84c52d4210e81c1d21208. Thanks for the bug report.
You seem to have fixed some cases.
However these cases still fails for me with `wine-9.16-105-g055bddab4f1` (C source code):
execlp("msiexec", "msiexec", "/i", msi_path, "/qn", "MY_PROPERTY=\"foo bar\"", NULL); Got `"foo bar"`, should be `foo bar` execlp("msiexec", "msiexec", "/i", msi_path, "/qn", "MY_PROPERTY=\"\"\"\"", NULL); Got ``, should be `"` execlp("msiexec", "msiexec", "/i", msi_path, "/qn", "MY_PROPERTY=\"\"\"\"\"\"", NULL); Got ``, should be `""` execlp("msiexec", "msiexec", "/i", msi_path, "/qn", "MY_PROPERTY=\"{\"\"foo\"\": [1, 2], \"\"bar\"\": {\"\"baz\"\": \"\"qux\"\"}}\"", NULL); No file created, should be `{"foo": [1, 2], "bar": {"baz": "qux"}}`
Well, there's more than one bug here. The next one is that msiexec adds quotes even when the value is already quoted.