https://bugs.winehq.org/show_bug.cgi?id=57024
Bug ID: 57024 Summary: msiexec parses quotes in public properties differently from Windows Product: Wine Version: 9.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: asger@tyilo.com Distribution: ---
Created attachment 76873 --> https://bugs.winehq.org/attachment.cgi?id=76873 test.c
When installing an msi package using msiexec on Windows the following invocation (using cmd) will result in `MY_PROPERTY` being set to `foo"bar`:
``` msiexec /i my_property.msi /qn MY_PROPERTY="foo""bar" ```
When running it through wine the property is set to `foobar` (without the double quote).
To test this I have created a test msi, called `my_property.msi`, that when installed will create the file `my_property.txt` next to `my_property.msi` with the contents of the `MY_PROPERTY` property. (After that the installation will fail.)
Furthermore, to ensure that this is not due to shell handling of the arguments, I have created a c program which invokes msiexec (attached as test.c).
Compiling this test program and running it on Windows results in: ``` C:\test>a.exe C:\test\my_property.msi
C:\test>type my_property.txt foo"bar ```
Doing the same on Linux results in: ``` /tmp/test $ rm -rf ~/.wine /tmp/test $ export WINEARCH=win64 /tmp/test $ winecfg /v win10 /tmp/test $ wine a.exe Z:\tmp\test\my_property.msi /tmp/test $ cat my_property.txt foobar ```