[Bug 9628] msiexec command line parsing incorrect
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Nov 23 17:15:09 CST 2007
http://bugs.winehq.org/show_bug.cgi?id=9628
--- Comment #5 from Darragh Bailey <felix at compsoc.nuigalway.ie> 2007-11-23 17:15:08 ---
I had to increase the string length limit on the function dbgstr_wn to be able
to see what CreateProcessW was actually passing as the command line when
calling msiexec.
trace:process:CreateProcessW app (null) cmdline
L"\"c:\\windows\\system32\\msiexec.exe\" /I
C:\\windows\\temp\\IXP002.TMP\\XLVIEW.MSI CDCACHE=\"2\" LAUNCHEDFROMSETUP=\"1\"
SETUPEXEPATH=\"C:\\windows\\temp\\IXP002.TMP\\\" SETUPEXENAME=\"SETUP.EXE\"
/lpiwaeo \"C:\\windows\\temp\\Microsoft Office Excel Viewer 2003
Setup(0003)_Task(0001).txt\" CDCACHE=\"0\"
DWSETUPLOGFILE=\"C:\\windows\\temp\\Microsoft Office Excel Viewer 2003
Setup(0003).txt\" DWMSILOGFILE=\"C:\\windows\\temp\\Microsoft Office Excel
Viewer 2003 Setup(0003)_Task(0001).txt\""
The problem appear to the PROPERTY SETUPEXEPATH
SETUPEXEPATH=\"C:\\windows\\temp\\IXP002.TMP\\\"
this actually appears to get to msiexec as
SETUPEXEPATH="C:\\windows\\temp\\IXP002.TMP\"
which causes the command line to msiexec to appear internally as the first set
of trace output in comment 4.
If it is passed instead as
SETUPEXEPATH="C:\\windows\\temp\\IXP002.TMP\\"
then the command line appears internally from msiexec's point of view as
trace:msiexec:main bug 9628: argv[0] = "programs/msiexec/msiexec.exe.so"
trace:msiexec:main bug 9628: argv[1] = "/I"
trace:msiexec:main bug 9628: argv[2] = "C:\windows\temp\IXP002.TMP\XLVIEW.MSI"
trace:msiexec:main bug 9628: argv[3] = "CDCACHE=2"
trace:msiexec:main bug 9628: argv[4] = "LAUNCHEDFROMSETUP=1"
trace:msiexec:main bug 9628: argv[5] =
"SETUPEXEPATH=C:\windows\temp\IXP002.TMP\"
trace:msiexec:main bug 9628: argv[6] = "SETUPEXENAME=SETUP.EXE"
trace:msiexec:main bug 9628: argv[7] = "/lpiwaeo"
trace:msiexec:main bug 9628: argv[8] = "C:\windows\temp\Microsoft Office Excel
Viewer 2003 Setup\(0003\)_Task\(0001\).txt"
trace:msiexec:main bug 9628: argv[9] = "CDCACHE=0"
trace:msiexec:main bug 9628: argv[10] =
"DWSETUPLOGFILE=C:\windows\temp\Microsoft Office Excel Viewer 2003
Setup\(0003\).txt"
trace:msiexec:main bug 9628: argv[11] = "DWMSILOGFILE=C:\windows\temp\Microsoft
Office Excel Viewer 2003 Setup\(0003\)_Task\(0001\).txt"
This certainly looks more correct.
So it looks to me that the original patch was correct and actually highlighted
a bug in the command line processing, where a directory path with a trailing
slash
enclosed in quotes would get passed through to the target program incorrectly,
thus mucking up the command line arguments being read in by the target program.
Guess that should probably be logged as a separate bug
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list