http://bugs.winehq.org/show_bug.cgi?id=13536
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@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@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/4c9c50d86b475f2531f841c0ad1176470...
$ sha1sum twe28132.exe 325d91bdddf24de11901b6b18a3f51c2ed19e338 twe28132.exe
$ wine --version wine-1.3.22-129-gdad3342
Regards