[Bug 13536] ThinkWave Educator installer launches MDAC 2.8 installer with invalid command line (MSI command line property quote parsing)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 16 13:40:17 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=13536

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |msi
            Version|unspecified                 |1.0-rc2
            Summary|MDAC 2.8 installer is       |ThinkWave Educator
                   |launched with invalid       |installer launches MDAC 2.8
                   |command line syntax in      |installer with invalid
                   |ThinkWave Educator          |command line (MSI command
                   |installer                   |line property quote
                   |                            |parsing)

--- Comment #5 from Anastasius Focht <focht at gmx.net> 2011-06-16 13:40:16 CDT ---
Hello,

confirming, still present.
The MDAC 2.8 installer command line is stored in MDAC28_INSTALL_CMD property in
msi database and contains quotes.
Dumping with Orca:

Custom action table:

--- snip ---
InstallMDAC28.E7D6BCFA_9BFA_49D4_A1EE_767B7FD61E38    66   
NewBinary1.E7D6BCFA_9BFA_49D4_A1EE_767B7FD61E38    [MDAC28_INSTALL_CMD]
--- snip ---

Property table:

--- snip ---
MDAC28_INSTALL_CMD    /q /c:"setup.exe /qn1"
--- snip ---

The InstallShield IDriver process passes all the properties in a huge command
line to Wine MSI, some of them double quoted:

The relevant part of command line:

--- snip ---
Wine-dbg>x/u szCommandLine+18666
MDAC28_INSTALL_CMD="/q /c:""setup.exe /qn1""" MDAC28_INSTALL_SEQ=EXEC
MDAC28_REBOOT_NOW=0 MDAC28_SETUP_VER=2.80.1022.3
MS.1E64E430_36E0_11D2_A794_0060089A724B=C:\windows\system32\
MS.3207D1B0_80E5_11D2_B95D_006097C4DE24=C:\windows\system32\ MS.3207D1B6_80 ...
--- snip ---

Corresponding trace where Wine msi sets the parsed MDAC28_INSTALL_CMD property:

--- snip ---
0045:trace:msi:msi_parse_command_line Found commandline property
L"MDAC28_INSTALL_CMD" = L"/q /c:\"setup.exe /qn1\" MDAC28_INSTALL_SEQ=EXEC
MDAC28_REBOOT_NOW=0 MDAC28_SETUP_VER=2.80.1022.3
MS.1E64E430_36E0_11D2_A794_0060089A724B=C:\\windows\\system32\\
MS.3207D1B0_80E5_11D2_B95D_006097C4DE24=C:\\windows\\system32\\
MS.3207D1B6_80E5_11D2_B95D_006097C4DE24=C:\\windows\\system32\\ MS.3207D1B9"...
0045:trace:msi:msi_set_property 0x1b4618 L"MDAC28_INSTALL_CMD" L"/q
/c:\"setup.exe /qn1\" MDAC28_INSTALL_SEQ=EXEC MDAC28_REBOOT_NOW=0
MDAC28_SETUP_VER=2.80.1022.3
MS.1E64E430_36E0_11D2_A794_0060089A724B=C:\\windows\\system32\\
MS.3207D1B0_80E5_11D2_B95D_006097C4DE24=C:\\windows\\system32\\
MS.3207D1B6_80E5_11D2_B95D_006097C4DE24=C:\\windows\\system32\\ MS.3207D1B9"... 
--- snip ---

Because of erroneous quote parsing, the properties following are also treated
as belonging to MDAC28_INSTALL_CMD property, hence the faulty command line for
MDAC 2.8 installer later.

Code:
http://source.winehq.org/git/wine.git/blob/4c9c50d86b475f2531f841c0ad1176470e89cc0f:/dlls/msi/action.c#l201

$ sha1sum twe28132.exe 
325d91bdddf24de11901b6b18a3f51c2ed19e338  twe28132.exe

$ wine --version
wine-1.3.22-129-gdad3342

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list